power-plan如何定

Power-Plan或者说PG如何打,这是一个仁者见仁智者见智的问题,没有一个标准的答案,因为有各种各样的影响因素。本文将列举一些可能的影响因素:

1.和design  相关

1) Utilization 低的打的越多越好,高的需要打低一点,考虑DRC 和Congestion。

2)同样的Utilization,同样的PG 结构,模块功能不一样,congestion 也不一样.特殊模块得特殊考虑

3)不同芯片 电脑/手机芯片对功耗的要求也不一样

 

2.sign off 标准

1)动态IR Drop/静态IR Drop

2)sign-off的时候需要根据某个工作场景的activity 文件,进行功耗跟IR分析,常用的activity文件格式有:VCD (Value Change Dump file) , FSDB, SAIF(Switching Activity Interchange Format)。即使同一个design,不同工作场景的activity文件产生的IR-Drop也大不一样。

 

3.先入经验

  • 一般PG结构的选择是基于先前的项目经验。但随着工艺不断进步,之前的经验并不一定是最优化的也不一定适用于当前工艺。

  • 40nm工艺以上一般只用M1做rail,但是在先进工艺下,M1的电阻率比较高,由M1造成的IR-drop比较大,而且占主要的因素。所以可能就需要M2也作为rail,所以先入经验要随着工艺的改进做调整

4.工艺和金属层数

  • 不同的工艺,pitch和width大不一样,采用LVT或者HVT等造成的功耗也大不一样,不能直接像工艺尺寸一样简单的shrink。

  • 即使同一种工艺,也可以选择不同数目的金属层。少一层金属就省一层mask,就省一笔钱。比如40nm工艺,如果选用8层金属,流片一次可能需要100W,如果选用7层,流片一次则需要95W。单看可能差别不是很大,但是如果量很大很大,节省的成倍就十分可观了。

  • 选择不同的金属层,PG结构自然不同。

5.

对PG进行微调

PG怎么打,这是每个公司的机密,作者也不能讲很多,一般是先初略的打一版看,然后在signoff工具中看看结果,再基于该结果和congestion的情况再进行调节。下面讲讲对给定的PG结构,在保证同样的IR-drop的情况下,如何通过微调,来省出更多的绕线资源,减小congestion或者基于同样congestion的情况下,可以额外的增强PG结构,降低IR-drop。

 

微调的原理是什么?

在新工艺下signal-routing都是在track上走线的,不会发生在半track上走线的情况。例如下面画了4个track,2条走线。在老的工艺下,完全没问题,想咋走咋走,只要满足min-spacing就好了。但是在新的工艺下,就得规规矩矩的,每条走线都必须在track上(这里只是说signal-routing必须在track)。

 

 

必须在Track上有几个方面的原因吧:

  • spacing是一个离散的值。在老的工艺下,无限长且平行的两条走线,只要spacing是大于某个值的就没问题,可以是任意的浮点数。但是在新的工艺下,大于某个值不准确,spacing是一个离散的值。例如spacing的表格是0.1,0.2,0.3,如果spacing小于0.3,那么只能选0.1和0.2两个值,如果spacing大于0.3,则可以是任意浮点数。

  • width也同理,也是一个离散的值。

  • 很多DRC规则都是基于这种离散的值的,不仅仅是这种简单的spacing/width,所以p不仅仅是违反了这一条,后面还有更多的DRC等着你。

  • 新的工艺都采用了double-pattern,走线不在Track上,后面在分不同mask的时候会有问题。

 

上面说到走线必须都在track上,更准确的说法是为了减少各种可能的DRC,工具走signal-routing的时候都在track上,因为PR工具看不到所有sign-off的DRC-rule,所以不能也不敢乱走。我们自己打PG的时候还是可以随便打,只要没有DRC违规就可以了。

 

这些因素虽然不会影响IR-drop,但是却可以通过调节这些因素,能够减小congestion或者基于同样congestion的情况下,可以额外的增强PG结构。

 

下面就举一个例子,例子中的数据都是作者随便取的,不具有代表性。

 1)假设原始的PG如下图所示,中间宽的是PG,两边的是信号走线。

我们来分析分析这个图:

  • PG在Track上,没问题

  • 取的宽度占用了3个track,没问题

但是,由于各种DRC,额外的2个Track其实也不能用,其实PG占用了5个track。浪费

 

1)

我们就来进行一下优化:既然要占5个Track,干脆PG再宽点不更好吗?

而且PG可以不需要非得在track上,可以在track中间。例如下图所示,不仅加宽了PG,而且居然还能省一个Track!

2)如下图所示,干脆就不要用uniform-track,直接创建non-uniform-track。仍然是用同样的PG宽度,但是却省下了不少的绕线资源。

 

转载于:https://www.cnblogs.com/lelin/p/11407379.html

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值