Report的生成
report_power表示产生power report,update_power表示进行power analysis。
report_power命令可以生成四种形式的report,
1) Power group-based,default的方式。
2) Cell-based,加入-cell_power的option
还可以加入-sort_by 的option来根据cell_internal_power(default),cell_leakage_power,
dynamic_power来生成report。
3) Net-based,加入-net_power的option
还可以加入-sort_by的option来根据net_static_probability,net_switching_power(default)
和net_toggle_rate和total_net_load。
4) Hierarchy_base,加入-hierarchy的option
一般只有hierarchy的底下一层的power被报告出来,可以通过-levels来进行修改。
还有-group,-rail,-clocks这样的option来进行filter进行report。
在使用-include_estimated_clock_network之前,必须进行estimate_clock_network_power的命令。
PTPX中预设的7中power groups:
1) Io_pad,包括I/O pad cells。
2) memory,包括Memory cell。
3) black_box,除了io和memory之外没有functionality的cell。
4) clock_network,包括使用create_clock的命令定义的clock和clock network上的buffer,inverter,clock-gating logic。
5) register,Latches和FF,但是不包括由clock network驱动的register的clock pin(包含在clock network group中)。
6) sequential,Latch和FF,但是clock pin不连接到clock network。
7) combinational,剩下的cell。
一般情况下,一个instance只会定义在一个power group,所以这几个power group的总和就是这个design的power。
如果lib使用CCS的power model,那么可以分别报告出intrinsic和gate leakage的power,
这时需要设置power_report_leakage_breakdowns变量。
通过报告分析clock_gating的efficiency。
report_clock_gate_saving来报告某个clock gate的情况。
1) Toggle Saving,关掉gate之后,output的clock toggle rate的减少量。
通过加入-by_clock_gate的命令来报告每个clock gate的toggle saving。
2) Register number,clock的fanout register。
通过加入-sequential的命令来报告每个clock gate的reg情况。
越高的clock freq,越多的fanout reg,那么该clock gate的效率越高。