【数字IC基础】低功耗设计

news/2024/5/10 21:13:53/文章来源:https://blog.csdn.net/Tranquil_ovo/article/details/132077902

低功耗技术

  • 功耗构成
    • 静态功耗(漏电功耗)
    • 动态功耗
      • 翻转功耗(Switch Power)
      • 短路功耗(Internal Power)
    • 不同类型的标准单元的功耗
  • 低功耗设计方法
    • 降低芯片工作电压
    • 多阈值工艺方法
    • 电源门控(Power Gating)
    • 多电压域(Multi-Voltage Domain)
    • 体偏置
    • 门控时钟
      • 一个简单的门控时钟
      • 基于锁存器的门控时钟
      • 基于触发器的门控时钟
      • 门控时钟的可测试性设计
      • 门控时钟的时钟树设计
  • 部分参考资料

功耗构成

在这里插入图片描述

静态功耗(漏电功耗)

CMOS电路中静态功耗主要是由漏电流引起的功耗。漏电流主要由以下几部分组成:

在这里插入图片描述

  1. PN结反向电流 (PN-junction Reverse Current),由少数载流子漂移和在耗尽区产生电子/空穴对引起。

  2. 源极和漏极之间的亚阈值漏电流(Sub-threshold Current),亚阈值泄漏电流是晶体管应当截止时流过的电流。

  3. 栅极漏电流,包括栅极和漏极之间的感应漏电流(Gate Induced Drain Leakage),

  4. 栅极和衬底之间的隧道漏电流 (Gate Tunneling ),由于栅极氧化物隧穿和热载流子注入,从栅极直接通过氧化物流到衬底的电流,

在这里插入图片描述

随着工艺先进,晶体管阈值电压降低,漏电流增大,静态功耗增大。

静态功耗的计算公式:

在这里插入图片描述

动态功耗

在这里插入图片描述

动态功耗 = 翻转功耗 + 短路功耗

翻转功耗(Switch Power)

翻转功耗又称为开关功耗,是电路在开关过程中对输出节点的负载电容充放电所消耗的功耗

当电容Cload通过PMOS 管充电时它的电压从0升至VDD,此时从电源上吸取了一定的能量。该能量的一部分消耗在 PMOS 器件上,而其余的则存放在负载电容上。在由高至低的翻转期间,这一电容被放电,于是存放的能量被消耗在NMOS 管中。

翻转功耗的计算公式:

在这里插入图片描述

从上述公式中可以看出,如果想要减少功耗,可以:①降低电压;②降低反转率;③减少负载电容

短路功耗(Internal Power)

短路功耗又可以称为内部功耗,主要原因是直接通路电流引起的功耗,即短路造成的。短路功耗是因为在输入信号进行翻转时,信号的翻转不可能瞬时完成,因此PMOS和NMOS不可能总是一个截止另外一个导通,总有那么一段时间是使PMOS和NMOS同时导通,那么从电源VDD到地VSS之间在短期内出现了一条直流通路,就形成了短路电流,

在这里插入图片描述

不同类型的标准单元的功耗

低功耗设计基础:深入理解Internal Power

低功耗设计方法

在这里插入图片描述

在设计一个系统的时候,必须清楚功耗和性能的关系。也就是说,在开始设计时必须清楚地知道你的系统应用需要在得到尽可能高性能的基础上降低功耗,还是需要在尽可能低的功耗基础上提高性能,这对采用什么样的低功耗设计技术非常关键。

下图所示为基于低功耗反馈的前向设计方法。从图中可以看出,可以在五个层次上对系统的功耗进行优化,自顶向下分别是系统级优化,行为级优化,RTL级优化,逻辑级优化和物理级优化。

在这里插入图片描述

各层次优化的具体方法及优化效果如下图所示。

在这里插入图片描述

可以看到,层次越高的优化方法优化效果越明显
体系结构级优化:多电压供电、多阈值电压、添加缓存
RTL级优化:门控时钟(对应是的降低反转率f)、减少毛刺
物理级优化:减少电容、衬底偏压

