innovus中如何手动拉线及常用快捷键(又找回了左手键盘,右手鼠标的感觉)
专栏:iLoveIC Jan. 2, 2024, 7:21 p.m. 3742 阅读
route之后已经用了相当多的办法(包括调整floorplan)之后,仍然有drc或者antenna,且violation数量不多时,就需要手动拉线了。本文介绍了innouvs里手动拉线常用的工具和快捷键。

手工拉线的工具条

image.png

上图中:
c- 代表 ctrl
s- 代表 shift

放大、缩小

z:放大,或者用鼠标右键框选来放大
s-z:缩小
f:显示全部

复制

c:复制cell、复制线等

对齐track

image.png

然而,既然已经到了手工拉线的地步,间距一般都不太够,就需要点“Snap”来禁用对齐Track。image.png

还可以点“Snap”旁边的小箭头来进行更细致的设置,比如区分普通net和电源net。

image.png

拉线的设置

选中一根线(按a,再鼠标选线),选“连线”工具(shift-a),按两次F3,弹出设置对话框,如下图。

  1. 先设置是“普通线”、“电源线”还是“patch wire”(补min area)

  2. 设置当前要画的线的net名字

  3. 设置水平层和垂直层

image.png

image.png

显示和隐藏金属层

显示和隐藏金属层的方法:

image.png

显示Stdcell内部的Metal1连线

image.png

清除Drc Violations

清除Drc Violations的方法:

image.png

有时候我们不想清除Violation,只是为了不挡住用鼠标选中下方的连线或者pin。这时只需要把Violation的可选属性给去掉,如下图:

image.png

取消选中

取消选中 (deselect)Ctrl-d

使用刻度尺

量刻度 k
清除刻度 shift-k

就近插tiecell

如果绕线困难的是tiecell,则可以就近再插一个tiecell,不需要绕远路。

dangling wire问题

在手工拉线时容易产生dangling wire,就是悬空的线,或者线头没接好,常发生在VIA那里。可以试试先用s把线挪开,再重新接上。

有时候发现,VIA处的线头子总是短一点,可以尝试把stretch no connection勾上,手工拉到合适的长度。

如果总是有问题,干脆就断开,选中这根线,用ecoRoute -target让工具自动重连这个根线,说不定就好了。

修antenna

1、向上跳线

內层金属的antenna问题,可以在合适的位置向上层金属跳线。跳线的方法是:用剪刀剪断一根线,选中要向上跳线的一段,点左侧工具栏的“换层”按钮,如下图。

image.png

2、插buffer

如果这根线很长,插buffer则可以缩短连线的长度,从而解决antenna的问题。

3、diode来修antenna

如果antenna violation差距不大且先前没有自动插过diode,则可能手工插一个diode效果更好。需要用到以下命令:

attachDiode -diodeCell ANTTD -pin {instName termName} -loc {x y}

也可以用以下命令组合,再手工绕instNname的termName这一小段线。

addInst -inst instName -cell ANTTD -loc {x y}
attachTerm instName termName netName

如果antenna violation差距大的离谱,插十个diode也不见得有效,就要考虑在termName附近向上跳线了。

4、metal eco时,插逻辑门来修复antenna

在metal eco时,无法新加diode,但可以attach任何逻辑门的input(输入悬空)来增大gate面积,来消除antenna。

image.png

 

感谢阅读,更多文章点击这里:【专栏:iLoveIC】
最新20篇 开设专栏