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

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜全文
查看: 408|回复: 12

[求助] ptpx power分析下不同mode造成power结果不同的原因

[复制链接]
发表于 2025-10-31 09:45:56 | 显示全部楼层 |阅读模式

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

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

×
ptpx做power分析时,给工具吃了gate level fsdb, 但mode有两个选择,一是average mode,一个是time_based,这两种mode下average 报出来的power更大,为什么?time_based即使能捕获准确的翻转时间点,但跟average mode下计算signal翻转一次带来的power损耗不会有区别,那造成power不同的原因是什么?
发表于 2025-10-31 10:10:45 | 显示全部楼层
我们通常称2种模式分别为平均功耗和瞬态功耗,你是基于波形分析功耗,得保证2种模式分析条件相同。
瞬态功耗,是用来看哪个具体动作功耗情况;平均功耗则是分析一个操作或者一段时间内的平均功耗。
仿真完会有具体的report,对比一看便知。
回复 支持 反对

使用道具 举报

发表于 2025-10-31 10:40:24 | 显示全部楼层
注意下average 所取的时间段,都取同一个时间段看看
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-10-31 11:03:16 | 显示全部楼层


   
princecity 发表于 2025-10-31 10:10
我们通常称2种模式分别为平均功耗和瞬态功耗,你是基于波形分析功耗,得保证2种模式分析条件相同。
瞬态功 ...


就是对比report发现power有差别,且以保证所吃波形的time window以及各种分析条件都行同得到
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-10-31 11:04:17 | 显示全部楼层


   
koren12 发表于 2025-10-31 10:40
注意下average 所取的时间段,都取同一个时间段看看


time window相同
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-10-31 11:15:06 | 显示全部楼层


   
princecity 发表于 2025-10-31 10:10
我们通常称2种模式分别为平均功耗和瞬态功耗,你是基于波形分析功耗,得保证2种模式分析条件相同。
瞬态功 ...


time_based mode是用来分析瞬态的,但也可以通过report_power报一个power值出来,这个也是指分析时间段内的平均功耗,我理解跟average mode下通过report_power报出来的结果不应该有区别
回复 支持 反对

使用道具 举报

发表于 2025-10-31 13:48:30 | 显示全部楼层
方便的话,你把log和tcl 贴出来,文件路径可以打码,我看看有什么差别
回复 支持 反对

使用道具 举报

发表于 2025-10-31 14:24:07 | 显示全部楼层
因为average mode只把每个 pin 的 toggle rate + static probability 当成独立统计量,也就是每个时间点该pin toggle的概率是相同的;而time based知道每个时间点有多少个信号在toggle

如果每个pin的功耗都不依赖其他pin的状态那两者会一样,但你查阅一下.lib就知道很多pin的功耗是依赖其他pin当前为0还是为1的
回复 支持 反对

使用道具 举报

发表于 2025-10-31 14:28:54 | 显示全部楼层
“如果每个pin的功耗都不依赖其他pin的状态那两者会一样”也不完全正确,毕竟工具即使知道每个pin的toggle rate + static probability,但3个rising edge+2个falling edge与2个rising edge+3个falling edge的功耗也不一样
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-10-31 18:18:56 | 显示全部楼层
本帖最后由 mexue 于 2025-10-31 18:28 编辑


   
zero_0 发表于 2025-10-31 14:28
“如果每个pin的功耗都不依赖其他pin的状态那两者会一样”也不完全正确,毕竟工具即使知道每个pin的toggle  ...


我知道你说的是lib里的state condition, 但我疑惑的点在于average也考虑了这个condition,直接report power计算的detail过程就能看出来,但这种考虑我不清楚是基于算法的还是来源于真实的波形,换句话,average mode下pt是只从fsdb获取了toggle rate和static probability还是说也有相关时间的信息?
举个例子,avarage mode下,我report_power_calculation一个reg CK pin,这个对应的就是这reg clk internal power, 其实在这个里面是能看到不同condition下的toggel rate,那也就是说tool其实有在考虑pin之间的相互影响,也就是你说的依赖性,那time_based mode下tool看的是每个时间点上信号的变化,这种pin之间的相互依赖更能被看见,如果两种mode都考虑了这种pin之间的相互依赖,那为什么power还不一样呢?
再说一下你说的"3个rising edge+2个falling edge与2个rising edge+3个falling edge", 一般来说计算平均功耗取的时间长度会比较长,如果toggle count次数也比较多的话,你前面的说法影响就比较小了,因为一个rise后面肯定跟一个fall,数量比较多的情况下,几乎可以理解为rise和fall toggle count各占一半,其实从tool detail的计算工程也能看出来确实是这么考虑的,tool在计算某种condition下的power时会区分rise哈fall,对于rise和fall的toggle就是按照这个condition下toggle的1/2来计算的。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

手机版| 小黑屋| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 ) |网站地图

GMT+8, 2025-11-22 03:46 , Processed in 0.026544 second(s), 3 queries , Gzip On, Redis On.

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