降低芯片工作电压

按照中学物理的计算公式,功率与电压和电流的乘积正相关。在芯片上计算功耗虽然没有这么简单,但是从原理上降低芯片电压仍然是降低功耗最直观最有效的方法。也正因为如此,当前大多数芯片的工作电压从最初的5V、3V一路下降,目前基本都在1V以下甚至0.5V以下。而随之而来的困难在于,随着电压的下降,标准单元的速度也会随之变慢,但是电子设备对处理速度亦即芯片频率的要求却越来越高。以移动设备为例,最初的芯片频率不过几十上百兆赫兹,而现今最快的手机SoC频率峰值已经超过2GHz。这方面也是每一代芯片升级背后所需要解决的技术难题之一。

(静态功耗和动态功耗的计算中都涉及到电压)

多阈值工艺方法

使用多阈值工艺可以在时序和漏电流之间进行一些折中。如下图所示,低阈值的标准逻辑单元具有速度快、漏电流大的特点,高阈值的标准逻辑单元具有速度慢、漏电流小的特点。所以在设计中可以在关键路径上使用低阈值的标准逻辑单元来优化时序,在非关键路径上使用高阈值的标准逻辑单元来优化漏电流。所以使用多阈值工艺可以大大减少系统的静态功耗.

在这里插入图片描述

这是当前芯片行业最常用也是最容易使用的设计方法之一。所谓Vth,指的是逻辑门的阈值电压。而阈值电压和功耗与速度存在如下关系:阈值电压越高,cell速度越慢,功耗越小;反之阈值电压越低,cell速度越快,功耗越高。

在实际应用中,一般采用的策略为:对于性能要求高的模块,或者频率比较高的部分,采用Vth比较低的cell,让setup更容易收敛;对于性能要求较低的模块,或者频率较低的部分,多采用Vth比较高的cell,让功耗更低。通过这种方法,可以实现在同一块芯片上,根据性能和功耗的不同要求而调整cell的使用,从而避免在不太重要的功能上浪费过多的功耗。

电源门控(Power Gating)

一颗SoC中可能包含很多功能模块如视频处理(DSP),音频处理(AUDIO),定位(GPS),游戏(GPU),存储(Memory)等,但大多数功能并不会同时开启,因此为了降低不用模块在等待状态下消耗的功耗,干脆就设计成在不用的时候把它们关闭。这就是Power Gating最初的想法。

最有效的降低功耗的手段莫过于电源关断了。其原因在于不论多低的电压,多小的电流,多慢的速度抑或多小的leakage,都不如将电源完全关闭来的彻底。

在这里插入图片描述

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

值得注意的是,一方面,由于模块的输入输出信号是与其他模块相连接的,很多情况下需要在处于睡眠状态的模块与非睡眠状态的模块之间的信号接口上添加隔离单元(Isolation Cell),这样在输出信号的模块断电情况下,没有断电的接收模块的输入信号仍然具有特定的驱动。另一方面,需要添加保持寄存器 (Retention Register)来保持一些特殊存储器件上的值,以保证电源开通时的正常功能。例如,当模块电源处于断电状态时,需要保存其中存储器中的值,就需要添加保持寄存器。

多电压域(Multi-Voltage Domain)

在Power Gating的基础上,还做如下考虑:
对于性能要求较高的CPU,GPU等模块,由于需求频率较高,在设计上可能采用较高的电压,而一些不太核心的模块如AUDIO,GPS等,可以采用相对低的电压来设计。这样一来,整颗芯片可能就会变成下面的样子:

在这里插入图片描述

在当前的设计流程中,一般使用基于模块的设计,这就使多电压设计成为可能。但电压的降低将使 MOS 管的翻转速度降低。可以根据应用场景让不同的模块在不同的电压下以不同的频率运行。

体偏置

将衬底电压偏置,提高晶体管阈值。但阈值电压的升高会影响性能,使用动态偏置的方法,在工作模式下保持较小的偏置电压,在保持模式下加强偏置电压。

