首页 > 技术知识 > 正文

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时序分析。芯片ECO(一)-数字芯片eco指什么

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 concurrently

3、ECO方法

cell swapping

cell resizing

buffer/inverter insertion and deletion

4、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指什么1

转载:全栈芯片工程师

猜你喜欢