形貌
如今的集成电路(Integrated Circuit,IC)计划通常要求芯片包罗多个工作模式,而且在差异工艺角(corner)下能正常工作。工艺角和工作模式的增长,无疑使时序收敛面临极大挑衅。本文先容了一种在多工艺角多工作模式下快速实现时序收敛的技术---MCMM(Multicorner-Multimode)技术,该技术将工艺角和模式举行组合,对时序同时举行分析和优化,到达快速实现时序收敛的目标。该技术应用于一个80万门基于TSMC 0.152μm logic 工艺的电力网载波通讯(PLC)芯片计划,计划实例表明,使用MCMM 技术不但可以办理时序难以收敛的标题,而且大大降低了芯片计划周期。
1 弁言
随着集成电路工艺的不停发展,芯片受工艺、电压、温度(Process、Voltage、Temperature,PVT)的影响越来越严肃,需要使用更多的工艺角来包管芯片在差异条件下能稳固工作;与此同时,随着芯片测试需求的增长和功能的增强,芯片的工作模式也在不停增长,这给芯片版图计划者带来了一系列的困难,此中最困难的固然是怎样快速实现时序收敛,紧缩计划周期。计划者必须包管芯片在雷同工作模式差异工艺角下的时序收敛,当工艺角和工作模式数量多的时间,使用传统的方法来实现时序收敛绝非一件易事,需要大量的人工工作举行大量反复迭代,分析并消除模式之间的影响,有时以致会出现时序难以收敛的情况。我们实验室计划的PLC 芯片,正是接纳了Synopsis 公司IC Compiler 软件的MCMM 计划技术,完全放弃了传统的时序收敛方法,有效加速了实现时序收敛,紧缩了计划周期。
2 传统的时序收敛实现方法
在传统的时序收敛和分析方法下,版图计划工程师需要在差异的工作模式之间往返切换计划束缚举行分析优化,以满足同一时序路径在差异模式下的时序要求,如图1所示。
从图1中可以看出,这种方法的缺点是版图工具无法同时覆盖到所有模式下的时序,必须以串行的方法来修复各个模式的时序,还必须包管修复过程中模式之间没有影响,这无疑增长了各个模式之间的切换迭代次数和人工手动ECO 的时间。如果芯片的工艺角和模式越多,切换迭代次数就越多,工作量会大到让计划者难以担当的田地。
3 基于MCMM 技术
快速时序收敛实现方法MCMM 技术实现时序收敛的根本头脑是,工艺角和模式构成场景(scenario),版图计划软件IC Compiler"吃进"所有scenario 的时序束缚,激活关键的scenario,让软件自行评估和优化。同一条违例时序路径大概出如今差异的scenario中,评估这条违例路径在差异scenario中的时序裕量巨细,比方一条路径在scenario1 中的裕量为-1,在scenario2中的裕量为-0.2,则以为其在scenario1中的权重更高,在权重最高的scenario1 中举行修复。具体流程如图2所示。
很显着,与传统方法相比,MCMM 技术将时序收敛的处理惩罚变以往的"串行"为"并行",而且模式之间的影响完全交给版图软件来分析,省去了人工手动ECO的工作,从而大大镌汰了时序收敛的迭代次数和计划时间。
4 应用举例
以实验室一款PLC芯片为例,具体先容怎样使用MCMM技术来加速时序收敛。
4.1 scenario 的界说
该芯片有2 种正常工作模式,时钟频率分别是90Mhz和60Mhz,3种DFT 测试模式,分别是shift模式,capture 模式和mbist 模式,需要工作在两个工艺角下,WCCOM 和BCCOM,也就是5种模式2个工艺角构成了10 个scenario,每个scenario 指定对应的寄生模型(TLU+ 文件),worst 和best,如表1所示。在WCCOM工艺角下查抄创建时间(setup time),在BCCOM 工艺角下查抄保持时间(hold time)。
4.2 基于MCMM 的时序收敛实现
在同时激活10 个scenario 的情况下,会出现服务器内存溢出,死机等状态,导致计划无法顺遂举行。我们对这10 个scenario 举行了分析,此中MBIST_MAX,SHIFT_MAX,CAPTURE_MAX,MISSION 60_MAX 这4 个scenario 中,时钟频率最大的是MISSION60_MAX 中的60MHz,别的三个scenario 时钟频率只有10MHz,创建时间裕量都在9.9ns 以上,纵然在修复过程中不激活,修复别的scenario 时带来的影响在遭受范围之内,也不会对后续的绕线产生影响;在MISSION90_MAX 这个scenario中,时钟频率是90MHz,创建时间固然没有违例,但是留下的裕量只有0.84ns,不敷以抵抗修复别的scenario时带来的影响;剩下的5 个scenario 中,都有保持时间违例,必须举行修复。基于以上分析,我们选择同时激活MISSION90_MAX, MISSION_MIN, MISSION 60_MIN, MBIST_MIN, SHIFT_MIN, CAPTURE_MIN这6个关键scenario 举行时序收敛,具体脚本如下:
set_active_scenarios {MISSION90_MAX MISSION90_MIN MISSION60_MIN MBIST_MIN SHIFT_MIN CAPTURE_MIN}(激活关键scenario)foreach scenario [all_active_scenarios] {current_scenario scenario set_clock_uncertainty -hold 0.2 [all_clocks]set_clock_uncertainty -setup 0.6 [all_clocks] set_prefer -min{tcb0152gbwp7twc/DEL015BWP7Ttcb0152gbwp7twc/DEL02BWP7T}set_fix_hold_options -preferred_buffer set_fix_hold [all_clocks]}(设定每个关键scenario 的时序裕量,用指定的std cell 来修复hold timing)update_clock_latency(更新clock 耽误)psynopt(举行时序修复)
4.3 效果分析
经以上使用,6个scenario 的时序路径同时颠末优化之后,效果如表2 所示。
表2中效果表明,险些所有模式都已经满足了时序要求, 只有MISSION90_MAX 的scenario有setup 时序的违例,为了修复该违例,只需激该死scenario,重新一次“psynopt”就可以到达时序要求。
我们也尝试用传统方法来修复该芯片的时序,由于模式数量多,导致模式间往返切换次数多于20次,加上模式之间时序干扰严肃,人工到场分析工作量很大,时序收敛所需要的时间远远多于用MCMM技术所花的时间,MCMM 技术上风非常显着,具体效果如表3所示。
5 结语和预测
本文先容了IC Compiler 的MCMM 同步优化技术,用一个计划实例叙述该技术的具体实现过程,效果体现大大节省了计划时间,也为版图计划工程师办理了人工分析干预的困难,具有肯定的现实应用代价。在计划过程中我们从CTS 阶段后才开始接纳MCMM 技术来到达芯片时序收敛的目标,在以后更复杂,要求更高的计划中,把MCMM 技术应用到一些关键步调中,比如逻辑综合和place 等,而且综合思量芯片功耗标题。
界说scenario 的具体脚本如下:
create_scenario MISSION90_MAX (创建一个名叫MISSION90_MAXX 的scenario)set_operating_conditions \
-analysis_typeon_chip_variation \-max_library tcb0152gbwp7twc \-max WCCOM(指定时序分析范例和对应corner下的lib 库)set_tlu_plus_files \-max_tluplus ./test/cl0152g_lp6m_worst.tlup \-tech2itf_map ./techfiles/tluplus/star.map_6M(设定相应corner 的RC 寄生模型)source . /netlist /KOALA_ASIC_TOP_compiled_pass3_mission_90_mode_post.sdc(读入该模式的时序束缚文件)。
原文链接:http://qikan.cqvip.com/Qikan/Article/Detail?id=49362964 |