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

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

文章右侧广告为官方硬广告,与吾爱IC社区无关,用户勿点。点击进去后出现任何损失与社区无关。

吾爱 IC 社区近期发布了基于 28nm 工艺的 ARM Cortex-A53 CPU 的数字后端实现教程。看到粉丝们反馈的好评,特别欣慰。小编会一如既然继续码字,继续分享更多数字后端设计实现方面的技术干货。今天为大家带来低功耗技术中的一些经验分享。

Power gating 概述

Power gating 是深亚微米技术中的低功耗技术之一。它是通过关闭设计中部分电路(不需要工作时)来实现的,以减少设计中的静态(泄漏)功率。要实现这个功能 Power switch 可以完全胜任。它的原理是将 VDD 或 GND 与特定设计层次结构的标准单元分开。下图为一个典型 power gating 系统。

通常有两种类型的 Power switch cell,分别为 Footer 和 Header 两种类型。Footer 结构类型是通过 VSS 的开关来实现标准单元的开与关,而 Header 结构类型则是通过 VDD 的开关来实现标准单元的开与关。在实际应用中,因为其 leakage 低和实现的便利性,往往都是选用 Header 类型的 Power switch cell。

基于 Physical Aware 的动态功耗优化实现方案

Power switch 结构

Power Switch 的结构有 fine grain power gating 和 coarse grain power gating 两种类型。

fine grain power gating 是指将每个 switch 都放在 cell 内部。这样使得面积增大 1x-3x。优点是 IR drop 可以更小。

而 coarse grain power gating 则是在 design 中加入一些 power switch cell 来控制 std cell 的开和关。这种做法的优点是面积适中,缺点是 power switch cell 本身的压降会偏大。

因此,在实际项目应用中,大部分都是采用 coarse grain power gating 方式。

Placement 要求

这些 Power switch cell 必须在 floorplan 阶段添加进来,而且必须将其 global 和 local power ground pin 连接到 power mesh 上。Header 类型的 power switch,一般有一个 Global VDD(VDD),一个 Local VDD(VDD_GATED),SLEEP 信号和 ACK 信号。

在实际应用中,我们会在模块中规划一个Power Switch Network。这个 power switch network 由外面的 Power Control 模块来控制 power gating 模块的开启与关断。整个 power switch network 是由一堆的 MTCMOS 级联而成的。

Power switch cell 之间必须确保都是经过 always on 的 domain。同时需要确保 Power switch cell transition 没问题,保证可以正常开启和关断。如果在后期发现 MTCMOS 之间存在 transition 违例,则需要插入 always on buffer 来解决 transition 问题(这种情况应该尽量避免)。

Power switch cell 数量

每个模块中应该加多少个 MTCMOS,是非常有讲究的。加的太多会导致面积过大,routing resource 也会相应减少,影响绕线和时序。加的太少又会影响 IR Drop 过大。

IR Drop 分析之 Redhawk 分析流程

所以,我们需要事先估算下模块中理论上需要加多少数量,然后再加一定的 margin,就可以得出我们最终需要添加的 MTCMOS 数量(最终要以 Redhawk 分析结果为准)。这个方法是吾爱 IC 社区小编一直在用的方法,实践表明 IR Drop 结果符合预期。

计算方法:

  • 根据预估功耗和供电电压,计算出模块理论上所需要的总电流

  • 再根据 MTCMOS 的电阻和其本身所能允许的最大压降值,算出理论上所需 MTCMOS 的数量

  • 将所需要 MTCMOS 数量乘以 1.3(预留 margin),得出最终需要添加的 MTCMOS 数量

Low power cell

  • Isolation cell

在 SOC 系统中,当一个信号从一个 power domain 穿过 AON Block,需要用到 isolation cell,如下图所示。当信号从 PD2 穿到 AON block 时,防止 PD2 shut off 后将不稳定的状态传到 AON Block,需要将 PD2 所有 output 端加 isolation cell,且 ISO cell 必须添加在 always on domain。这个 isolation cell 其实等效于一个 buffer。与 buffer 不同的地方在于,这个 ISO cell 还有一个 clamp 使能信号,可以将 PD2 不稳定或者 X 态,clamp 成一个固定值。根据不同的设计需求,可以将其 clamp 为 0 或者 1。

对于数字后端实现而已,这个 Isolation cell 需要在综合阶段编写 upf,让工具自动插入。在布局布线阶段,需要将 ISO cell 的 input pin 设置 dont_touch,防止在 PD2 输出信号和 ISO cell 之间插 buffer。

  • Level shift cell

当信号从低压 Domain 传输到高压 Domain 时,PMOS 管栅极处的较低电压可能会导致栅极不完全关断,从而导致异常的泄漏电流。因此,当信号在跨电压域传输时,需要加 Level shift cell。比如当信号从 AON block 传输到 PD1 时,需要加 Level shift。当信号从 PD1 传输到 PD2 时,由于 PD1 是 power gating 模块,所以需要在 PD1 和 PD2 之间加带 Isolation 功能的 Level shift cell(ELS)。

对于数字后端实现而言,我们主要关注的是 Level shift cell 的 power 连接和 placement 的要求。Level shifter 是两条 row 高度的 cell,其中含有 VDD,VSS 和 VDDL(VDDH)。VDDL 和 VDDH 是 secondary power pin。在画 power 时,需要将其画成一个额外的 power rail,确保每个 Level shift cell secondary power pin 的正常供电。

Level shift cell 的 placement 主要考虑cell 的 transition。所以建议用 magnet_placement 来实现。同样还需要注意各种电压域跨越时,level shift cell 的 input 和 output 需要设置 dont_touch,防止工具插 buffer。

如果你对 isolation cell 和 level shift cell 的 placement 和 power 连接还有疑问,欢迎前往小编知识星球提问,手把手教会。

小编知识星球简介:

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

  • ICC/ICC2 lab 的编写

  • 基于 ARM CPU 的后端实现流程(已经发布

  • 利用 ICC 中 CCD(Concurrent Clock Data)实现高性能模块的设计实现(已经发布

  • 其他内容待定

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

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

相关文章推荐

Lockup latch 的用法,看这个就够了!

深度解析 Create_clock 与 Create_generated_clock 的区别

盘点数字后端设计实现用到的各种文件

clock jitter 是否对 hold time 有影响?(文末有福利)

为什么时钟树上要用 clock inverter(min pulse width check)

LVS 就是这么简单!(数字后端物理验证篇)

揭秘为何 net delay 是负值(数字后端实现时序篇)

PBA(Path Base Analysis)想说爱你不容易(静态时序分析基础篇)

一网打尽时钟树综合 Clock Skew

数字后端设计实现之时钟树综合实践篇

【惊呆了!】你居然还在用 flatten 方式进行 timing signoff

数字后端面试问答 No.16-18

合理的时钟结构能够加速 Timing 收敛(时钟树综合中级篇)

数字后端面试问答 No.13-15(每日三问)

【机密】从此没有难做的 floorplan(数字后端设计实现 floorplan 篇)

数字后端面试问答 No.10-12(每日三问)

数字后端面试问题 No.7-9(每日三问)

听说 Latch 可以高效修 hold 违例(Timing borrowing 及其应用)

15 天零基础入门到精通 python - 最全的视频教程

数字后端面试问答 No.4-6(每日三问)

IR Drop 分析之 Redhawk 分析流程

CRPR 能补偿 crosstalk 吗?

原来电路最高工作频率是这么算出来的(STA 基础篇)

数字后端面试问答 No.1-3(每日三问)

秒杀数字后端实现中 clock gating 使能端 setup violation 问题

教你轻松调 DCT 和 ICC 之间 Timing 与 Congestion 的一致性

数字芯片设计实现中修复 setup 违例的方法汇总

数字 IC 设计中 ECO 的那些事,其实并不是事!

Scan chain reordering 怎么用你知道吗?

如何评价数字后端设计中 floorplan 的好坏?

数字后端实现时 congestion 比较严重,你 hold 得住吗?

数字后端实现 place 过程进阶

Final netlist release 前,你应该做好哪些工作?

基于 Physical Aware 的动态功耗优化实现方案

深入浅出讲透 set_multicycle_path,从此彻底掌握它

【大师必备】最全的数字 IC 设计经典书籍电子版下载

你与数字后端大神的差距在这里,快来瞧瞧!

数字后端实现时 congestion 比较严重,你 hold 得住吗?

时钟树综合(clock tree synthesis)基础篇

【福利】数字 IC 后端各种 Userguide 下载

好了,今天的码字就到这里了,原创不容易,喜欢的可以帮忙转发和赞赏,你的转发和赞赏是我不断更新文章的动力。小编在此先谢过!与此同时,吾爱 IC 社区(52-ic.com)也正式上线了。吾爱 IC 社区(52-ic.com)是一个专业交流和分享数字 IC 设计与实现技术与经验的 IC 社区。如果大家在学习和工作中有碰到技术问题,欢迎在微信公众号给小编留言或者添加以下几种联系方式进行提问交流。

打赏的朋友,请长按下方二维码,识别小程序进行打赏,欢迎砸钱过来!小编晚饭能不能加个鸡腿,全靠它了,呵呵!

作者微信:

https://mp.weixin.qq.com/s/w807_aCZram6FeQYpuV40g

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值