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的经验,请大牛再指点。




  1. template : mesh_m5_b {
  2.   layer : METAL5 {
  3.     direction : horizontal
  4.     width : 2.4
  5.     spacing : minimum
  6.     number :
  7.     pitch : 12.8
  8.     offset_start : boundary
  9.     offset_type : edge
  10.     offset :
  11.     trim_strap : true
  12.   }

  13.   advanced_rule : on {
  14.     optimize_routing_tracks : off {
  15.     }
  16.     align_strap_with_stdcell_rail : on {
  17.       layer : METAL5
  18.       align_with_rail : true
  19.       put_strap_in_row : false
  20.     }
  21.   }
  22. }



复制代码

作者: 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