值得注意的是,由于MOS 管的体偏转需要时间,电路由等待模式转为工作模式的时间较长。

参考链接:
低功耗基础:Body Bias

门控时钟

随着如今芯片的规模和功耗越来越大,门控时钟被大量地用在芯片设计中,这是在 RTL级的低功耗优化技术

门控时钟即用逻辑门控制电路模块时钟信号的通断,从而控制该模块的工作情况。

当芯片上的某一模块的功能不需要工作时,如芯片上的 USB 模块或 SPI 接口模块没有使用时,通常会将通往这些模块的时钟停下来。通过关闭空闲电路的时钟,可以大量减少消耗在时钟树上的和不工作的触发器上的功耗。

一个简单的门控时钟

下图所示为一种简单的门控时钟电路结构,它由一个与门或者是或门组成。(“与”门或“或”门使用哪个取决于触发器的活跃沿)

在这里插入图片描述

不含有锁存器的门控时钟电路,虽然实现比较简单,但是我们无法确定EN的持续时间,如果EN的持续时间小于T/2(T位CLK的周期),那么就会产生门控无效的问题。

在这里插入图片描述

此外,还会引起时钟毛刺的产生:

在这里插入图片描述

当源时钟 CLK 为高电平时,如果CLK_EN为低电平,GCLK 将立刻变为低电平,结果一个时钟的下降沿提前出现,即产生一个类似于毛刺的不完整时钟信号,这会影响一些使用下降沿触发器的电路。同样的,当源时钟CLK为高电平时,如果 CLK_EN 变为高电平,GCLK将立刻变为高电平,造成一个时钟的上升沿提前出现,这会影响一些使用上升沿触发器的电路。总之,这类在门控时钟上出现的毛刺,对同步电路来说是非常致命的。

(使能信号的到来时间和离开时间是不确定的,导致)

基于锁存器的门控时钟

对于简单使用与门的情况,在时钟信号位高电平的时候,使能端的变化会可能会导致毛刺的产生(因为高电平是与门的非控制值,低电平时控制值)。

为了避免过早截断时钟脉冲或误产生多个时钟脉冲(或时钟上的毛刺),正确的操作强制要求使能信号(EN)从时钟活跃沿(本例为上升沿)起持续到时钟不活跃沿(本例为时钟下降沿)止为一个常量。

基于锁存器的门控时钟的思想是设计中加入了一个电平敏感的锁存器,以在时钟活跃沿和不活跃沿之间保持使能信号不变,这样就无须依靠门控电路本身来满足这一要求了。如下图所示:

在这里插入图片描述

基于触发器的门控时钟

虽然基于 Latch 的门控时钟保证门控时钟周期完整、避免产生毛刺。但会产生亚稳态,避免产生亚稳态就把锁存器换成触发器。

在这里插入图片描述

(使用触发器就可以同伙时序约束来避免亚稳态的产生。)

