【Innovus】记录后端的一些小心得

2022-12-06 16:41:43 浏览数 (2)

1、import之后设置工艺节点

代码语言:javascript复制
setDesignMode -process 150

2、pin宽度要大于最小线宽一些,不能相等

当pin宽度等于最小线宽且不与grid对齐时,可能会引导起iobuf与pin不route。

3、插iobuffer

代码语言:javascript复制
attachIOBuffer -in {BUFX2} -out {BUFX8} -suffix IOBUF -status softfixed
set_dont_touch *_IOBUF

设dout touch后,就不会优化BUF的驱动能力。加softfixed后,不会移动BUF位置,让BUF保持在pin附近。

4、时钟树不更新io latency

代码语言:javascript复制
set_ccopt_property update_io_latency false

让工具计算的arrival time时包含clock tree的延时。

5、sparecell可以在route之后插入。

对高密度的设计更友好,有利于innovus做setup等时序修复。

6、NET大小写重名

代码语言:javascript复制
update_names -net -nocase

7、生成做lvs的netlist

代码语言:javascript复制
saveNetlist top_pr.v 
  -excludeLeafCell 
  -includePhysicalCell {CAPCELL} 
  -includePowerGround
代码语言:javascript复制

不需要stdcell的空的定义,不需要TIECELL和FILLER。需要加上VDD和VSS Pin。

8、cap filler

插capfiller不会引起short:

代码语言:javascript复制
setFillerMode -add_fillers_with_drc false

9、innovus导出lef的方法

9.1 确认tech lef是否包含下面的信息,如果不包含就加上

代码语言:javascript复制
LAYER OVERLAP
  TYPE OVERLAP ;
END OVERLAP

9.2 使用innovus命令write_lef_abstract提取lef

代码语言:javascript复制
write_lef_abstract digital_top.lef 
  -5.8 
  -stripePin 
  -PGPinLayers1,2,3,4 
  -specifyTopLayer 4

10、innovus高亮指定inst

10.1 根据类型选中inst

代码语言:javascript复制
selectInstByCellName {NOR2X*}

10.2 高亮全部NOR2X2AS9类型的inst

代码语言:javascript复制
highlight [dbGet -p2 top.insts.cell.name NOR2X2AS9]

10.3 正则来匹配类型名字

代码语言:javascript复制
highlight [dbGet -p2 -regexp top.insts.cell.name {NOR2X.*}]

10.4 用指定的颜色高亮

代码语言:javascript复制
highlight [dbGet -p2 -regexp top.insts.cell.name {^NOR2X.*}]-color #0000ff

声明:

本号所发表的文章仅是个人兴趣,发表的观点仅是个人一点不成熟的看法,与所在公司无关。

0 人点赞