【技术综述】层次化的低功耗设计方法

简介: 本文从低功耗设计的必要性、功耗来源和层次化的低功耗设计方法三个方面,概括性的介绍了IC设计中的低功耗技术,由于本文内容主体是对参考文献[1]和[2]的汇总提炼,因此文中对涉及这两篇文献的内容未做引用标注。

1 低功耗设计的必要性

随着十多年前“Dennard Scaling”定律的终结3,晶体管体积缩小带来了功耗密度的增加。因此伴随芯片集成度的提高、门级规模的增大和性能表现的提高,芯片的功率消耗也随之增加,由此功耗优化问题越来越受到开发人员的重视。综合考量,降低芯片功耗的必要性主要体现在以下几个方面:

  • 散热成本:在芯片的工作过程中,电能以热量形式消耗。为保证芯片正常的工作温度,芯片功耗的增加对封装技术和散热方式提出了更高的要求,同时也增加了芯片的散热成本;
  • 体积:功耗增加需要搭配更大的散热设备,从而增大了芯片产品的体积;
  • 电源成本:功耗增加缩短了端侧设备的电池有效供电寿命;
  • 可靠性:功耗增加带来的芯片环境温度提升会降低芯片的可靠性;

2 功耗来源

充分的了解功耗来源,才能从策略上有效的降低功耗。芯片的功耗来源依据晶体管的工作状态分为静态功耗和动态功耗,具体含义如下:

  • 静态功耗:又称“待机功耗”,是指电路在没有信号反转时,晶体管中漏电流造成的功耗;
  • 动态功耗:是电路在工作时(翻转时)所消耗的能量,对于CMOS电路它又分为开关功耗和短路功耗,用公式描述如下:

image.png

在大规模IC设计中动态功耗占主要地位,典型应用中占到总功耗的80%。动态功耗中短路功耗部分的短路时间较短,此部分功耗可以忽略,因此降低动态功耗无非是从降低Vdd、fclock、CL和Ptrans等的角度出发,由此也会引入在不同设计层次上对低功耗设计的考量。

3 层次化的低功耗设计方法

低功耗设计方法涉及系统级、逻辑级和物理级等不同的设计层次,层次越高对功耗降低就可能越有效,下图是在各抽象层次上降低功耗方法的总览图:

image.png

针对每个抽象层次上的部分低功耗设计方法的具体介绍如下:

3.1 系统级低功耗技术

  • 软硬件划分:采用基于高层次建模的方式进行软硬件划分,高抽象级模型有助于合理高效的分配计算任务到软硬件中,从而降低无效的计算消耗;
  • 整合领域专用模块搭建异构计算平台:将通用SOC与领域专用模块融合,实现领域计算任务的高效部署,从而从系统级降低功耗;

3.2 体系结构级低功耗技术

  • 动态电压频率调节:针对运行中的芯片,依据不同的计算场景动态调整芯片的供电电压和工作频率,实现计算性能和功耗之间的平衡;
  • 多电压供电:对不同模块根据其性能要求不同采用不同电源供电,设计需要在模块间额外增加power rails和level shifters;
  • 门控电源:最常用的体系结构级低功耗技术之一,依据门控层次分为细粒度电源门控和粗粒度电源门控,后续将会有博文针对此项技术展开详细介绍;
  • 门控时钟:是在寄存器不工作时(即使能信号无效时),使能时钟无效,从而时钟树上对应buffer及register都不会再有动态功耗;

3.3 寄存器传输级低功耗技术

此层次上核心降低功耗的思路是通过逻辑优化,减少信号跳变次数,典型应用场景如下:

  • 总线反转:在当前数据与下一个数据之间的汉明距离大于N/2(N为总线位宽)时,就将下一个数据反向后传播,以减少总线上出现转换的位的数量;
  • 状态机编码风格:采用独热码而非二进制码来编码状态机的状态,从而简化译码逻辑,进而减少信号跳变次数;
  • 去掉逻辑云:在操作大规模逻辑云(包括宽加法器、乘法器等)时,往往会在需要时才将其打开;

