数字IC设计学习笔记_低功耗设计1

数字IC设计学习笔记

低功耗设计1

1. 目的
2. 功耗的分析
	2.1 功耗的类型
	2.2 按结构分类
	2.3 翻转率的计算
3. 低功耗设计方法
	3.1 系统与架构级低功耗设计方法
	3.2 RTL级低功耗设计方法
	3.3 门级电路低功耗设计方法
	3.4 物理级低功耗设计方法

1. 目的

  • (1). 便携式设备的需求
  • (2). 可靠性和性能的需求
    功耗越高,热量越多,噪声越大,越影响器件正常工作,设备性能降低。
  • (3). 成本
    功耗越大,热量越高,后期封装增加散热设备等,增加成本。

2. 功耗的分析

  • 2.1 功耗的类型
    1). 动态功耗
    (1). 开关功耗(翻转功耗,主)
    对负载电容充放电消耗的功耗。
    在这里插入图片描述
    VDD:电源电压
    Cload:负载电容
    Tr:翻转率 = 2f (上升沿,下降沿)
    平均功耗:
    在这里插入图片描述
    (2). 短路功耗(内部功耗)
    PMOS, NMOS,同时导通时,VDD到VSS之间形成的短路电流,消耗的功耗。主要与状态,路径有关,即state dependent path dependent.
    在这里插入图片描述
    VDD:电源电压
    Qx:一次翻转中电源到地的电荷量
    Tr:翻转率 = 2f (上升沿,下降沿)
    总结:动态功耗主要与电源电压,反转率,负载电容有关。
    2). 静态功耗
    由漏电流引发的功耗,主要与工艺和状态有关,输入在不同的状态下,功耗不同。
    在这里插入图片描述
    在这里插入图片描述

    漏电流的组成
    (1). PN结反向电流(PN junction reverse current)
    (2). 源极与漏极之间亚阈值漏电流(sub-threshold current): 栅极电压小于导通阈值电压,产生FET漏极到源极的泄漏电流。晶体管越窄,泄漏电流越大。
    (3). 栅极与漏极之间感应漏电流(Gate induced drain leakage)
    (4). 栅极与衬底之间隧道电流(Gate Tunneling): 栅极加信号,栅极与衬底之间产生电容,进而产生电流,存在功耗。这是超纳米工艺后的主要电流来源之一。
    3). 浪涌功耗
    浪涌电流引起的功耗,一般不关注。
    浪涌电流:开机或者唤醒的时候,器件通过的最大电流。

  • 2.2 按结构分类
    (1). 时钟树功耗
    (2). 处理器功耗
    (3). 存储器功耗
    (4). 其他逻辑和IP功耗
    (5). 输入输出PAD功耗
    在这里插入图片描述

  • 2.3 翻转率的计算(Toggle rate)
    概念:单位时间,信号的翻转次数。
    在这里插入图片描述

Tr = 4次/80us = 50000 Hz
注:在EDA工具中使用report_lib slow -power 命令列出库中的功耗信息。

3. 低功耗设计方法

  • 3.1 系统与架构级低功耗设计方法
    系统与架构级的低功耗设计可以节省70%以上的功耗。
    方法
    ① 多电压设计技术(Multi-VDD)
    (a) 各电压区域有固定的电压(固)
    (b) 各电压区域有固定的多个电压,软件决定哪一个(动)
    (c) 自适应方式,各电压域可变,软件决定哪一个(动)
    ② 软硬件协同设计
    DVFS技术:动态电压频率调节,dynamic voltage dynamic frequency scaling:将不同的模块的电压和频率降到刚好满足体统最低要求,降低体统中不同模块的功耗。
    ③ 系统时钟分配
    将系统设置为不同的工作模块,加入时钟控制模块,不同的工作模式下,选择不同的工作频率的时钟,不用的模块关闭。
    ④ 算法与IP选择
    算法:对数系统比线性系统好
    IP:实现相同的功能,哪个功耗大
    ⑤ 其他
    方法:
    异步设计:不需要全局时钟,通过握手信号,减少功耗
    缓存:基于缓存体统,降低功耗(如DSP中FFT算法,在存储器与处理器之间添加缓存)
    DFT:可测性设计上进行功耗降低,存储器的低功耗

  • 3.2 RTL级低功耗设计方法
    ① 并行与流水选择
    并行:降低系统时钟频率,降低功耗
    流水线:在一个长的组合逻辑路径上,插入M级流水线,路径长度变为原来的1/M,从放电电容变为C/M,如果系统时钟频率不变,则可以采用较低的驱动电压,降低整体的功耗。
    ② 资源共享与状态编码
    相同操作在多处出现,则可以采用资源共享,避免重复出现,降低功耗。
    数据编码采用翻转率低的状态编码,可以减少动态功耗。(格雷码代替二进制编码)
    ③ 操作数隔离
    在莫一段时间内,数据输出是没有用的,则可以将输入换成固定的值,这样数据通路不反转,降低功耗
    注:增加面积,影响DFT
    ④ 门控时钟
    时钟树是由大量的缓冲器和反相器组成,时钟信号在设计中的饭庄率最高,时钟树的功耗可高达整个设计功耗的40%,加入门控时钟电路,减少时钟树的翻转,降低功耗。同时由于减少了寄存器时钟引脚的翻转,寄存器的内部功耗也减少了,一般可以节省20%~60%的功耗

  • 3.3 门级电路低功耗设计方法
    概念:从完成门级网表映射开始,对设计进行优化,既满足设计规则,又,又满足时序。
    可优化功耗类型:设计总功耗,静态功耗,动态功耗
    方法

  • ① 静态功耗优化
    多阈值电压设计:
    尺寸(↑),器件的供电电压(↑),阈值电压Vt(↑),漏电功耗(↓),门延迟(↑),速度(↓)。
    尺寸(↓),器件的供电电压(↓),阈值电压Vt(↓),漏电功耗(↑),门延迟(↓),速度(↑)。
    –>>在关键路径使用阈值电压低的单元(Lvt),非关键路径使用高阈值电压的单元(Hvt)–>降低功耗

  • ② 基于EDA的动态功耗优化
    需提供电路的开关行为,工具根据每个节点的翻转率,优化整个电路的功耗。
    用compile/physopt命令可同时对时序和动态功耗优化。

  • ③ 电源门控(power gating)
    芯片中某个模块在一段时间内不工作,可以关掉的供电电源(关掉供电电源可以使用MTcmos开关,后端工具在布局布线时加入MTCMOS),模块处于休眠状态,功耗很低;唤醒时,需要保持关电前的状态,使用保持寄存器(retention register),用于记忆状态。

  • 3.4 物理级低功耗设计方法
    (1). 高翻转率的节点尽可能采用低电容金属层布线。
    (2). 高翻转率的节点尽可能短。
    (3). 高负载的节点,总线,采用低电容金属层。
    (4). 特别宽的器件,可以采用特殊版图设计,减少漏极电容。
    (5). 有些不限工具可以以功耗作为目标生成时钟树。


—部分内容源自对其他博客的学习Thanks^^
https://www.cnblogs.com/IClearner/p/6923585.html

【注】:个人学习笔记,如有错误,望不吝赐教,这厢有礼了~~~


猜你喜欢

转载自blog.csdn.net/weixin_50722839/article/details/110165806
今日推荐