打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
元件工艺:IC Complier在低功耗高性能设计中的应用

MCMM的应用

芯片在制造之前需要分析和评估其在各种应用环境下的性能,而现今的应用环境越来越复杂,一颗芯片往往需要工作在多个工作条件和多种工作模式下。要满足、优化所有应用环境的性能要求,并非一件易事。在传统的时序收敛和分析方法下,PR工程师要在不同的工作模式之间来回切换设计约束进行分析优化,以满足同一时序路径在不同工作模式下的时序要求;同时,还要在sign-off分析工具和PR工具之间来回切换多次,以解决在各种工作条件下不同工具之间的寄生和时序计算方法的相关性问题(correlation)。这种方法最大的弊病在于PR工具无法同时覆盖到所有corner和模式下的时序,增加了实现与时序验证两类工具之间切换的次数和手工ECO的时间;并且每次对一个模式或corner的修正,往往会影响到其他模式或corner下的时序,增加了各个模式或corner之间的切换迭代次数。芯片的应用环境越多,切换、迭代次数越多。对于本次设计的4个工作模式、5个工作条件组合而言,工作量可想而知!

ICC对MCMM(multi-cornermulti-模式)的处理变以往的“串行”为“并行”,将所有模式和corner的组合定义成若干个“scenario”,ICC对所有scenario的时序同时分析和优化,并能选择性地同时优化面积和功耗,从而大大减少了时序收敛的迭代次数和设计时间。

 

Scenario的定义

我们选取func1和shift两个模式,与WC、BC、WCL、ML四个corner(暂未考虑Typical),以及对应的寄生模型(TLU+文件)rcworst、rcbest、cworst、cbest,组合成FUNC_WCL_C、FUNC_WCL_RC、FUNC_WC_RC、FUNC_WC_C、SHIFT_WCL_C、SHIFT_WCL_RC、SHIFT _WC_RC、SHIFT_WC_C共8个scenario,并分别为它们指定时序约束、工作条件和寄生参数模型。scenario具体的定义如图2所示。每个scenario中包含了与max和min相应的两个寄生模型和两个工作条件。如图2(b)所列举的FUNC_WC_C,它采用cworst和cbest分别作为其相应max、min下的寄生模型;采用WC和BC分别作为其相应max、min下的工作条件。如此,8个scenario就覆盖了2个工作模式、4个工作条件和4种寄生模型的相应组合。

 

基于MCMM的布局优化

定义过各种scenario后,即对所有的scenario进行布局和时序优化。ICC目前的版本还不支持CTS阶段的MCMM功能,因此我们在时钟树综合的时候,选取FUNC_WC_C作为CTS_scenario。

 

 


 

图2. Scenario定义。

 

在CTS前后的时序优化我们分别采用8个scenario来同时优化各个模式和工作条件下的所有时序问题。

 

图3. MCMM Optimization in Placement Stage.

 

图3.布局的MCMM优化。

 

 

优化结果

 

 


在place和CTS后的阶段同时对8个scenario下的所有时序路径进行优化。命令如上节所述。限于篇幅,仅挑选列举出CTS后两个时钟域在FUNC_WC(L)_C、SHIFT_WC(L)_C四个scenario下同步优化的QoR,如表1所示。

 

 

表1.CTS之后MCMM的QoR优化。

 

 

与Astro的比较

我们将BlockA分别在PC+Astro和ICC两个流程中优化时序,Astro流程采用顺序串行处理MCMM,ICC采用同步并行处理MCMM,两个流程如图4所示。为了快速得到两个流程的比较结果,选取FUNC_WC_C、SHIFT_WC_C两个scenario分别在ICC和Astro中进行CTS后的时序优化。

 

 

 

图4. ICC与Astro MCMM优化的对比。

 

 

从流程图来看,ICC的MCMM流程显然简单,仅需设计师定义若干scenario,工具就能同时处理所有corner和模式下的时序优化;而Astro采用“串行”方式,在两个scenario之间切换、迭代的次数不可预知,需要加入相当多的人工判断和干预。

 

表2. ICC与Astro布局之间之后的物理信息。

 

 


 

两个流程在CTS后的优化,都能基本满足时序要求,但Astro流程中max transition的DRC violation明显多余ICC;此外,ICC优化后电路单元的个数多于Astro流程,但总的面积反而小。表2为两套流程在CTS后的物理信息。

