功耗分类:启动功耗(浪涌)、静态功耗、动态功耗;

  降低功耗可以在各个层次上降低,但最好是在高级一点的层次上降低及在系统级或体系结构及降低;

  

架构低功耗 低功耗硬件设计_架构低功耗

 

 

    

架构低功耗 低功耗硬件设计_数据_02

系统级:

   1. 由于I/O使用比芯片内核逻辑更高的电压供电,所以I/O使用占用总功耗的50%,所以减小整个系统的芯片间的连接,尽量集成在一块芯片上

  片上系统主要就是关注降低功耗,缩减面积以及降低成本。

   2.软硬件协同设计,事实上10%的代码花费90%的执行时间,如果把资源密集型模块能用硬件实现,就能节约大量功耗。

体系结构级:

  1.高级门控时钟;(之前随笔有提到过)

  2.动态电压、频率调节:对频率不敏感的应用阶段中降低时钟速率和供电电压,可以在性能适度损失的境况下大幅度降低功耗。

     在处理器不需要全速运行时,可以简单地通过降低频率来达到降低功耗的目的。

  3.异步(无时钟)设计;减少时钟上的能量损耗。

  4.电源门控,(细粒度电源门控,粗粒度电源门控)

  5.多阈值电压晶体管(高阈值电压功耗低,低阈值电压功耗高);

  6.多电压供电,使用电压岛或者电压域,根据每个区域时序的要求而提供不同的供电电压;

  7.存储器电源门控;(不使用存储器阵列时将其关闭);

寄存器传输级降低功耗:

  1.状态机编码和解码:在各种状态机设计类型中,格雷码是最适合降低功耗的设计;有效状态机分解达到一个在运行另一个关闭。

  2.二进制表示法:在-1to0转换时用有符号表示比用补码表示更有利;

   

架构低功耗 低功耗硬件设计_状态机_03

  3.RTL代码风格产生门控时钟

   

架构低功耗 低功耗硬件设计_体系结构_04

架构低功耗 低功耗硬件设计_架构低功耗_05

 

   4.独热码多路器:case或if语句选择时采用独热码。

   5.除掉多余的转换:总线数据会发生无意义转换,如下load_out无效的时候应把load_op也设为无效,另外操作1和操作2转换也可以控制不用时不转换;

    

架构低功耗 低功耗硬件设计_体系结构_06

架构低功耗 低功耗硬件设计_数据_07

 

    6.资源共享,资源复用

    7.总线反转:在当前数据和下一个数据之间的差值大于N/2时(N为总线宽度)就将下一个数据反向后传输;

    

架构低功耗 低功耗硬件设计_数据_08

架构低功耗 低功耗硬件设计_状态机_09

 

    8.大规模逻辑云启用和禁用,(宽加法器、乘法器)。

寄存器级:

   1.工艺沟道尺寸

      2.衬底偏压;采用动态偏压形式,在工作模式下保持较小的偏压保持阈值电压小从而保持性能,在保持模式下加强偏压,从而减小功耗。

    

架构低功耗 低功耗硬件设计_状态机_10

 

     3.减小氧化层厚度

     4.多氧化层器件;

     5.减小电容;

静态功耗:是由漏电流引起的功耗;

  • 多阈值工艺,阈值越大漏电越小;
  • 电源门控,控制在不工作时电源断开。

动态功耗:分为反转功耗和短路功耗,反转功耗是0~1反转时的功耗,短路功耗是Pmos和nmos都导通时候的功耗;

  • 多电压域技术;
  • 门控时钟;
  • 动态电压和动态频率调节;