暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

PA基础知识(二)--Redhawk功耗计算

小蔡读书 2021-08-18
7423

       引言


      目前计算功耗的工具主流有三个voltus,ptpx,redhawk,业界基本以ptpx为准,关于ptpx功耗的计算,以前写过,连接如下。值得聊的是:网上有大量介绍功耗计算的文章,都是根据教科书或者userguide来写的,虽然写到了晶体管级,但是实用性并不大(我写的这三篇也一样)。



                                   数字集成电路功耗系列1

                                   数字集成电路功耗系列2

                                   数字集成电路功耗系列3


       实际项目经常碰到的问题是:

      1.项目开始评估时,希望知道芯片的大概功耗值,以便评估封装设计成本、散热成本、产品竞争力等,怎样才能给一个比较准的?

       2.在项目做到中后期的时候,怎么评估出和实测比较接近的功耗?

针对这些对项目有用的问题,似乎很少有文章去讨论。究其原因,功耗评估在业内算比较难的问题,尤其对于大芯片、没有功耗实测数据时(欢迎有经验大佬讨论以上两个问题)。
回到redhawk 功耗计算相关问题,既然有ptpx作为功耗计算的标准了,为啥还要讨论redhawk功耗计算,因为redhawk在IR/EM分析之前,会先做功耗计算,所以有必要聊下redhawk功耗计算的相关问题。

RHWK功耗计算相关脚本设置说明

       STA_FILE 


      包含每一个instance的输入/出pin的transition time,timing window,时钟频率。


       FREQUENCY

       定义芯片上的主频,或者是占芯片大部分功耗的最低频率。


       GSC FILE


       用Global Switching Configuration(GSC) file对instance和block设置合适的翻转状态,比如有时mem会设置为HIGH.


        toggle rate


        instance的toggle rate定义为在一个时钟周期内,从0到1和1到0状态跳变的总和。为了最准确的功耗分析,你必须编译并输入最佳的toggle rate信息,来说明设计中instance的平均翻转情况。例如,时钟网络相对于其时钟的toggle rate为 2.0,因为net在一个时钟周期内从 0->1 和 1->0 各切换一次。

        你做IR分析的时候有单独为某些instance做过toggle rate设置吗?方法:把ITR_OVERRIDE_BPFS设为1 ,INSTANCE_TOGGLE_RATE_FILEs  ../../file1 (file1里面第一列写instance name,第二列写翻转率数值)


       BLOCK_POWER_FOR_SCALING


       基于用户已知的功耗数据(PTPX计算获得),对block,instance,cell用功耗评估翻转率。通常通过以下两种形式反标:

        1.CELLTYPE <CELL NAME>  [<pwr_W>?<Vdd_pin>?]

        2.FULLCHIP <BLOCK INSTANCE NAME> [<pwr_W>?<Vdd_pin>?]


        POWER MODE


       POWER_MODE APL:cell的功耗数据来自APL文件,如果没有APL文件,工具会去读.lib里面的相关数据。


        INPUT TRANSITION


      定义 STA 文件中未指定的所有instance的输入引脚的输入transition time一般为0.2ns.


        Specifying Supply Net


        以下关键字定义了电源net及其电压

        VDD_NETS { <Vdd net_name in DEF> <value in Volt>}

        GND_NETS {<Gnd net_name in DEF>  <value in Volt>} 

    

        以上设置为啥和功耗相关呢?细细品读那三篇链接文章,应该可以看出来。


       功耗计算的命令

 

       导入所有设计数据并设置适当的 GSR 关键字值后,可以使用以下命令开始计算功耗:perform pwrcalc.

       

      PTPX和redhawk 计算功耗的对比


      1.toggle  rate的设置


      redhawk设置时钟网络(both clock pin and clock buffer outputs)和非时钟网络的翻转率。脚本设置如下:

      TOGGLE_RATE <non_clock_TR>?<clock_network_TR>?

     PTPX设置register/clock_gating_cells/black_boxes/memory翻转率。脚本设置如下:

      set_switching_activity -toggle_rate 0.1 -type registers

      从以上设置可以看出,PTPX的设置对于设计更合理一些。


      2.功耗计算输入文件


      redhawk功耗计算输入文件为ate文件,spf文件,APL文件或者lib文件;PTPX功耗计算输入文件gate netlist,sdc,lib,spf文件。


      3.功耗用途


     redhawk功耗一般用来做IR/EM分析;PTPX功耗一般用来做产品功耗评估。        

         

        


       




文章转载自小蔡读书,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论