|
|
楼主 |
发表于 2025-10-31 18:18:56
|
显示全部楼层
本帖最后由 mexue 于 2025-10-31 18:28 编辑
我知道你说的是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来计算的。
|
|