数字ASIC设计概要:功耗分析及设计原则

风行水上 @ 2012-09-01 20:54:39
标签:

    低功耗很重要,因为功耗越低越省电、延长电池使用时间、减少芯片发热。

    Leakage Power

    Leakage Power是一种静态电源功耗。所谓静态,是指信号状态不发生改变的情况下所产生的功耗。MOS管即使是在稳定状态也是有

    Leakage Power的计算

    一个标准单元的Leakage Power在不同的输入状态下可能是不一样的。为了使计算值与实际值更接近,可以对各个输入状态的值按概率进行加权。

    比如一个两输入的与非门(NAND)的Leakage Power可以计算如下:

      Power = P(AB)*Power(AB) + P(A'B')*Power(A'B') + P(AB')*Power(AB') + P(A'B)*Power(A'B)
    

    其中的P(AB)表示AB这种输入状态的发生概率。很显然各种状态的概率之和应该等于一。

    在Synopsys的lib库文件中,或者显示地定义了某种状态对应的leakage power,或者使用默认值cell_leakage_power

    cell(AND2) { 
      cell_leakage_power : 0.00123456 ; 
     
     leakage_power() { 
        when : "!A1&!A2" ; 
        value : "0.00654321" ; 
      }
     
      leakage_power() { 
        when : "!A1&A2" ;      
        value : "0.00345678" ; 
      }
    }
    

    为了知道各个输入状态的发生概率,就需要用到文件SAIF(Switching Activity Interchange Format)文件或者VCD(Value Change Dump)文件。

    Dynamic Power

    动态功耗是由于信号的跳变过程中对相关电容进行了充放电引起的。

    Dynamic Power = V2·f·C
    

    显而易见,要想降低Dynamic Power,或者降低电压,或者降低频率,至于负载C则主要由芯片工艺决定了。

    SAIF & VCD

    • SAIF: Switching Activity Interchange Format
      • 包含信号的toggle count和信号在各个状态(0/1/X/Z)的时间长度等信息
      • 通常比VCD文件要小.
    • VCD: Value Change Dump
      • 记录仿真模拟(simulation)过程中信号发生变化的细节
      • vcd2saif可以转换VCD文件为SAIF文件
    标签:

      分享到:
      comments powered by Disqus

      27/30ms