在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 11641|回复: 23

[求助] IC Compiler 不在Macro上层绕线

[复制链接]
发表于 2013-10-14 13:47:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
请教大家一个问题:我现在在用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层金属依然没有线。

谢谢帮助!

Screen Shot 2013-10-13 at 10.30.50 PM.png
发表于 2013-10-14 14:00:48 | 显示全部楼层
你需要看看这个MACRO是不是有那层的route blk,如果有,你应该没有改对地方
 楼主| 发表于 2013-10-14 14:10:39 | 显示全部楼层
回复 2# liqiang998


   谢谢回复!我看过Macro的LEF,里面没有METAL5 Blockage,所以很不理解。我正在研究怎么用ICC检查Blockage。
发表于 2013-10-14 17:25:50 | 显示全部楼层
目测,你那些不是straps吧,感觉像是连接stdcell的special pg线。
确认你没弄错吧?你说的情况,M5从macro上跨过,没有任何问题,可以实现。
发表于 2013-10-14 17:26:03 | 显示全部楼层
你试过手动在那上面拉metal5没?能走线不?
 楼主| 发表于 2013-10-14 18:52:15 | 显示全部楼层
回复 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. }



复制代码
 楼主| 发表于 2013-10-14 18:59:18 | 显示全部楼层
回复 5# liqiang998


   我现在基本都是用脚本做的布线,还不太熟悉怎么去手修。我试验过先不摆放Macros,在METAL5上先画满PG线,然后再摆放Macros和Std Cells。这样倒是实现了我想要的走线和布局(附图),但是Std Cells出现了少量placement errors。
常规应该都是先摆放Macros再做PG Net吧?我感觉可能是脚本里有地方设置不对导致先放Macros然后做PG的时候出现问题。

Screen Shot 2013-10-14 at 3.47.22 AM.png
发表于 2013-10-15 10:29:23 | 显示全部楼层
0.25的设计,金属过电流能力应该很大吧,你的stripe做的这么密是不是有点过了?相应的绕线资源是不是也受影响?

怎么做都可以,没有绝对的对错,只有针对你的设计的合理的方案罢了。
发表于 2013-10-15 11:48:59 | 显示全部楼层
通常 Top Metal Space Rule 比其他 Metal 寬, 可能你畫的Metal5 PG strap pair gap 不夠它 Route.
 楼主| 发表于 2013-10-15 14:46:00 | 显示全部楼层
谢谢各位帮助!问题基本解决了,我的Macro库是用Milkyway的LEF IN做的。虽然LEF里没有用到Metal5以上的金属,但是Milkyway在做BPV的时候默认在Macro区域的每层金属都做了Blockage。脚本里有一个地方
setFormField make_macro metal_5 "block all",这里改成"merge",在Metal5就没有blockage了,straps也都通过了Macros上面。

第一次做后端,明显power部分做过分了。后期会根据布线实际情况再做调整。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-2-6 20:41 , Processed in 0.032120 second(s), 11 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表