我们还比较了两个流程在CTS前后布局和优化的运行时间,如图5。

 

 

 

 

图5. ICC与Astro运行时间对比。

 

 

其中,左图显示了ICC采用不同scenario策略在CTS后优化时序所用的时间。同时激活两个scenario(FUNC_WC_C、SHIFT_WC_C),ICC优化时间为1.5小时;仅激活FUNC_WC_C,ICC优化耗时1.3小时;仅激活SHIFT_WC_C,ICC优化耗时0.5小时。由此可以看出,ICC的MCMM并行优化时间并非简单地将优化每个scenario的时间叠加,相比“串行”优化,其运行时间有明显优势。

图5的右图显示了两套flow在CTS前后做place优化所用的时间。ICC流程在CTS前的布局和优化中激活了FUNC_WC_C和SHIFT_WC_C两个scenario,用时4.2小时;而PC+Astro流程在CTS前仅考虑FUNC模式,用时稍短,约为3.3小时。CTS后,ICC激活两个scenario,同时优化时序,经过两次“psynopt”优化,达到时序要求,耗时仅1.5小时;而Astro每次只能加载一个时序约束,两种模式下的时序优化彼此影响,需要4~5次反复迭代才能满足时序要求,耗时将近3小时。BlockA仅包含不到30万个电路单元,在两种工作模式、两个工作条件下进行MCMM的并行优化比Astro串行方式节省了近50%的时间。由此可以想象,ICC的MCMM并行优化方式在大规模、多模式、多工作条件的设计中,在单一命令优化时间长的routing后阶段,将节省不少时间。这对于PR工程师来说,绝对是个好的手段。

 

 

CTS

Block A是模块级的设计,时钟结构比较简单——包含2个功能时钟和2个测试时钟。

ICC做CTS后的结果及其与Astro的比较如表3所示。从表中结果来看,ICC在做时钟树上的耗时超过Astro;但最后的CTS结果,无论从skew还是latency来看,ICC均优于Astro。

 

表3.在CTS上ICC与Astro的对比。

 

 

 


BlockA作为芯片CPU,对其速度的要求当然是越快越好。为研究ICC对芯片速度优化的能力,我们将设计约束加严,主时钟ZSPCLK的频率由原先的172MHz提高到200MHz。在加严的时序约束下做CTS前的place优化,得到超过2000条ViolationPath,其中WNS为-0.546ns。我们在CTS阶段采用useful skew的方式,进一步优化时序、提高速度,具体操作可参见图6。

 

 

 

 


 

图6.带有useful skew的CTS脚本。

 

skew_opt后,在当前目录下产生一个skew_opt.tcl,会根据CTS前的时序,为每个register的sink端提供一个合理的时钟latency值,作为下一步CTS的参考;并为有数据通路的时钟域创建inter-clock balance的group。采用usefulskew作为CTS策略后,设计整体的skew变大,但原本violation很大的path由于skew的优化调整,时序可以提高0.3ns,整个design的WNS减至-0.2ns,大大提高了整个设计的速度。采用skew_opt前后的QoR比较如表4。

 

 

表4.skew_opt前后的QoR比较。

 

 


 

我们也尝试了在Astro中利用skew_opt,进一步提高设计的频率。从最后的时序分析来看,Astro通过useful_skew_opt命令,将WNS从-0.496ns优化到-0.335ns。

 

低功耗技术在ICC流程中的应用

如前所述,本文提及的设计实例应用于无线可移动设备,需采用Multi-VDD,Multi-Supply、Multi-Vt等多种低功耗技术以适应市场需求。

在power规划上,为降低系统功耗,在顶层将设计根据供电电平的不同和关断与否的要求划分成3个区域。我们在ICC中创建了三个VoltageArea,分别对应DC中创建的三个Power Domain。图7给出了创建VoltageArea后局部的floorplan。三个电压域分别对应于图中黄、红、绿3个区域,具体为:

1. 包括系统控制和IO复用配置的1.2V不可关断电压区(Always on Area,黄色);

2. 包括外设和系统总线的1.2V可关断电压区(Shut-Down Area,红色);

