(二)功耗的分析

论坛 期权论坛     
选择匿名的用户   2021-6-2 18:55   236   0
<p>前面学习了进行低功耗的目的个功耗的构成,今天就来分享一下功耗的分析。由于是面向数字IC前端设计的学习,所以这里的功耗分析是基于DC中的power compiler工具;更精确的功耗分析可以采用PT,关于PT的功耗分析可以查阅其他资料,这里不涉及使用PT的进行功耗分析。</p>
<p><strong>  (1)功耗分析与流程概述</strong></p>
<p>  上一个小节中讲解了功耗的构成,并且结合工艺库进行简要地介绍了功耗的计算。但是实际上,我们根本不可能人工地计算实际的大规模集成电路的功耗,我们往往借助EDA工具帮我们分析电路的功耗。这里我们就介绍一下EDA工具分析功耗的(普遍)流程,然后下一小节我们将介绍低功耗电路的设计和优化。</p>
<p><strong>①功耗分析流程的输入输出</strong></p>
<p>   功耗分析的流程(从输入输出关系看)如下所示:</p>
<p>           <img alt="" class="blockcode" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-e040e78a310bd659756a5e6c54c34c01.png"></p>
<p>上面的图中,需要四种东西:</p>
<p>  ·<strong>tech library</strong>:这个就是包含功耗信息的工艺库了,比较精确的库里面还应该包含<strong>状态路径(SDPD)信息</strong>,代工厂提供。</p>
<p>  ·<strong>netlist</strong>:设计的门级网表电路,可以通过DC综合得到。</p>
<p>  ·<strong>parasitic</strong>:设计中连线等寄生参数,比如寄生电容、寄生电阻,这个一般是后端RC寄生参数工具提供,简单的功耗分析可以不需要这个文件。</p>
<p>  ·<strong>switch activity</strong>:包含设计中每个节点的开关行为情况,比如说节点的翻转率或者可以计算出节点翻转率的文件。这个开关行为输入文件是很重要的。这个开关行为可以有不同的形式提供,因此就有后面不同的分析功耗的方法。</p>
<p>(<strong>注意,不管使用什么方法进行功耗分析,功耗分析的时候,输入设计文件的都是门级网表文件</strong>)</p>
<p> </p>
<p><strong>②开关行为的一些概念</strong></p>
<p>  说到开关行为,我们前面的翻转率也是一种开关行为。此外我们还有其他关于开关行为描述的概念,这里我们通过举例说明,如下图所示:</p>
<p>                   <img alt="" class="blockcode" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-75b26506b9234bba7eadb53f4412eb45.png"></p>
<p> </p>
<p>  ·<strong>翻转(次)数</strong>:逻辑变化的次数,上图中信号的翻转数为3.</p>
<p>  ·<strong>翻转率</strong>:前面也有相关介绍,这里重提一下,翻转率是单位时间内信号(包括时钟、数据等等信号)的翻转次数。上图中翻转率为3/6 &#61; 0.5(6个时间间隔内,翻转了3次)</p>
<p>  ·<strong>T1,T0</strong>:(节点)信号的逻辑值为1和0的持续时间,上图中T1为4,T0为2。</p>
<p>  ·<strong>静态概率(static  probability ,SP)</strong>:(节点)信号逻辑值为1的概率,上图中的SP为4/6&#61;2/3。</p>
<p> </p>
<p><strong> ③开关行为(文件)情况表示</strong></p>
<p>前面我们说到了功耗的分析需要开关行为的情况,一般就是指每个节点的翻转率情况,我们有下面方式设置翻转率:</p>
<p>  ·直接命令进行:例如命令:</p>
<p>  <strong>set_switching_activity  -static   0.2   -toggle_rate   20 -period  1000 [all_inputs]</strong></p>
<p>这时,翻转率设置的节点是输入,响应的翻转率为:Tr &#61; 20/1000 &#61; 0.02GHz</p>
<p>  ·SAIF文件:即switching activity interchange format,开关行为内部交换格式文件,用于仿真器和功耗分析之间交换信息的ASCII文件(美国标准信息交换码文件)。</p>
<p>  ·VCD文件,即value change dump 文件,它也是一个ASCII文件,文件中包括了一个设计中所选择变量值的变化信息,这些信息通过在仿真testbench中使用“VCD系统函数”得到。</p>
<p>  在Synopsys的低功耗设计流程里面,可以使用power compiler(包含在design compiler中)进行功耗分析。我们可以通过命令来定义节点的翻转率的方法来分析功耗----称为无向量(vector-free)分析法;由于SAIF文件和VCD文件可以通过对电路仿真得到,它们是仿真接口格式文件,因此也可以通过VCS仿真器产生SAIF或者VCD文件的方法分析功耗。当要分析的结果比较精确时,一般使用SAIF文件或者VCD文件(VCD文件通过相关命令转换成SAIF文件,而后使用SAIF进行功耗分析)。</p>
<p> </p>
<p><strong>  (2)无向量分析法</strong></p>
<p>  前面我们说到,无向量分析法就是通过命令来定义节点的翻转率的方法来分析功耗。我们先来逐条
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP