目录

前言

一、为什么需要低功耗设计

二、功耗的类型

1、动态功耗

2、静态功耗

3、CMOS工艺的发展与功耗的变化

4、SoC中的主要动态功耗

三、低功耗设计方法

四、低功耗技术

1、静态低功耗技术

(1)多阈值工艺(Multi-Vt Design)方法

(2)电源门控(Power Gating)方法

(3)体偏置(Body Bias)

2、动态低功耗技术

(1)多电压域(Multi-Voltage Domain)

(2)预计算

(3)门控时钟(Clock Gating)

3、门级优化技术

(1)毛刺的消除

(2)逻辑级优化

(3)物理级优化

(4)控制输入向量

4、补充:RTL级的一些低功耗设计方法

参考书籍

总结


前言

今天更新一篇数字IC低功耗设计方法总结。

一、为什么需要低功耗设计

1、便携式设备——电池寿命。

2、桌面系统——高功耗。

3、高功耗对系统的影响:(1)系统可靠性;(2)系统性能;(3)系统生产及封装成本;(4)系统散热成本。

二、功耗的类型

式中,C为结点电容,Nsw为单时钟内翻转晶体管数目,f为系统工作时钟频率,VDD为供电电压,Qsc为翻转过程中的短路电量,Ileak为漏电流。

1、动态功耗

动态功耗是由翻转电流和短路电流引起的功耗,其中翻转电流引起的功耗称为翻转功耗,短路电流引起的功耗称为短路功耗,如下图所示。翻转功耗与传输的数据相关(是否有0到1或1到0的变化),翻转功耗在当前的设计电路中仍然占主要部分,短路功耗在动态功耗中所占比例较小。

2、静态功耗

在CMOS电路中静态功耗主要是由漏电流引起的功耗。

如下图所示,漏电流主要由以下几部分组成:(1)PN结反向电流I1(PN-junction Reverse Current);(2)源极和漏极之间的亚阈值电流I2(Sub-threshold Current);(3)栅极漏电流,包含栅极和漏极之间的感应漏电流I3(Gate Induced Drain Leakage);(4)栅极和衬底之间的隧道漏电流I4(Gate Tunneling)。

为了满足工作频率越来越高的需求,就会降低晶体管的阈值电压Vt,使得晶体管能够高速翻转。但是,如果Vt太低,晶体管不能完全关断,这将产生很大的静态功耗。

3、CMOS工艺的发展与功耗的变化

(1)随着工艺的进步,电源电压随之减小以降低动态功耗,同时降低了阈值电压Vt,导致了系统静态功耗的增加;

(2)随着工艺的进步,系统的工作电压降更低,同时带来更低的晶体管动态功耗,但是由于时钟频率的提高和晶体管数目的增多,导致系统的总功耗将越来越大;

(3)随着工艺的改进,系统的功耗在不断增加,同时待机功耗和工作功耗越来越相近,这主要是由电路中漏电流增大引起的。

总结:随着工艺的进步,晶体管的尺寸将越来越小,同时带来的是更低的工作电压和更大的漏电流。工作电压的降低减小了晶体管的动态功耗,但是由于主频的提高及晶体管数目的增多,系统的总功耗越来越大。由于漏电流的增大,静态功耗在系统总功耗中所占比例不断增大。

4、SoC中的主要动态功耗

输入/输出;时钟树;处理器;存储器。

三、低功耗设计方法

各层次优化方法及优化效果:

四、低功耗技术

1、静态低功耗技术

(1)多阈值工艺(Multi-Vt Design)方法

低阈值的标准逻辑单元:速度快、漏电流大;

高阈值的标准逻辑单元:速度慢、漏电流小。

一种多阈值工艺的设计流程如下图:

总结:在设计中可以在关键路径上使用低阈值的标准逻辑单元来优化时序,在非关键路径上使用高阈值的标准逻辑单元来优化漏电流。

优点:A可以大大减少系统的静态功耗;

B没有任何面积开销,工艺库设计是将两种阈值库中的相应单元的面积设计成一样,这样可以方便替换。

(2)电源门控(Power Gating)方法

如上图所示,电源开关单元(Power Switch Cell)中的高阈值MOS管作为电源闸门,用来将低阈值电源和地隔离开。

在正常工作状态,Sleep信号为低电平,高阈值MOS管处于导通状态;当处于睡眠状态时,Sleep信号为高电平,切断电源,并且由于采用了高阈值MOS管作为开关,可以有效地减少漏电流。

(3)体偏置(Body Bias)

晶体管阈值电压随体偏置而变化。在工作模式下,MOS管的体偏置为0,MOS管处于低阈值状态,翻转速度快。在等待模式下,MOS管的体偏置为反向偏置,处于高阈值状态,漏电小。

注意:MOS管的体偏转需要时间,电路有等待模式转为工作模式的时间较长。

2、动态低功耗技术

(1)多电压域(Multi-Voltage Domain)