集成时钟门控单元(Integrated Clock Gating Cell

门控时钟的可测试性设计

在进行可测性设计的时候,如果要进行全扫描设计,则希望所有的触发器在扫描模式时都由个统一的同步时钟驱动。如果电路中存在门控时钟单元,则会使得产生的时钟 GCLK 不可控制。最简单的解决方法是在门控电路结构前加入一个或门,其输入为扫描测试模式的使能信号和门控时钟使能信号,如图10所示。在测试模式下,时钟的门控时钟单元将被旁路。
在这里插入图片描述

门控时钟的时钟树设计

在时钟树的设计中,门控时钟单元应尽量摆放在时钟源附近,即防止在门控时钟单元的前面摆放大量的时钟缓冲器(Buffer)。这样,在利用门控时钟电路时钟时不仅能将该模块中的时钟停掉,也能将时钟树上的时钟缓冲器停止反转,有效地控制了时钟树上的功耗。如下图所示,在布局时将门控时钟电路的部件摆放在一起,并摆放在时钟源 GCLK 附近,停掉时钟后,整个时钟树上的缓冲器(CTS)和时钟树驱动的模块都停止了翻转。通常的 SOC 设计中,门控时钟单元会被做成一个硬核或标准单元,称之为集成时钟门控单元(Integrated Clock Gating Cell),也就是 ICG 技术。

在这里插入图片描述

部分参考资料

低功耗设计方法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_340026.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WSL1升级为WSL2

首先需要启用组件 使用管理员打开Powershell并运行 Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform启用后会要求重启计算机 从https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi获取WSL2 Linux内核更新包,…

浅谈postman设置token依赖步骤

📌 博客主页: 程序员念姐 📌 专注于软件测试领域相关技术实践和思考,持续分享自动化软件测试开发干货知识! 📌 如果你也想学习软件测试,文末卡片有我的交流群632880530,加入我们&…

【蓝图】p48冲刺、瞬移、多段跳

p48冲刺,瞬移,多段跳 p48冲刺,瞬移,多段跳冲刺功能实现瞬移功能实现Set Actor Location(设置Actor位置) 二段跳 p48冲刺,瞬移,多段跳 按shift加速,松开shift恢复普通速度…

数据库:MYSQL参数max_allowed_packet 介绍

1、参数作用 max_allowed_packet参数是指mysql服务器端和客户端在一次传送数据包的过程当中最大允许的数据包大小。如果超过了设置的最大长度,则会数据库保持数据失败。 2、问题场景 ● 有时候业务的需要,可能会存在某些字段数据长度非常大(比如富文本编辑器里面的内容),…

【项目 线程2】3.5 线程的分离 3.6线程取消 3.7线程属性

3.5 线程的分离 #include <stdio.h> #include <pthread.h> #include <string.h> #include <unistd.h>void * callback(void * arg) {printf("chid thread id : %ld\n", pthread_self());return NULL; }int main() {// 创建一个子线程pthread…

设备管理系统与物联网的融合:实现智能化设备监控和维护

在数字化时代&#xff0c;设备管理系统和物联网技术的融合为工业企业带来了巨大的变革和创新。本文将探讨设备管理系统与物联网的融合&#xff0c;重点介绍设备健康管理平台在实现智能化设备监控和维护方面的关键作用和优势。 一、设备管理系统与物联网的融合 随着物联网技术的…

springboot+vue网红酒店客房预定系统的设计与实现_ui9bt

随着计算机技术发展&#xff0c;计算机系统的应用已延伸到社会的各个领域&#xff0c;大量基于网络的广泛应用给生活带来了十分的便利。所以把网红酒店预定管理与现在网络相结合&#xff0c;利用计算机搭建网红酒店预定系统&#xff0c;实现网红酒店预定的信息化。则对于进一步…

硬件串口通信协议学习(UART、IIC、SPI、CAN)

0.前言 学习资料&#xff1a;江协科技的个人空间-江协科技个人主页-哔哩哔哩视频 通信的目的&#xff1a;将一个设备的数据传送到另一个设备&#xff0c;扩展硬件系统通信协议&#xff1a;制定通信的规则&#xff0c;通信双方按照协议规则进行数据收发 全双工&#xff1a;通信…

MybatisPlus实战笔记

概述 Mybatis支持定制化SQL、存储过程以及高级映射&#xff0c;避免几乎所有的 JDBC 代码和手动设置参数以及获取结果集。可以使用简单的 XML 或注解来配置和映射原生信息&#xff0c;将接口和Java的POJO映射成数据库中的记录。 缺点&#xff1a; SQL工作量很大&#xff0c;尤…

5款无广告的超实用软件,建议收藏!

​ 大家好,我又来了,今天向大家推荐几款软件,它们有个共同的特点,就是无广告、超级实用,大家看完之后,可以自己去搜索下载试用。 1.重复文件清理——Duplicate Cleaner ​ Duplicate Cleaner是一款用于找出硬盘中重复文件并删除的工具。它可以通过内容或文件名查找重复文档、…

Delphi Professional Crack,IDE插件开发和扩展IDE

Delphi Professional Crack,IDE插件开发和扩展IDE 构建具有强大视觉设计功能的单源多平台本机应用程序。 Delphi帮助您使用Object Pascal为Windows、Mac、Mobile、IoT和Linux构建和更新数据丰富、超连接、可视化的应用程序。Delphi Professional适合个人开发人员和小型团队构建…

Qt 6. 其他类调用Ui中的控件

1. 把主类指针this传给其他类&#xff0c;tcpClientSocket new TcpClient(this); //ex2.cpp #include "ex2.h" #include "ui_ex2.h"Ex2::Ex2(QWidget *parent): QDialog(parent), ui(new Ui::Ex2) {ui->setupUi(this);tcpClientSocket new TcpClient…

有利于提高xenomai /PREEMPT-RT 实时性的一些配置建议

版权声明:转自: https://www.cnblogs.com/wsg1100 一、前言 1. 什么是实时 “实时”一词在许多应用领域中使用,人们它有不同的解释,并不总是正确的。人们常说,如果控制系统能够对外部事件做出快速反应,那么它就是实时运行的。根据这种解释,如果系统速度快,则系统被认…

数据结构入门指南:带头双向循环链表

目录 文章目录 前言 1.结构与优势 2.链表实现 2.1 定义链表 2.2 创建头节点 2.3 尾插 2.4 输出链表 2.5 尾删 2.6 头插 2.7头删 2.8 节点个数 2.9 查找 2.10 位置插入 2.11 位置删除 2.12 销毁链表 3. 源码 总结 前言 链表一共有8种结构&#xff0c;但最常用的就是无头单…

IDEA的实用快捷键大全

目录 1.常规快捷键 1.1通用类 1.2注释类 1.3操作类 1.4展开与关闭 2.智能补全类快捷键 3.程序结构类快捷键 4.统一操作快捷键 1.常规快捷键 1.1通用类 像 Ctrl C 复制&#xff0c; Ctrl V 粘贴&#xff0c; Ctrl S保存文件&#xff0c; Ctrl X剪切&#xff0c;这种…

【深度学习】SMILEtrack: SiMIlarity LEarning for Multiple Object Tracking,论文

论文&#xff1a;https://arxiv.org/abs/2211.08824 代码&#xff1a;https://github.com/WWangYuHsiang/SMILEtrack 文章目录 AbstractIntroductionRelated WorkTracking-by-DetectionDetection methodData association method Tracking-by-Attention Methodology架构概述外观…

Excel功能总结

1&#xff09;每一张表格上都打印表头 “页面布局”-->“打印标题”-->页面设置“工作表”页-->打印标题“顶端标题行” 如&#xff1a;固定第1~2行&#xff0c;设置成“$1:$2” 2&#xff09;将页面内容打印在一页【缩印】 1.选好需要打印的区域&#xff0c;“页面布…

“单片机定时器:灵活计时与创新功能的关键“

学会定时器的使用对单片机来说非常重要&#xff0c;因为它可以帮助实现各种时序电路。时序电路在工业和家用电器的控制中有广泛的应用。 举个例子&#xff0c;我们可以利用单片机实现一个具有按钮控制的楼道灯开关。当按钮按下一次后&#xff0c;灯会亮起并持续3分钟&#xff…

删除这4个文件夹,流畅使用手机无忧

在现代社会中&#xff0c;手机已经成为我们生活中不可或缺的一部分。然而&#xff0c;随着使用时间的增长&#xff0c;我们可能会遇到手机卡顿和内存不足的问题&#xff0c;让我们感到十分困扰。手机卡顿不仅影响使用体验&#xff0c;还可能导致应用程序运行缓慢&#xff0c;甚…

网络安全 Day26-PHP 简单学习

PHP 简单学习 1. 为什么要学习PHP2. PHP语法3. php 变量4. 字符串数据5. PHP 函数6. 数组 1. 为什么要学习PHP php存量多开源软件多很多安全流程 渗透方法 sql注入基于PHP语言入门简单 2. PHP语法 格式: <?php 内容?>或<?内容?>结尾分号例子<?php phpin…