请教 Encounter 中 sroute 的一些问题
时间:10-02
整理:3721RD
点击:
由于没办法截图,如果有表述不清的请自动过滤,回答我有表达清楚的问题我就非常感谢了。
现在有 IO ring 是版图已经做好的,当成 Hard Macro 放进 Encounter,LEF 是我做的。每个 Power Pad 都引出八个脚去接 core ring 和 block ring,就当作为了 slot 好了,这八个脚都是 metal2。那我已经让 LEF 把 每个脚分别认成是同一个 pin 不同的 port 了,并且 IO ring 的 size 也改得很小,不会影响 routing. 现在有几个问题:
1. 竖直方向上 metal2 盖住部分 port 却没办法引出,在它们正对着的 power ring 有加上相应的 via,只单单缺中间一段 metal2。如果手工画是没有白色 X 的。
2. 水平方向上会跳到 metal3, 但是 metal3 一定是在 track 上而不是和 Power Pad 的 metal2 对齐。
3. 找不到办法让这些 special route 穿过最近的 ring. 比如我一个 hard macro 上方有三条 vdd Ring,通常接了最近的一条就不再穿过去。但能接上三条 gnd, 不知道是不是因为 gnd 画得离 hard macro 最近。
现在有 IO ring 是版图已经做好的,当成 Hard Macro 放进 Encounter,LEF 是我做的。每个 Power Pad 都引出八个脚去接 core ring 和 block ring,就当作为了 slot 好了,这八个脚都是 metal2。那我已经让 LEF 把 每个脚分别认成是同一个 pin 不同的 port 了,并且 IO ring 的 size 也改得很小,不会影响 routing. 现在有几个问题:
1. 竖直方向上 metal2 盖住部分 port 却没办法引出,在它们正对着的 power ring 有加上相应的 via,只单单缺中间一段 metal2。如果手工画是没有白色 X 的。
2. 水平方向上会跳到 metal3, 但是 metal3 一定是在 track 上而不是和 Power Pad 的 metal2 对齐。
3. 找不到办法让这些 special route 穿过最近的 ring. 比如我一个 hard macro 上方有三条 vdd Ring,通常接了最近的一条就不再穿过去。但能接上三条 gnd, 不知道是不是因为 gnd 画得离 hard macro 最近。
有耐心看完问题的很感谢你。
问题 1 和问题 2 通过 option: -blockPinTarget { boundaryWithPin } 解决了一半,情况是 die size 是 5000X5000, 如果我把 IO Ring 改成 5000X240,则 bottom 接不进去;如果改成 240X5000,则 left 接不进去;如果改成 240X240,则 bottom 和 left 都接不进去。这个240可以是更小的数字。
为什么非要一整个 IO Ring,非要工具去做 sroute?没办法,需求就是这样,如果做不到只能告诉别人做不到。当然只要是工具自动做的就行。
有白色叉叉也不要紧,只要自己认为没有drc问题即可, 后面可以cleardrc
lef也是人做的,经常会有问题的,自己心里清楚是不是那里有drc 就行了,
我的意思是其实连 drc violation 都没有, 但是把 IO Ring 做成一整个 block,它的 Power (blockPin) 就是接不进里面的 core ring。
然后发现 blockPinTarget 设成 boundaryWithPin 可以做到一部分,但是接到一条Ring之后就不会再穿过去。把 core ring 改成 PAD Ring 用 farthestPadRing 也是不行的。
或者在 astract 里当作 IO 而不是 block 来做,又是否能够处理。