在Soc设计中,必然要用到低功耗设计策略。低功耗设计涉及clock gating,power gating,多电压域设计技术。在之前推送的低功耗设计篇提到低功耗设计中常用的一些cell,比如Isolation cell,level-shifter, AON buffer等。针对他们的摆放要求也简单做过介绍,我相信大家也都特别清楚了。如果你是小编的忠实粉丝兼星球成员,我相信低功耗设计实现相关方法论,你肯定没什么问题。

这些低功耗设计实现经验,你真的懂了吗?

浅谈数字IC低功耗设计的若干种低功耗设计方案

今天吾爱IC社区小编主要做一个关于secondary power pin的连接方法及其注意事项的分享。

  • Isolation Cell

Isolation cell一般都只占一条row的高度,它的power pin和标准单元是一样的。无需做特别处理。

  • AON Buffer

一个特殊信号,比如控制power switch cell开关的req,ack,钳位clamp信号,从Power domain1穿越另外一个Power domain2时,由于此类信号需要反馈到AON的Domain,而Power domain2也是local的power,此时就需要用AON buffer来create一段buffer tree,实现从PD1--->PD2--->AON的跨越 。

AON buffer一般有global power pin VDDC, global ground pin VSSC,local的power pin为VDD,local ground pin为VSS,如下图所示。

对于这类secondary power pin的连接方法,其实有很多种方法(主要有三种方法,下面做介绍),目的是一致的,需要将这类pin连接到对应的power net上。

  • Level Shifter

Level Shifter一般有High-Low,Low-High以及同时支持HL和L-H这三种类型。考虑到应用的灵活性,设计中一般用的是最后一种类型的Level shifter。另外还有普通Level shifter和Enable Level Shifter之分,这个希望大家在添加level shifter时不要搞错了。

Level Shifter一般是占用两条row的高度。通过查看lib文件可以得知其含有多少个power pin,那些pin是 std cell main rail,那些pin是secondary power pin,如下图所示。

对于一个数字IC晶元中含有几千个这样的Level shifter,我们应该如何去连接这类secondary power pin呢?主要有三种连接方法,下面分别详细介绍这几种方法。

  • Secondary Power Rail

这种方法是将Level shifter中secondary power pin所在的位置,延伸至整个core区域,从而作为一条secondary power rail。这种方法可以实现一劳永逸,通过普通的preroute就可以实现。只要将powerplan规划好即可,无需管Level shifter的位置。这种方法是最robust的方式,供电最充足,而且最简便。

  • Preroute 到Power Mesh上

当第一种方法不能采用时(何时不能用?留给大家思考),我们可以考虑将secondary power pin preroute到我们设计的power strap上。通过这种方法也可以实现secondary power pin的连接。

但是采用这种方法,有个缺点。当你挪动Level shifter时,对应的secondary power pin就断开了,需要重新做preroute。另外用这种方法很容易出现动态IR drop有较大压降的问题。

很多数字后端工程师往往没有这方面的概念,只知道将所有的secondary power pin连接好就OK了,殊不知仅仅这么做,可能已经埋了一个大炸弹。吾爱IC社区的小编一直强调要做一个有价值的数字后端工程师,要力争将同样的工作做得比别人好,比别人精细。

  • Signal route布线

最后一种方法就是让工具在route阶段用signal route的方式将这些secondary power pin连接到power mesh上。这种方法是最简单,同时也是最粗暴的一种方法。反正我是绝对不会用的。一方面不方便项目review,另外一方面secondary power pin连线很不规律,不美观。

不论采用何种方法,在连接secondary power pin时,应该严格遵守以下几个原则,这些要点都是小编经过多个项目实战总结出来的。

  • High Fanout处理

如果采用第二种方法时,需要格外注意power strap所驱动的fanout数量。过小的fanout可能会导致某些secondary power pin无法连接到power strap,出现pg floating的情况。过大的fanout则会出现带不动的情况,特别容易出现静态和动态IR Drop的问题(这个是很普遍的现象)。

IR Drop分析之Redhawk分析流程

  • High Resistance处理

当采用第二种方法时,需要格外注意高电阻路径,这样的供电路径是IR drop的weakness的地方。虽然可能本身IR drop没有问题,但这个是潜在的隐患。此隐患不除,晶元回来可能怎么死的都不知道。

这种高电阻路径就是指某个Level shifter的secondary power pin需要走一段相对比较长的路径,才能够到达power strap。出现这种情况有两种原因,一种是power mesh 比较薄弱,另外一种是实现时某些app option没有设置好,导致工具没有就近选择power strap来进行power pin的连接。

  • NDR设置

无论采用何种方法,都需要指定一个比较宽的金属层来连接这个secondary power pin。而且这个金属层次往往要选用高层的金属,这样电阻能够小些,压降会相对小点。

星球上的思考题,大家多多思考,欢迎来星球与小编交流。

对于low power设计中何时用Isolation cell,何时用level-shifter,如何选型,如何摆放这类cell,如何处理它们的secondary power pin等一系列问题,欢迎踊跃交流,谈谈你们的看法,或者谈谈你们困惑的地方。 可以结合下面的四核cpu为例,各个cpu根据应用需求可以进行powerdown,scu和L2这层也需要poweroff,同时整个cpu subsystem做了DVFS。请大家思考下如何规划powerplan?如何添加isolation cell和level shifter?摆放这类cell有何特别要求?(搞懂这个问题,低功耗实现问题从此就不会困扰你了!)

小编知识星球简介(如果你渴望进步,期望高薪,喜欢交流,欢迎加入):

在这里,目前已经规划并正著手做的事情:

  • ICC/ICC2 lab的编写
  • 基于ARM CPU的后端实现流程
  • 利用ICC中CCD(Concurrent Clock Data)实现高性能模块的设计实现
  • 基于ARM 四核CPU 数字后端Hierarchical Flow 实现教程
  • 时钟树结构分析
  • 低功耗设计实现
  • 定期在星球布置作业题(星球已经支持布置作业功能)

在这里,各位可以就公众号推文的内容或者实际项目中遇到的难题提问,小编会在24小时内给予解答(也可以发表你对数字后端设计实现中某个知识点的看法,项目中遇到的难点,困惑或者职业发展规划等)。

反正它是一个缩减版的论坛,增强了大家的互动性。更为重要的是,微信有知识星球的小程序入口。星球二维码如下,可以扫描或者长按识别二维码进入。目前已经有172星球成员,感谢这172位童鞋的支持!欢迎各位铁杆粉丝加入!终极目标是打造实现本知识星球全员年薪百万的宏伟目标。(星球的门槛将会越来越高,有需求的朋友趁早上车)

推荐阅读:

相关文章