3.4 晶体管级低功耗技术

  • 调整衬底偏置:降低MOS管衬底偏置可以提高动态电流从而提高电路工作速度,但是衬底偏置和静态漏电成指数反比关系,因此衬底偏置的调整既是对速度和功耗之间的权衡,又是对动态功耗与静态功耗之间的权衡;

4 参考资料

[1]. Arora, Mohit . The Art of Hardware Architecture[M]. Springer New York, 2012.
[2]. Keating M, Aitken R, Flynn D, et al. Low Power Methodology Manual: For System-on-Chip Design[J]. 2007.
[3]. Hennessy J,Patterson D. Computer Architecture-A Quantitative Approach-Sixth Edition[M]. Morgan Kaufmann Publishers Inc. 2018.
[4]. Patterson D . 50 Years of computer architecture: From the mainframe CPU to the domain-specific tpu and the open RISC-V instruction set[C]// Solid-state Circuits Conference. IEEE, 2018.

原文作者:朴凡
点击查看原文

相关文章
|
2月前
|
机器学习/深度学习 计算机视觉
YOLOv8改进 | 细节涨点篇 | UNetv2提出的一种SDI多层次特征融合模块(分割高效涨点)
YOLOv8改进 | 细节涨点篇 | UNetv2提出的一种SDI多层次特征融合模块(分割高效涨点)
137 2
|
8月前
|
人工智能 自然语言处理 算法
能像乐高一样组合,LoraHub挖掘LoRA 模块化特性
能像乐高一样组合,LoraHub挖掘LoRA 模块化特性
202 0
|
11月前
|
机器学习/深度学习 Oracle 关系型数据库
华为团队开发组合贝叶斯优化框架,进行抗体计算机设计
华为团队开发组合贝叶斯优化框架,进行抗体计算机设计
108 0
|
11月前
|
机器学习/深度学习 存储 算法
GNN落地不再难,一文总结高效GNN和可扩展图表示学习最新进展
GNN落地不再难,一文总结高效GNN和可扩展图表示学习最新进展
182 0
|
11月前
|
机器学习/深度学习 算法 搜索推荐
亚马逊团队使用受物理启发的图神经网络,解决组合优化等问题
亚马逊团队使用受物理启发的图神经网络,解决组合优化等问题
105 0
|
12月前
|
机器学习/深度学习 存储 算法
简述量子计算相关的技术分类与可扩展方向(一)
简述量子计算相关的技术分类与可扩展方向
107 0
|
12月前
|
安全 算法 量子技术
简述量子计算相关的技术分类与可扩展方向(二)
简述量子计算相关的技术分类与可扩展方向
90 0
|
机器学习/深度学习 编解码 算法
CNN结构演变总结(二)轻量化模型
上一篇介绍了经典模型中的结构演变,介绍了设计原理,作用,效果等。在本文,将对轻量化模型进行总结分析。 轻量化模型主要围绕减少计算量,减少参数,降低实际运行时间,简化底层实现方式等这几个方面,提出了深度可分离卷积,分组卷积,可调超参数降低空间分辨率和减少通道数,新的激活函数等方法,并针对一些现有的结构的实际运行时间作了分析,提出了一些结构设计原则,并根据这些原则来设计重新设计原结构。
CNN结构演变总结(二)轻量化模型
|
传感器 物联网 5G
带你读《5G 无线增强设计与国际标准》第一章5G无线增强设计概述1.2 5G 无线增强关键技术总体设计思路
《5G 无线增强设计与国际标准》第一章5G无线增强设计概述1.2 5G 无线增强关键技术总体设计思路
|
测试技术 5G 调度
带你读《5G 无线增强设计与国际标准》第三章增强多天线技术3.2增强波束管理(一)
《5G 无线增强设计与国际标准》第三章增强多天线技术3.2增强波束管理