power 计算工具会根据设计信息和用户提供的activity和switching约束来生成虚拟的worst-case的power vector,难点在于哪些instances视为switching,在没有仿真的前提下如何确定开关的时间,使用timing文件(TWF)
在data path上给所有的cell标上switching probability
在data path上给所有cell标记触发器输出端到下级逻辑的电平转换概率
1) 读入设计
read_design -physical_data mydesign.enc.dat mydesign
2) 读入spef
read_spef -rc_corner RCmax -decoupled mydesign.spef.gz
set_power_output_dir
4)设置分析模式
set_power_analysis_mode -reset
set_power_analysis_mode
-analysis_view func_wc
-disable_static false
-write_static_currents true
-binary_db_name dynamic_pwr.db
-create_binary_db true
-method dynamic_vectorless
-power_grid_library pg_library/stdcells.cl
4)若是设置了power_grid_library 可跳过该步骤
set_power -reset
set_power -pg_net VDD -pwl -instance -sticky
5)设置switching activity
set_default_switching_activity -input_activity 0.3 -period 4 -clock_gates_output_ratio 0.5 -seq_activity 0.5
6) 仿真设置
set_dynamic_power_simulation -reset
set_dynamic_power_simulation -resolution 50ps
7) 功耗分析
report_power -outfile dynamic*.rpt