ptpx的averaged和time_based模式的使用
🔈声明:
🔑未经作者允许,禁止转载
🚩推荐一个IC、FPGA新手入门的好网站:👉快 点 击 进 入 学 习 吧👈
最近刚完成了功耗分析平台的搭建,由于是新手,在整个搭建过程中还是遇到了很多问题,故写一篇博客记录所处理过的问题。
ptpx是primetiming中的一个分析引擎,所以先要将pt跑通,才能继续后面的功耗分析。
- pt的脚本很套路,不外乎是先设定文件路径,工艺库路径,再将design和sdc吃进来,脚本代码如下
set power_enable_analysis TRUE
set power_analysis_mode time_based
set search_path "../netlist ../syn/work ."
set link_library " * db_path"
read_verilog design_path
current_design name
link
read_sdc sdc_path
set_clock_transition .1 clk
check_timing
update_timing
report_timing
这里需要注意的是link_library的路径里有个单独的 * ,本人就是少了这个路径,sdc里的cell和netlist里的cell一直对不上。
- 做完这些后想必pt应该可以成功跑通了,只要出现路径的时序分析时就代表跑通了。
- 下一步就是将仿真生成的sdc或者fsdb波形读入平台,如果要做rtl级功耗评估,那么rtl级的仿真即可,但是这样的开关活动性的反标会很少。如果要做更准确些的评估,那么需要对综合后的netlist的仿真,并生成波形文件。
read_fsdb fsdb_path -strip_path -time {}
report_switching_activity
check_power
update_power
report_power
这里读fsdb的option要注意有strip_path,后面的内容是要分析的顶层的层次关系,我就是少了这个又排查了一晚上,最后如果因为time_based的原因需要分段分析功耗,需要读fsdb的时候用-time选项指定时间段读取波形。
set_power_analysis_options -waveform_format fsdb -waveform_output time_base
生成波形可以用set_power_analysis_options来指定生成哪种形式的功耗波形文件。
最后给大家安利一个好网站:
Verilog的学习还是要多以练习为主,想要练习Verilog的同学,推荐可以去nowcoder看看,他们现在的题库内容很丰富,属于国内做的很好的了,而且是课程+刷题+面经+求职+讨论区分享,一站式求职学习网站,最最最重要的里面的资源全部免费