在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 9946|回复: 18

[原创] PTPX功耗分析实战, 附VCD/SAIF/FSDB的区别

[复制链接]
发表于 2020-3-18 22:28:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 sinbad 于 2020-3-18 22:30 编辑

本文转载自微信公众号【RTL2GDS】(微信号:rtl2gds)

这是一篇PTPX进行功耗分析的实战文章,介绍了主要的命令和选项,以及对反标翻转率的解析,不同波形文件的比较。

PTPX功耗分析


PT如果report_power需要额外的PTPX的licence,可以通过以下变量打开:

set_app_var power_enable_analysis true (默认是false)

用PT做平均功耗分析,分三种情况:
(1)假如有波形文件:最理想的情况是能提供后仿产生的VCD/SAIF文件,通过read_vcd/read_saif将真实的翻转率反标到Net上,然后通过report_switching_activity检查反标率,然后report_power报功耗值。

(2)人为设置翻转率:根据经验值,通过set_switching_activity/set_case_analysis来设置register,clock gate以及memory/blackbox的翻转率,这个经验是从以往项目的仿真得到的,然后通过以下类似下面的命令设置:
reset_switching_activity (重置之前设置的翻转率)
set_switching_activity [get_pins -of_object [all_registers]] -toggle_rate 0.5 -static_probability 0.5 -base_clock * (设置register的翻转率)
set_switching_activity -type black_boxes -toggle_rate 0.1 -static_probability 0.5 -base_clock * -hierarchy (设置blockboxs上的翻转率)
set_switching_activity -toggle_rate 0.5 -static_probability 0.5 -base_clock * [remove_from_collection [all_inputs] [get_port -filter "is_clock_used_as_clock == true"]] (设置Input上的翻转率)
set_switching_activity [get_pins -of_object [get_cells -hierarchical * -filter "ref_name =~ *ICG*"]] -toggle_rate 0.5 -static_probability 0.5 -base_clock * (设置clock gate上的翻转率)
set_case_analysis 1 [get_ports *reset*] (使reset信号不翻转,准静态信号)
set_switching_activity -toggle_rate 0 -static_probability 1 -base_clock * [get_port *reset*]

(3)使用默认翻转率:最不济的方式就是使用工具默认的翻转率了,通过下面3个变量可以设定。
set_app_var power_default_toggle_rate 0.5 (默认值为 0.1)
set_app_var power_default_static_probability 0.5 (默认值为0.5)
set_app_var power_default_toggle_rate_reference_clock fastest (默认值related)

在PT中report_switching_activity会报出所有Nets的switching activity来源的统计数据:

switching_activity.png

上图中每一列所表示的含义如下:

From Activity File :
The switching activity value is from a SAIF or VCD file, 在read_vcd或者read_saif时要注意通过-stripe_path选项指定合适的hierarchical层次,否则activity反标不上。
From SSA :
The switching activity value set by using the set_switching_activity command.
From SCA :
The switching activity set by using the set_case_analysis command.
From clock :
The switching activity set by using the create_clock command.

Default:
对于用户没有指定的翻转率的Net,PT会使用默认的翻转率

Propagated:
The switching activity  from propagation engine

Implied:
Switching activity from simple automatic propagation of activity through buffers and inverters

Not Annotated:
没有反标翻转率的Net,需要特别注意,一般要求在update_power或者report_power之后,这部分占比应该很低甚至为0,如果有大量没有翻转的Net,会影响report_power的准确率,可以通过以下下命令打印出来分析:
report_switching_activity -list_not_annotated
get_switching_activity ...

当然PTPX也支持time_based功耗分析,通过以下选项开启:

set_app_var power_analysis_mode time_based (默认值为averaged)

在该模式下,需要提供VCD(注:SAIF文件不行),工具会分析峰值功耗,并生成功耗波形等。

VCD,SAIF,FSDB的区别


VCD: Value/Variable Change Dump
  • It is an event-based format that contains every value change for the signals in the design and the time at which they occurred.
  • VCD is supported in both the averaged and time-based analysis modes,是国际标准格式
  • Gate-Level VCD和RTL-Level VCD都可以,但是使用RTL-Level VCD时,需要进行name mapping (set_rtl_to_gate_name)。
  • VCD文件示例:http://en.wikipedia.org/wiki/Value_change_dump


SAIF: Switching Activity Interface Format
  • It captures signal transitions and the time spent at each logic level. The SAIF file contains the toggle counts and static probabilities for the nets in the design.
  • SAIF is supported only in the averaged power analysis mode.
  • 有些工具,比如ICC/ICC2,只支持SAIF文件,需要将VCD转换成SAIF文件,在PT安装目录下有一个utility:
    • vcd2saif -input vcd_file -output saif_file ...


FSDB: Fast Signal DataBbase
  • 类似于VCD的波形文件,去除了VCD中的冗余信息,数据量小很多,提高了仿真的速度,Synopsys的仿真工具支持较多。





还想系统地了解RTL2GDS方面更多内容,请关注 RTL2GDS 微信公众号:
rtl2gds_15cm.jpg



发表于 2020-5-1 10:32:03 | 显示全部楼层
学习了
发表于 2020-5-1 17:30:34 | 显示全部楼层
学习了,谢谢
发表于 2020-7-9 23:17:54 | 显示全部楼层
学习了,多谢
发表于 2021-7-13 14:18:11 | 显示全部楼层
学习了
发表于 2021-8-13 10:43:28 | 显示全部楼层
mark 多谢
发表于 2021-11-17 14:45:29 | 显示全部楼层
赞,解释的很清楚,感谢
发表于 2022-4-10 08:52:09 | 显示全部楼层
Thank for your sharking
发表于 2022-9-1 19:16:57 | 显示全部楼层
mark   
发表于 2022-9-8 10:11:26 | 显示全部楼层
学习了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /3 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-19 08:37 , Processed in 0.037092 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表