1、ECO flowECO通常包含timing ECO,function ECO,我们本节看看timing ECO。timing ECO通常先将PD设计加载到tempus进行timing signoff分析,通过eco_opt_design等命令fix remaining timing violations,并产生ECO脚本,在innovus中执行ECO脚本后,QRC提取寄生参数, 再次进行tempus时序分析。
2、ECO目标
Hold timing
Setup timing
Design Rule (max_cap/max_tran)
SI violations (SI Slew, SI Xtalk and SI Glitch)
Reduces Power and Area: Area reduction Leakage power reduction Dynamic power reduction Leakage and dynamic power reduction concurrently3、ECO方法
cell swapping
cell resizing
buffer/inverter insertion and deletion4、ECO脚本
batch mode下,tempus的ECO Timing DB文件可以通过eco_opt_design命令自动生成,脚本如下:read_lib $libertyread_lib -lef $lefread_verilog $netlistset_top_module my_topsource viewDefinition.tclread_def $def_filesource spef.tclset_distribute_host -localset_multi_cpu_usage -localCpu 8 -remoteHost 2 -cpuPerRemoteHost 4eco_opt_design -hold在芯片规模较小时,analysis view少于8个时,我们可以自己生成ECO Timing DB,然后在single Tempus session下逐个完成timing ECO。
read_lib $libertyread_lib -lef $lefread_verilog $netlistset_top_module my_topsource viewDefinition.tclread_def $def_filesource spef.tclset_distribute_host -localset_multi_cpu_usage -localCpu 8#注意,下面先保存的ECO Timing DB: myEcoTimingDBset_eco_opt_mode -save_eco_opt_db myEcoTimingDBwrite_eco_opt_dbset_eco_opt_mode -load_eco_opt_db myEcoTimingDBeco_opt_design -hold完成timing ECO后,在tempus工作目录下会生成eco_innouvs.tcl脚本用于innovus完成增量ECO布局布线。
若innovus eco route后有较多DCR violation,可以通过ecoRoute -fixDrc来修复,不一定能100%修好,部分可能需要手动修复。
感谢阅读,别走!点赞、关注、转发后再走吧
转载:全栈芯片工程师
免责声明:文章内容来自互联网,本站不对其真实性负责,也不承担任何法律责任,如有侵权等情况,请与本站联系删除。
转载请注明出处:芯片ECO(一)-数字芯片eco指什么 https://www.yhzz.com.cn/a/10182.html