对于多电压域设计,要在不同的电压域之间使用一些电平转换单元(Level Shifter),将输入电压范围转换成输出需要的不同电压范围。

如果不同电压与之间的驱动信号与接受信号之间的距离很长,需要插入特殊的驱动单元(Repenter)来增强信号的驱动能力;如果不同的电压域可以单独断电(MV with Power Gating),还要考虑添加保持寄存器(Retention Register)和电压隔离单元(Isolation Cell)。

(2)预计算

预计算是指通过判断输入向量在满足一些特定条件时将输入释放或屏蔽。

上图所示为一个简单的停时钟电路的例子。在遇到不需要计算的指令的时候,译码逻辑单元就会使输出EN_B信号为0,时钟将会被关闭,寄存器的值保持不变,ALU不需要进行无用的计算,因而减少了系统的功耗。

(3)门控时钟(Clock Gating)

                     

上图所示的门控时钟可能会产生毛刺。

     

使用锁存器的门控时钟可以避免毛刺。

上图为门控时钟的可测性设计,在测试模式下,时钟的门控时钟单元将被旁路。在门控时钟结构中,无法检测锁存器使能端Stuck-at-0的故障,因此需要用功能测试去覆盖此类故障。

在布局时将门控时钟电路的部件摆放在一起,并摆放在时钟源GCLK附近,停掉时钟后,整个时钟树上的缓冲器(CTS)和时钟树驱动的模块都停止了翻转。通常SoC设计中,门控时钟单元会被做成一个硬核或标准单元。

3、门级优化技术

(1)毛刺的消除

这里的毛刺是指由于电路中信号的传输延迟引起的不必要的翻转,下图为两个消除毛刺前后的电路示意图。由于信号A和信号B的传输延迟不同,信号C上将会产生毛刺,插入缓冲器后,信号C上面的毛刺被消除了。

(2)逻辑级优化

这里讨论门级优化,也就是基于网表的优化。基于网表的功耗优化是一种与工艺无关的优化。

A调整门的大小

可以在那些非关键路径上使用一些比较小的门,这样可以减小输入电容,从而减小他们前驱的翻转电流,降低了电路的翻转功耗。也可以增大负载比较大的门,这样可以增加他们的输出斜率,减少短路电流,降低了电路的短路功耗。

B引脚的重分配

可以使用负载电容低的引脚去连接快速翻转的一些信号。这样可以减少高翻转信号的负载电容,降低了系统的动态功耗。

C重排序操作

电路中b信号是翻转率比较大的信号,在排序前的电路中,b的每次翻转要驱动4个门,在排序后的电路中,b的每次翻转只需要驱动2个门,显然有效地降低了系统的动态功耗。下图所示为排序前后的两个电路模块。

D重新映射

对于电路中的信号a,重新映射之前要驱动两级的与非门,在重新映射之后,只需要驱动一级优化的逻辑门AOI,显然降低了系统的动态功耗。下图所示为重新映射前后的两个电路模块。

(3)物理级优化

物理级优化主要有以下几种方法:使用低功耗的库;使用低功耗的布局规划;基于功耗优化的布局规划;通过布局布线来减少毛刺;在优化布局的时候调整缓冲器和连线的大小;调整晶体管的大小减少负载电容。

(4)控制输入向量

系统在睡眠状态下,控制输入向量可以明显减少系统的漏电流(选择最小漏电流的向量作为组合逻辑的输入)。

4、补充:RTL级的一些低功耗设计方法

(1)并行结构:一定程度可以减低某一区域的频率,从而可能降低功耗。

(2)流水结构:路径长度缩短为原始路径长度的1/M。这样,一个时钟周期内充电/放电电容变为C/M。如果在加入流水线之后,时钟速度不变,则在一个时钟周期之内,只需要对C/M进行充放电,而不是原来对C进行充/放电。因此,在相同的速度要求下,可以采用较低的电源电压来驱动系统。

(3)优化编码:通过优化编码来降低开关活动,如对于一些状态转移固定的状态机,比如序列生成之类的,可以采用格雷码代替二进制编码。

(4)操作数隔离:原来:在某一段时间内,数据通路的时钟是无用的,则将它的输入置成某个固定值,这样数据通路部分没有翻转,功耗会降低。例如APB总线在下一次传输来临之前,地址/控制信号可以不变,以此来降低功耗。

参考书籍

SoC设计方法与实现(第3版)——郭炜

总结

今天更新一篇数字IC低功耗设计方法,参考的内容基本都是郭老师的书的第11章,如果有同学想要这本书的电子版,可以在留言区输入邮箱或私信我。

