关于低功耗设计

一.功耗

浪涌、静态功耗、动态功耗时功耗主要的来源。

浪涌:器件上电时产生的瞬时最大电流,基于SRAM的FPGA就有浪涌电流,因为上电时这些器件没有配置,所以需要从外部存储器中下载数据来配置其编程资源,如布线连接和查找表。

动态功耗:门电路输出切换时,由逻辑转换所引起的功耗。

静态功耗:来源于漏电流或者工作电路的直流电流。

二.IC设计的低功耗设计

在系统级、体系架构级、逻辑级、物理级都可以降低功耗,层次越高,效果可能越有效。不管哪个层次,主要是通过降低电压、电容、信号频率、单元能耗来降低功耗。

2.1系统级

软硬件划分:系统的设计过程从性能规范开始。系统设计者根据规范和自身经验对系统性能作出推测。根据推测来决系统哪些部分用硬件实现,哪些部分用软件实现。

2.2体系结构级

2.2.1门控时钟(动态功耗)

门控时钟可以参照前面博客。

由于时钟树几乎消耗了整个芯片功耗的 50%,因此最好始终在根部产生或关闭时钟,以使整个时钟树都关闭,而不是沿时钟树在末端才关闭时钟。

使用时序门控时钟最大的挑战在于识别出流水线上“多余的”或“不关心”的状态,一旦这一工作完成,使用时序门控时钟就可以降低大量功耗,典型情况下可以降低 15% ~25%的开关次数。

(如果自己项目中的QBV模块的执行模块只在cyclestart拉高时操作的话,也可以门控时钟低功耗设计,但是cyclestart只是一个开始信号,在这之后,执行模块还需要操作)

2.2.2多电压供电(动态功耗)

在多电压供电(MSV)设计中,设计可以分割为独立的“电压岛”或“电压域”,根据每个区域对时序的要求而使用不同的供电电压。

一种划分方式是将对时序要求严格的模块置于标准电压下操作,对于90nm 工艺是1.OV。对于时序要求不那么严格的路径可以安排到其他区域,供电电压地也可以下降至0.8V,这部分设计的动态功耗可下降36%。

2.2.3电源门控(静态功耗)

电源门控(或电源切断技术)通常指在芯片上加入开关以根据应用要求选择性切断供电电流。设计者可使用两类电源门控:细粒度电源门控和粗粒度电源门控。减少漏电流。

在细粒度电源门控中,在每个门和地之间存在一个开关晶体管。

在粗粒度电源门控中,电源门控晶体管是供电网络的一部分而不是标准单元的一部分。粗粒度本质上创建一个电源开关网络,各组开关晶体管能并行地将整个模块打开或关闭。

2.2.4多阈值电压(静态功耗)

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

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

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

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

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

2.3逻辑级

RTL代码风格对功耗有很大的影响,对于有缺陷的设计,后端是无法修复的。要在RTL代码综合前就把有关功耗的问题解决。

1.状态机编码解码

在各种状态机编码类型中,格雷码是最适合低功耗设计的。因为格雷码通过降低翻转来降低功耗。

2.除掉多余的转换

减少总线无意义的翻转。

3.资源共享

使用重复逻辑会增大面积,而且增加功耗。将重复逻辑提取出来进行资源共享有利于功耗的下降。

三.实际项目中基于FPGA的低功耗设计

1.优先使用PLL(相对MMCM省电),简单分频功能使用BUFGCE_DIV替代PLL或MMCM;

2.硬核DSP& Block RAM优化时序尽量使用内部寄存器打拍,注意DSP& Block RAM硬核内部寄存器不支持异步复位。

3.Block RAM 增加CE需要使用数据时候才输出数据节省功耗。

4.级联Block RAM尽量拼深度,任何时候只打开其中一个Block RAM。

5.Block RAM no change模式降低30%功耗。

6.去除多余的MMCM或者PLL。

7.对于较小的存储器模块可以使用LUTRAM来代替BRAM,将BRAM留给较大的存储器模块使用。一个36KBRAM由2个18KBRAM组成,18(宽)*512(深)会消耗一个9KBRAM,72(宽)*512(深)需要消耗4个9KBRAM,而256(宽)*64(深)需要消耗4个36KBRAM。有很多空间被浪费。

256*64用LUTRAM来实现,可以减少85%的功耗,如下图。

8.和IC一样采用门控时钟,在Xilinx中使用BUFGCE,进行时钟的门控;还可以利用BUFGMUX时钟缓冲器将FPGA内的某个全局时钟关闭。在某些设计中,一些模块并非始终使用,但对于功耗影响却很大,此时这些方法非常有用

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值