3. 包括处理器及其应用模块的0.7V/1.0V可变电压区(Multi-VDD,绿色)。

电压区两两之间的信号由Level-shifter(LS)和Isolation cell(ISO)连接、隔离。多电压区中两组power net之间用Multi-Threshold CMOS(MTCMOS)连接。

 

 

 

Always on Area

 

   1.2V

Shut-Down  Area

1.2V / 0V

Multi-VDD

0.7V / 1.0V

 

 

图7.创建Voltage Area后局部的floorplan。

 

在低功耗的实现上,我们在逻辑综合的阶段完成了power domain的划分,LS、ISO的插入,以及ClockGating;在物理实现的阶段,借助IC Compiler,实现了Voltage Area及其相应Powernet的创建、规划和连接,MTCMOS的插入、摆放和连接,LS 和 ISO的摆放,以及门级的power优化:

1. create_voltage_area:生成对应Power Domain的各个电压区域VA;

create_power_net_info,connect_power_domain:创建各个电压域的电源/地 net,并进行逻辑连接;

2. add_header_footer_cell_array,connect_pg_nets:插入MTCMOS,并对其进行PG连接;

3. place_opt –power,clock_opt –power,route_opt –power:对design进行VA-aware的布局、布线和时钟树综合,并优化门级power(leakage power、dynamic power)。

ICC中的低功耗技术实现起来非常简单。在Floorplan阶段,VA的创建、power的连接、MTCMOS的插入仅需几条命令;在P&R阶段,ICC支持基于不同电源域的物理布局和时序优化,能在place、cts、route各阶段为每个电压域中的cell自动加载相应的operating condition和时序 library,这些过程在PR工程师看来,与从前传统流程的操作无异。

表5给出了经过place、cts、route各阶段power优化后Block A的leakage power、dynamicpower,及其与power优化前的比较。从结果来看,进行power优化与否,其dynamic power值相差14.41%,leakagepower相差38.08%;进行power优化后,design的面积也有所下降。我们也对IC Compiler和PhysicalCompiler在Post-Place的leakagepower优化性能上,作了简单比较,结果显示在post-place过程中仅优化leakage power,ICC比PC降低超过10%。

 

 

 

 *


 

 

表5.有无功率优化的比较

 

 

表6给出了PrimeRail分析的功耗信息。其中,a)中描述了Multi-VDD区域中供电电压分别为1.0V和0.7V时相应的DynamicPower和Leakage Power;b)中描述了Multi-Supply区域中供/断电时相应的LeakagePower。从表中可以明显的看出,通过LowPower技术的应用,设计的功耗可以大大降低。

 

表6.VDD/多电源区的功耗。

 


 

 

 

总结与展望

采用ICCompiler流程,是我们在90nm、低功耗、高性能芯片后端设计上的一个新的尝试。本文在优化结果、运行时间、实现难易等方面,详细给出了ICC与传统流程的各种比较。工具引入的新技术——如MCMM同步优化、PowerGating插入等——大大节省了设计实现的时间,也为PR工程师解决了大部分手工干预的难题。更重要的是,ICComplier为用户提供了一套完整的低功耗设计的解决方案。而在一些传统的优化步骤上,ICC也显示了其更优秀的性能。从本文所举的设计实例来看,ICC的时钟树综合无论从latency还是skew来看,都优于Astro;在门级功耗的优化上,ICC的降低leakagepower的效果也优于PC;此外,ICC通过skewopt的方式,能将时序进一步优化0.3ns以上,为提高设计速度、电路性能提供了一个很有效的优化手段。

作为新工具、新流程,ICC为深亚微米尺寸的后端设计提供了强大的技术支持,在优化能力上也表现不凡。但在整个流程实现的过程中,我们也遇到了一些小问题,在此提出,希望能够改进:

1. ICC的图形界面操作性不够强大,尤其在显示速度、菜单操作上需要改进;

2. 希望能在post routing阶段增加一些用户可控的,有针对性的时序收敛手段和命令。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
IC Compiler II(ICC II)后端设计流程
WC不洗手~
某WC里的洗手池 你見過嗎?
Signoff 介绍——scenario
机器学习中训练和验证指标曲线图能告诉我们什么?
WordCloud 中英文词云图绘制,看这一篇就够了
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服