当前位置:首页 > 公众号精选 > 全栈芯片工程师

1、ECO flow


ECO通常包含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:
  1.  Area reduction
  2.  Leakage power reduction
  3.  Dynamic power reduction
  4.  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 $liberty
read_lib -lef $lef
read_verilog $netlist
set_top_module my_top
source viewDefinition.tcl
read_def $def_file
source spef.tcl
set_distribute_host -local
set_multi_cpu_usage -localCpu 8 -remoteHost 2 -cpuPerRemoteHost 4
eco_opt_design -hold

在芯片规模较小时,analysis view少于8个时,我们可以自己生成ECO Timing DB,然后在single Tempus session下逐个完成timing ECO。

read_lib $liberty
read_lib -lef $lef
read_verilog $netlist
set_top_module my_top
source viewDefinition.tcl
read_def $def_file
source spef.tcl
set_distribute_host -local
set_multi_cpu_usage -localCpu 8
#注意,下面先保存的ECO Timing DB: myEcoTimingDB
set_eco_opt_mode -save_eco_opt_db myEcoTimingDB
write_eco_opt_db
set_eco_opt_mode -load_eco_opt_db myEcoTimingDB
eco_opt_design -hold

完成timing ECO后,tempus工作目录下会生成eco_innouvs.tcl脚本用于innovus完成增量ECO布局布线。

若innovus eco route后有较多DCR violation,可以通过ecoRoute -fixDrc来修复,不一定能100%修好,部分可能需要手动修复。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

最近两周,虽然没发公众号文章,但是粉丝量还是在零星的在增长,多谢支持,原先每天发一篇的计划也没有坚持下来,果然被你们说准了。不得不佩服,你们比我都了解我自己。不过停更的两周,我也没有闲着,整了三个轮子出来,喜欢或者感兴趣...

关键字: 程序员 公众号 文章

德国的疫情越来越严重,周末闲来没事,在家想着,好久没有更新公众号了,为了一直默默关注欢乐马的小伙伴和不断增加的读者,这周加个班,把最新的想法写出来,希望可以帮助到有需要的朋友。这周的主题是 jenkins 服务器的配置。

关键字: 疫情 公众号 服务器
关闭
关闭