EETOP 创芯网论坛 (原名:电子顶级开发网)
标题:
IC Compiler 不在Macro上层绕线
[打印本页]
作者:
Brienz
时间:
2013-10-14 13:47
标题:
IC Compiler 不在Macro上层绕线
请教大家一个问题:我现在在用TSMC 250nm工艺做设计,其中SRAM Macro是用ARM/Artisan的memory compiler生成的。工艺有5层金属,而生成的SRAM Macro只用到1-4层。现在我做电源设计的时候是准备在第5层金属上做很多水平的straps,但是IC Compiler绕线的时候总是不走Macro的上面,如附图所示。这样造成有些区域的IR Drop很不理想。我觉得理论上这个Macro的上面第5层金属是可以走线的,Artisan手册里也说可以。但是我试了很多方法就是不能让IC Compiler在Macro上面走线。请问大家有没有解决的办法?或者说一般Macro上面这一层都不走线?
Macro的LEF里面定义了OVERLAP layer,而且是占Macro整块面积。我试过修改这个layer使其面积变小,但结果只会让ICC在这个Macro下面放了很多Standard Cells,第5层金属依然没有线。
谢谢帮助!
(, 下载次数: 83 )
上传
点击文件名下载附件
作者:
liqiang998
时间:
2013-10-14 14:00
你需要看看这个MACRO是不是有那层的route blk,如果有,你应该没有改对地方
作者:
Brienz
时间:
2013-10-14 14:10
回复
2#
liqiang998
谢谢回复!我看过Macro的LEF,里面没有METAL5 Blockage,所以很不理解。我正在研究怎么用ICC检查Blockage。
作者:
damonzhao
时间:
2013-10-14 17:25
目测,你那些不是straps吧,感觉像是连接stdcell的special pg线。
确认你没弄错吧?你说的情况,M5从macro上跨过,没有任何问题,可以实现。
作者:
liqiang998
时间:
2013-10-14 17:26
你试过手动在那上面拉metal5没?能走线不?
作者:
Brienz
时间:
2013-10-14 18:52
回复
4#
damonzhao
这些线是用ICC的template-based power network做的。我在做一些试验,这些straps位于METAL5,画的比较细,而且和底层stand cell的PG rail对齐,通过via连到下面的金属。template脚本附上了。我没有做power net的经验,请大牛再指点。
template : mesh_m5_b {
layer : METAL5 {
direction : horizontal
width : 2.4
spacing : minimum
number :
pitch : 12.8
offset_start : boundary
offset_type : edge
offset :
trim_strap : true
}
advanced_rule : on {
optimize_routing_tracks : off {
}
align_strap_with_stdcell_rail : on {
layer : METAL5
align_with_rail : true
put_strap_in_row : false
}
}
}
复制代码
作者:
Brienz
时间:
2013-10-14 18:59
回复
5#
liqiang998
我现在基本都是用脚本做的布线,还不太熟悉怎么去手修。我试验过先不摆放Macros,在METAL5上先画满PG线,然后再摆放Macros和Std Cells。这样倒是实现了我想要的走线和布局(附图),但是Std Cells出现了少量placement errors。
常规应该都是先摆放Macros再做PG Net吧?我感觉可能是脚本里有地方设置不对导致先放Macros然后做PG的时候出现问题。
(, 下载次数: 74 )
上传
点击文件名下载附件
作者:
damonzhao
时间:
2013-10-15 10:29
0.25的设计,金属过电流能力应该很大吧,你的stripe做的这么密是不是有点过了?相应的绕线资源是不是也受影响?
怎么做都可以,没有绝对的对错,只有针对你的设计的合理的方案罢了。
作者:
kevin9133023
时间:
2013-10-15 11:48
通常 Top Metal Space Rule 比其他 Metal 寬, 可能你畫的Metal5 PG strap pair gap 不夠它 Route.
作者:
Brienz
时间:
2013-10-15 14:46
谢谢各位帮助!问题基本解决了,我的Macro库是用Milkyway的LEF IN做的。虽然LEF里没有用到Metal5以上的金属,但是Milkyway在做BPV的时候默认在Macro区域的每层金属都做了Blockage。脚本里有一个地方
setFormField make_macro metal_5 "block all",这里改成"merge",在Metal5就没有blockage了,straps也都通过了Macros上面。
第一次做后端,明显power部分做过分了。后期会根据布线实际情况再做调整。
作者:
Brienz
时间:
2013-10-15 14:48
回复
9#
kevin9133023
谢谢!我用的这个compile_power_plan方法如果遇到了你说的这种情况,会报Error。我开始确实遇到了这样的情况,根据ICC的提示对间距做了调整。
作者:
hitmic
时间:
2013-10-15 15:31
回复
1#
Brienz
我导的macro也是block all,做P/G strap会通过macro上方,请问有啥解决方法啊?
作者:
Brienz
时间:
2013-10-15 15:56
回复
12#
hitmic
你的意思是不想让PG经过Macro上方?
作者:
hitmic
时间:
2013-10-15 16:01
回复
13#
Brienz
是的,每一次我都得自己做blockage
作者:
Brienz
时间:
2013-10-15 16:07
回复
14#
hitmic
这好像和我遇到的情况正好相反,请问你用的什么工具和命令做的power strap?我用的是IC Compiler的compile_power_plan。
作者:
hitmic
时间:
2013-10-15 16:46
回复
15#
Brienz
ICC /create_power_straps ....
作者:
Brienz
时间:
2013-10-16 16:29
回复
16#
hitmic
我简单试了一下这个命令,如果导入LEF的时候用"block all",这个命令也不会过我的Macro上面的。你再检查一下Milkyway的流程吧。
作者:
hitmic
时间:
2013-10-17 08:39
回复
17#
Brienz
好的,我看了下route blockage没出来,我用的BPV
作者:
wenjian07
时间:
2013-10-17 15:23
我们一般用abstract提取lef,abstract 可以对blockage 做具体设置
作者:
luckyboy1220
时间:
2016-9-13 13:58
多多學習,這可能跟準備FRAM VIEW有關
作者:
prada520
时间:
2018-3-19 11:47
感謝分享 大推 謝謝 thx
作者:
raga21
时间:
2018-4-21 21:26
how to get?
作者:
azkandf
时间:
2018-9-20 16:13
thank
作者:
唐三彩骆驼
时间:
2020-4-8 15:14
学习了
欢迎光临 EETOP 创芯网论坛 (原名:电子顶级开发网) (https://bbs.eetop.cn/)
Powered by Discuz! X3.4