数字IC(SoC)低功耗设计方法总结相关推荐

  1. (数字IC)低功耗设计入门(二)——功耗的分析+Comments

    前面学习了进行低功耗的目的个功耗的构成,今天就来分享一下功耗的分析.由于是面向数字IC前端设计的学习,所以这里的功耗分析是基于DC中的power compiler工具:更精确的功耗分析可以采用PT,关 ...

  2. (数字IC)低功耗设计入门(二)——功耗的分析

    前面学习了进行低功耗的目的个功耗的构成,今天就来分享一下功耗的分析.由于是面向数字IC前端设计的学习,所以这里的功耗分析是基于DC中的power compiler工具:更精确的功耗分析可以采用PT,关 ...

  3. IC设计基础系列之低功耗篇2:(数字IC)低功耗设计入门(二)——功耗的分析

    来自:http://www.cnblogs.com/IClearner/tag/%E4%BD%8E%E5%8A%9F%E8%80%97%E8%AE%BE%E8%AE%A1/ 前面学习了进行低功耗的目的 ...

  4. (数字IC)低功耗设计入门(六)——门级电路低功耗设计优化

    三.门级电路低功耗设计优化 (1)门级电路的功耗优化综述 门级电路的功耗优化(Gate Level Power Optimization,简称GLPO)是从已经映射的门级网表开始,对设计进行功耗的优化 ...

  5. (数字IC)低功耗设计入门(七)——门级电路低功耗设计优化(续)

    前面讲解了门级功耗的优化方法,包括静动态和总体的功耗.现在来记录一下门级层次(有点书也说是在系统级)常用的一种低功耗方法--电源门控. ①电源门控概述与原理 电源门控是指芯片中某个区域的供电电源被关掉 ...

  6. (数字IC)低功耗设计入门(八)——物理级低功耗设计to be continued?

    前面学习了从系统级到门级的低功耗设计,现在简单地了解了一下物理级设计.由于物理级的低功耗设计与后端有关了,这里就不详细学习了.这里主要是学习了一些基本原则,在物理级,进行低功耗设计的基本原则是:    ...

  7. 芯片低功耗设计方法概述。

    芯片功耗来源: 低功耗设计贯穿整个芯片开发流程:系统架构,逻辑设计,综合,PR, 时钟树占据了动态功耗的30~60% 低功耗设计方法: 让系统在保持性能的前提下.芯片工作在所需的最低电压.调整Vmin ...

  8. SOC低功耗电路设计方法

    文章目录 提高工艺 时钟门控技术 多电压域技术 电源门控技术 器件低功耗 RTL级优化 后端综合与布线优化 功耗的精确计算 自适应阈值电压调节技术 针对功耗来源,提出了低功耗设计常用方法. 降低电源电 ...

  9. FPGA知识汇集-FPGA的低功耗设计方法总结

    精确的热分析在很多电子产品设计中都有着举足轻重的作用,在高端的PCB设计中尤为突出.热分析的结果常常会影响PCB的机械层设计和产品的外壳设计:是否需要安装散热片.散热风扇等.如果安装散热风扇,往往需要 ...

最新文章

  1. 如何导出Fortify 17.10扫描报告
  2. iPhone审核条例
  3. android点击运行后无法显示设备,Android仿真器除了黑屏外什么都不显示,adb设备显示“设备离线”...
  4. 关于MySQL的死锁问题
  5. 浏览器插件---Tampermonkey油猴
  6. 不到90天的时间,备考数据库系统工程师还来得及吗?
  7. CMOS模拟集成电路笔记(第二部分)
  8. 赛尔号什么时候支持html5,赛尔号5月25日更新攻略汇总 赛伯斯特完全体降临
  9. 运算放大器应用汇总1
  10. HTML(二)在网页中插入表格
  11. 如何将Excel多行单元格文字合并到一个单元格中
  12. MPB:广东生态土壤所孙蔚旻组-DNA稳定同位素示踪与宏基因组单菌草图组装联用技术...
  13. 车子前进档为什么往后退_为什么绝大部分自动挡汽车档把设计,往前是后退、往后是前进?...
  14. 前端 | 如何用html编写动态时钟
  15. 调整数组顺序使奇数位于偶数前面——《剑指offer》
  16. idea 怎么快速创建类的快捷键_Intellij IDEA 生成返回值对象快捷键
  17. 蘑菇云「行空板Python入门教程」第九课-智慧农业物联网系统2
  18. 高斯消元法的时间复杂度计算
  19. 33_光敏传感器实验
  20. Retrofit框架(二)

热门文章

  1. 1051 复数乘法 (C++)
  2. CEO的1元年薪起源
  3. YOLO 系列损失函数
  4. 咖啡兔流程执行逻辑分析
  5. iphonex蓝牙打不开转圈_苹果6 plus蓝牙打不开总转圈怎么处理?
  6. 新松机器人BG总裁高峰_新松机器人:做一个有价值的机器人企业!
  7. 微服务如何聚合 API 文档?这波操作也太秀了
  8. 随机过程基础3--宽平稳随机过程的谱分析
  9. GAIL(Imitating driver behavior with generative adverarial networks)
  10. idea导入子工程module