首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

数字IC低功耗设计入门(一)——低功耗设计目的与功耗的类型更新

数字IC低功耗设计入门(一)——低功耗设计目的与功耗的类型更新

2.功耗的构成——按结构分
前面按照类型进行功耗分类,这里使用结构进行分类,也就是根据设备的结构或者设备的构成进行分类。(以SoC为例)主要分为:时钟树功耗、处理器功耗、存储器功耗、其他逻辑和IP核功耗、输入输出pad功耗。在不同的应用、设备中,这些功耗的比例不一样,但是时钟树、处理器、存储器占了绝大部分功耗,这是需要说明的。




3.工艺库中的功耗模型
前面介绍了功耗的构成,在这一小点中,将结合工艺库进行阐述功耗(的构成),同时结合工艺库举例说明功耗的计算。
  (1)工艺库中的功耗信息与计算
①开关功耗计算与相关库信息
  我们从前面知道,开关功耗主要就是对输出电容的充放电引起的,工艺库中有开关功耗有关的信息,如下所示:
      
  开关功耗可以用开关能量和翻转率来表示=E·Tr=C·v^2·T2,即开关能量E=CV^2。翻转率我们后面会进行说明,至于放在后面介绍翻转率,一个是即介绍即用,另外一个就是帮大家功耗的组成。
②内部功耗/短路功耗与相关库信息
  内部功耗前面我们也介绍了一些,这里再啰嗦一下,短路功耗/内部功耗是单元(比如说反相器单元)的输入从0到1或者从1到0的转换过程中,单元内部P管和N管同时导通那个瞬间的功耗,这不是因为单元损坏而产生的短路功耗 。工艺库中包含了单元的短路功耗,短路功耗由特性描述工具预先处理,存放在工艺库的功耗查找表里。也就是说,我们可以通过工艺库中内部功耗的相关参数,从而得到内部功耗。工艺库中内部功耗信息如下所示:
        
单元的内部功耗与其转换时间和输出电容负载有关,根据输入转换时间和输出电容的大小,在工艺库中进行查表,得到上升功耗和下降功耗,然后再根据下面的公式进行计算得到总的内部功耗:
Pi=(上升功耗+下降功耗)·0.5·Tr
需要补充一下,工艺库中比较精确的功耗模型,功耗与状态有关,与路径也有关,即state dependent path dependent,SDPD。


③静态功耗/漏电功耗与相关库信息
  静态功耗/漏电功耗也是由特性工具预先处理,存放在工艺库里面。工艺库中的静态功耗信息如下所示:
          
静态功耗跟单元的状态有关,也就是输入(或者说单元)在不同的状态下,对于的功耗不一样,通过状态进行查表,就可以得到相应的静态功耗了。




  (2)计算举例
①翻转率
  前面我们一直说翻转率,那么翻转率到底是什么呢?这里我们就来给大家介绍一下。
翻转率(Toggle rate,Tr):单位时间内信号(包括时钟、数据等等信号)的翻转次数。如下图所示:
              
信号在40ns时间内跳转了4次,翻转率为:Tr = 4/4ns = 0.1GHz


②动态功耗计算举例
  从前面中我们知道,在计算动态功耗的时候,我们才用到翻转率。其中开关功耗的表达式为:
                

内部功耗的表达式为:
        Pi=(上升功耗+下降功耗)·0.5·Tr


现在我们使用翻转率和工艺库的功耗信息来计算一下电路的动态功耗,电路如下图所示:
                      
工艺库信息如下所示:
          
·动态功耗中的开关功耗计算:
            
根据公式,我们可以直接计算出开关功耗为:29.403uw


·动态功耗中的短路功耗/内部功耗:
              Pi=(上升功耗+下降功耗)·0.5·Tr
根据公式,我们先要查找工艺库得到上升(沿)功耗和下降(沿)功耗。输入转换时间为1.20000,输出电容负载为0.270000,因此对于的上升功耗和下降功耗分别为:0.214947和0.094129。因此总的内部功耗为:
            

·于是得到总的动态功耗为:
            



③其他事项
·单元的功耗可能与状态和路径有关,下图中:
          
左图是RAM单元,在读状态和写状态时,功率是不同的。此外,单元的功耗在不同的操作模式下也有不同的值。
右图表示了输入到输出的不同路径,路径不一样,功耗也是不一样的。
·工艺库有状态和路径不同时的功耗描述,即SDPD描述,如下图所示:
          
我们也可以在EDA工具中使用report_lib  slow  -power 命令列出库中的功耗信息:
              
返回列表