首页 >资讯参考 > > 正文

PTPX分析功耗(一)

发布日期:2023-06-16 16:08:01 来源:个人图书馆-字善 分享

流程和Averaged类似。

二、VCS生成功耗分析文件

功耗分析文件可通过VCS仿真产生。

1. saif文件的生成

要从RTL或Netlist生成SAIF文件,需要使用toggle系统任务指定需要记录的开关活动信息(时间范围和模块)。


(相关资料图)

$set_toggle_region:指定记录模块

$toggle_start:开始记录

$toggle_stop:停止记录

$toggle_report:写SAIF文件

testbench测试平台主要是调用门级网表、SDF文件、库SAIF文件。testbench中,用$sdf_annotate(“my. sdf”, dut)命令作SDF标记,以保证时序的正确性,从而得到正确的翻转数目。

比较RTL和门级网表生成的saif文件,可以得出门级网表生成的saif文件更加具体,包含了设计中更多的开关活动信息,提高功耗分析的准确性,同时也意味着增加了Runtime。

门级网表生成的saif文件(示例):

timescale1ns/1psmoduleMyDesign_tb;regclk;MyDesignuut(//designports);initial$sdf_annotate("MyDesign.sdf",uut)endalways#50clk=!clk;initialbegin#//readthelibrarysaiffile#//$read_lib_saif("WHATEVER_YOU_NEED.saif");//readthedesignsaiffile$read_rtl_saif("./MyDesign_fw.saif","MyDesign_tb.uut");//monitorgates=ONtorecordtoggles$set_gate_level_monitoring("ON");//specifypartofthedesignforwhichtoggleinfoiscollected-forentiredesignuseUUT_DESIGN$set_toggle_region("MyDesign_tb.uut");//starttogglerecording$toggle_start;clk=0;//Haveyourtestbenchhere........//donetogglerecording$toggle_stop;//writeoutabackwardsaiffile$toggle_report("MyDesign_bw.saif",1.0e-9,"MyDesign_tb.uut");//endsimulation$finish;endendmodule

(参考:

https://mp.weixin.qq.com/s/toRkh2jSoeYHYTULQ-r2fw?st=B397D77E2F901A6470182E2907607142563FD287D2C127167DCA7562D4691409B1D86815B75C82E619BD011A6D12F096862281451DC635576AFBD5266E50929DED8B4321C296AB7B1DC801AC2AD91F380F600935C9192FCA7FEA98F7F30A6D311B417BA10BE0AE2687CB27D859BF041135D4E96D13C8033F74408760C999EB59C84F1832DDB9355969E22EC4F8DCC81C&vid=1688851264355576&cst=BDBA16244C3A60B94FADE6554CC0FD8D18E1B52B04D32BF3E18686D6C039AD6DB707E7C6063E0F146FD1B52E7560F20A&deviceid=96cb15a7-3b3f-4a05-9fe5-0b3535930007&version=3.0.36.2008&platform=win

http://blog.sina.com.cn/s/blog_59a154290102v5tj.html)

2. VCD文件的生成

vcd文件是通过仿真得到的波形文件,里面记载着待分析模块的所有端口和内部线网的跳变信息。从而确定待分析模块的switching功耗。

门级网表生成的VCD文件(示例):

moduletestbench;······testuut(....);initial$sdf_annotate("test.sdf",uut)initialbegin$dumpfile("test.vcd");$dumpvars(0,test);//test是要记录信号的模块名,0表示抓取模块内的所有信号,1表示抓取当前层的信号······endmodule
总结

本文主要介绍了PTPX的两种功耗分析模式(Averaged/Timed),并给出相应的脚本,另外还介绍了如何通过VCS仿真生成saif/VCD功耗分析波形文件。

标签:

Copyright ©  2015-2022 南极兽药网版权所有  备案号:粤ICP备2022077823号-13   联系邮箱: 317 493 128@qq.com