前面我们叙述了power的一些基本概念,其中,对于switching power计算的部分,我们发现了一些correlation问题。
接下来,解释一下这个问题
首先,我们要报一下cell power
pt_shell> report_power -cell_power inst_q_2/code_reg_reg_5__6_ -verbose -significant_digits 13
得到switching power如下
抓toggle_rate
pt_shell> get_switching_activity [get_nets -of_objects [get_pins inst_q_2/code_reg_reg_5__6_/Q ] ] -toggle_rate
{"inst_q_2/code_reg[41]" 2.25e-06 set_switching_activity
计算load
然后report_net [get_nets -of_objects [get_pins inst_q_2/code_reg_reg_5__6_/Q ] ] -verbose -connections
你会发现这个数据对不上
实际上,如果你
report_attribute [get_nets -of_objects [get_pins inst_q_2/code_reg_reg_5__6_/Q ] ] -application -nosplit
可以抓出来好多load
其实工具在计算power的时候,是使用的没有ccs的cap
而在计算sta的时候,使用的是带有ccs的cap(report_net在这部分里面)
如果你report_timing
report_timing -through inst_q_2/code_reg[41] -nets -input_pins -capacitance -transition_time -significant_digits 8
显然,这个是带有ccs模型的cap数据
结论:一切问题都有原因。