新Galaxy平台对面积和功耗的显著优化.docx
- 文档编号:10526075
- 上传时间:2023-05-26
- 格式:DOCX
- 页数:15
- 大小:1.45MB
新Galaxy平台对面积和功耗的显著优化.docx
《新Galaxy平台对面积和功耗的显著优化.docx》由会员分享,可在线阅读,更多相关《新Galaxy平台对面积和功耗的显著优化.docx(15页珍藏版)》请在冰点文库上搜索。
新Galaxy平台对面积和功耗的显著优化
新Galaxy平台对面积和功耗的显著优化
——基于一款音视频处理芯片的实际应用
周炯,金孝
杭州市兰微电子股份有限公司后端设计技术部
摘要
随着半导体制造工艺的缩小,数字芯片设计收敛面临越来越大的挑战。
时序,面积,功耗往往最后的结果和最初的设计期望有很大的出入。
本文介绍最新的Galaxy平台在timing,area,power方面给我们音视频处理芯片带来的显著效果。
关键词:
Area,Timing,power,clockgating,GalaxyPlatForm
当前,我国IC产业正在以前所未有的高速度发展着,芯片的工作速度越来越快,工艺尺寸越来越小,设计规模越来越大。
这样,势必对芯片设计师的要求日益增高。
我们既要追求芯片的性能,面积,又要保证芯片设计流程的高效,以此不落后市场的步伐。
因此,在提高我们设计师的水平同时,合理的利用EDA设计平台,充分的利用EDA设计工具,将会使我们的设计工作事半功倍。
芯片介绍
该芯片是杭州士兰微电子股份有限公司的一块音视频处理芯片,前一版本工作频率在150M,面积为29.14mm^2。
根据本次项目的设计要求,此款音视频处理芯片的工作频率应不低于150MHz,采用GSMC0.15μmCMOS工艺,芯片尺寸(包括PAD)不超过5.5mm×5.5mm,功耗不超过1W,后端设计和验证的周期不超过4周。
为此,我们选择了Synopsys最新的Galaxy平台。
RTL网表综合使用DesignCompiler,时序验证使用PrimeTime,功耗分析使用PrimeTimePX,形式验证使用Formality,后端布局布线使用Jupiter+Astro。
音视频处理芯片的门级优化,主要是在逻辑综合阶段进行的,此次我们采用了最新版本的DesignCompile-2007-SP3对音视频处理芯片行逻辑综合,以期达到比此款音视频处理芯片老版本具有更好的时序面积和功耗上的优化效果,下面是此款音视频处理芯片的门级优化流程
后端设计流程
GalaxyDesignPlatform
设计流程
时序面积的优化
我们采用DesignCompile-2007-SP3新版本中全新的算法compile_ultra–timing_high_effort_scripts来对本次设计进行时序的优化。
compile_ultra是一种对时序路径进行高度深层次计算算法,他保证了更好的时序质量。
compile_ultra运用了two-passcompilestraegy,其中的算法过程包括了以下部分:
-Timing-drivenhigh-leveloptimization
-Macroarchitectureexplorationforarithmeticoperations
-SelectionofthebestdatapathimplementationsfromDesignWarelibraries
andModuleCompilercomponents
-Widefaningatemappingtoreducelevelsoflogic
-Aggressivelogicduplicationforloadisolation
-Auto-ungroupingofhierarchiesalongthecriticalpaths
-Design-for-test(DFT)flowsupport(test-readycompile)
对于面积的约束,我们采用大家惯用的设置,set_max_area0。
以期让DesignCompiler最大限度的对面积进行优化
对于时序约束文件,我们首先需要和前端进行充分的沟通研究,然后作了以下这些设置:
一、基本时钟定义create_clock,create_generate_clock
二、输入输出延迟,input_delay,output_delay
三、对于一些不相关的路径set_false_path
四、音视频处理芯片有很多模拟模块,因为他们的时序不容易分析,同时这些模拟模块会影响到数字部分的时序,因此我们在保证建立这些模拟模块之前对它们的时序性能进行充分的验证。
在这里综合的时候我们对它们设置了set_disable_timing,从而不对他们进行时序分析
五、有些路径有同步要求,但是允许有多个clockcycle的裕量,因此我们对这些路径set_multicycle_path
六、因为DesignCompiler默认一个clockdomain为一个timinggroup,在每个group里,当时序最差路径无法优化的时候DC就不再继续优化下去了。
因而我们有必要对某些特殊时序路径进行group,让dc参与更多的group进行单独优化。
同时对每个group设置criticalrange,使得在criticalpath附近一定范围内的pathviolation也进行优化,优化这些subcriticalpath也可能会帮助优化criticalpath。
具体的设置命令是:
set_critical_range0.05[current_design]
Group_path–nameI2R–from[all_inputs]
当然,第一次综合的时候我们有时候无法考虑完全,也许综合结果会出现很多criticalpath,所以timingconstraints中很多设置都是经过多次综合之后发现并同前端讨论陆续添加上去的,比如一些之前没有考虑到的falsepath和multcyclepath等
设置上述之后,我们对芯片进行综合流程上第一步时序综合优化,编译的命令如下
compile_ultra–timing_high_effort_script-scan
“-scan”是为了后面做SCANINSERT做准备,替换所有可用的sequentialcell为scancell。
之后我们做insert_dft来进行扫描链的插入
完成DFT之后我们再进行一次时序和面积的优化,以期对芯片进行更充分的优化,命令如下
compile–inc–map_efforthigh–area_efforthigh–scan
功耗的优化
在我们对此款音视频处理芯片进行了一次完整的初步综合之后,我们分别用PrimeTime,PrimeTime-PX分析了芯片的时序和功耗,其中,芯片时序分析在150M能够通过。
但是分析功耗的时候发现芯片功耗接近1W。
由于音视频处理芯片功耗较大,为了节约成本,提高产品的性能,我们有必要采取一定的措施来对功耗进行进一步的优化,那么,除了修改RTL,其他是否还有什么可行快速的办法来降低芯片的功耗,这是一个值得探讨的问题
我们先简单分析了下功耗的来源
Soc芯片功耗的来源主要来自数字单元,模拟单元,IO单元,存储器单元。
其中数字单元的功耗又来源于时钟的翻转,组合逻辑单元和时序单元。
IO单元的功耗来源于时钟PAD,数字PAD,模拟PAD。
我们逻辑综合的对象主要是数字单元部分,所以我们主要也是针对数字单元的功耗进行优化
Soc芯片功耗类型
芯片在工作的时候,它的功耗很大一部分是由于时钟网络的翻转消耗的,因而我们能否通过某种方办法控制时钟网络翻转来减少不必要的翻转能耗
DesignCompiler可以在综合过程中自动插入clockgating这种结构,来达到降低功耗的作用。
ClockGating原理图
从图中我们可以看到,在不插入clockgating的时候,网络时钟的每一次翻转都会直接造成它所连接的寄存器内部的时钟翻转,这样就会在这些寄存器不需要工作的时候出现大量的能耗浪费。
而当插入clockgating之后,寄存器只有在它工作的时候时钟才会传送到它的CK端,也就是它不工作的时候内部没有时钟翻转能耗。
Clockgating中加入一个latch的作用是使时钟在使能信号控制下不会产生毛刺。
ClockGating的插入
我们只需要在进行compile_ultra之前通过一些命令就可以方便的对elaborate之后的网表进行clockgating结构的插入
下面是插入clockgating的命令
Set_clock_gating_style–sequential_celllatch–control_pointbefore–control_signalscan_enable
Insert_clock_gating–global
Propagate_constraints–gate_clock
Report_clock_gating
设置上述之后,我们对芯片进行第一步时序综合优化,命令不变
compile_ultra–timing_high_effort_script-scan
仍然在insert_dft之后再次进行一次时序和面积的优化
compile–inc–map_efforthigh–area_efforthigh–scan
布局布线
之后我们把综合好的netlist进行了时序分析(PrimeTime)和形式验证(Formality),均通过了检查之后,采用synopsys的Jupiter+Astro工具进行布局布线。
Floorplan
在floorplan阶段,Jupiter拥有的CellandMacroPlacement和PNS(PowerNetworkSynthesis)为我们迅速确定Macro的摆放位置、以及合理的布置电源地网络提供了极大的便利,节省了大量的时间。
尤其是在floorplan阶段能够使用PNS提前考虑IR-Drop的结果,然后根据该结果预先布置好电源地网络,我觉得是非常有帮助,以前在Astro中需要先把电源地网络布好之后做placement,再做IR-Drop分析,如果有问题就必须调整电源地网络,很有可能会需要重新做placement,那样就会需要花费很多时间。
下图是Jupiter的CellandMacroPlacement得到的结果:
CellandMacroPlacement花费的时间比较短,我们可以迅速看到placement的大致情况,来判断Floorplan是否合理:
当然对于局部的Macro必然需要手工调整,Jupiter还有个很好用的FloorplanAnalysis/Editing工具栏,方便我们对Macro进行手工修调:
在本案中Macro比较多,形状大小不一,有了CellandMacroPlacement和FloorplanAnalysis/Editing使我们节省了很多时间、精力,Macro摆放得也更加合理。
下面是PNS的结果,和Astro-rail的结果吻合:
根据PNS的结果,Jupiter可以自动布好电源地线,相当方便:
P&R中clock_gatingcell的处理
在P&R阶段主要提一下clock_gatingcell在placement以及CTS中的处理,其他步骤都没有太多问题。
1.因为我们综合的库里面没有clock-gatingcell,在DC中我们用Latch和Nand组建成一个clock-gatingcell,所以我们在placement的时候就希望这个组合尽量紧密结合。
由于这个组合之间的连线(Latch的Q端到Nand的A端)只连接了这两个cell,我们就考虑通过增加netWeight来使它们靠的更近一些,把所有的这种连线都提取出来写在一个script里面,如下:
netWeight“i_top/clk_gating_Mcu_reg_01/net123”255255
netWeight“i_top/clk_gating_Mcu_reg_02/net123”255255
……
2.在CTS时,Astro会把clock_gatingcell中的那个Latch认为是clocktreeleaf,在balance他和其他register的时候就会有问题,所以我们不希望Astro把它作为leafpin,我们可以通过“astSetClockNonStop”这个命令让clocktree穿过这些Latch,把所有的clock_gatingcell中的那个Latch都提取出来写在一个script里面,如下:
astSetClockNonStop“i_top/clk_gating_Mcu_reg_01/latch”#t
astSetClockNonStop“i_top/clk_gating_Mcu_reg_02/latch”#t
……
GalaxyPlatForm下的优化结果
Ccompile_ultra的Two-passstrategy优化结果
通过compile_ultra的two-passcompilestrategy,我们初步综合最后得到的结果为:
Timing
156M时序通过,slack为0
Area
Power
Clockgating+Ccompile_ultraTwo-passStrategy
用DesignCompile对芯片插了clockgating之后,再进行comgpile,
得到最终综合结果
clockgatingreport
Timing
156M时序通过,slack为0
Area
Power
我们可以明显的看到,在做过clockgating之后,现在的结果和之前没有做clockgating相比,特别是功耗方面做了很大的改善,从880.3mw降到517.6mw。
大约减少了41.2%。
同时,面积也得到了很好的优化,从20553732降到了19205666,大约减少了6.6%。
两次综合的时序均在156M上通过。
布局布线结果
结论
经过新版DesignCompile-2007-SP3的逻辑综合,此次对老版本音视频处理芯片进行了重新的综合,在保证工作频率不变的情况下最终的布图面积从29.14mm^降低到26.22mm^,降低了6.6%,功耗降低41.2%。
而在采用了clockgating之后,两次综合结果对比,功耗降低了41.2%,面积降低了6.6%
最终,此次经过SynopsysGalaxyPlatForm进行版图优化之后,此版芯片面积确定为5.8mm×4.53mm(包括PAD和压焊盘),平均功耗约0.5W,经过后仿验证,此款音视频处理芯片可以工作在150MHz的时钟频率,。
我们最后将采用GSMC0.15μm制造工艺,于近期流片
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Galaxy 平台 面积 功耗 显著 优化