Synopsys公司做功耗分析使用到的工具是:黃金時間的PX***PTPX鐵可以在邏輯綜合之后就進行功耗預估的PrimeTime 軌道進行分析,所以,我們只要用到的PrimeTime PX來做功耗分析就夠了。
上圖是布局布線后和邏輯綜合后進行功耗分析的流程。
一。邏輯綜合后的功耗分析
所用到的文件有:1。邏輯綜合后的Verilog的文件
2。靜態時序分析時用到的約束文件
3。RTL的仿真文件,我用的是VCD,畢竟標準各個仿真器都支持?
4。有功耗信息的庫文件。分貝,這個庫文件可以報告一個庫里的細胞,看是否有。
有了這些文件之后,就可以做功耗分析了,下面說一下功耗分析的流程:
1。允許功耗分析功能集power_enable_analysis
2。設置分析模式 設置 的因素。
3。讀入設計和庫文件
4。指定工作條件
5。時序分析 update_timing
6。獲取活動數據
如果是RTL級別的網表文件,要用RTL來告訴PT之前指定的VCD文件是布局布線之前的。如果VCD是zero_delay的仿真,也就是說是純純的功能模擬的話,應該家用zero_delay選項如果都為指定,PT默認是門級。
7。設置功耗分析選項set_power_analysis_options:
-static_leakage_only選項set_power_analysis_options命令只支持 平均功率分析模式。
-waveform_interval-cycle_accurate_cycle_count,-cycle_accurate_clock,-waveform_format, - waveform_output,包括-include_groups選項 只支持基于時間的 功率分析模式。
8。功耗分析 update_power
9。生成功耗分析報告report_power
要說明的是,PTPX是primetime的一個增強功能,只用一個PT腳本就可以了,我把自己的pt腳本拿出來分享一下:
文件:pt.tcl
###########################################
# 設置功率分析模式
###########################################
設置真正power_enable_analysis;
集平均power_analysis_mode;
###########################################
# 讀取和門級網表鏈接
###########################################
設置SEARCH_PATH“。。/源DB / /結果”
設置link_library“typical.db”
設置target_library“typical.db”
read_verilog jnd_90s.v
設置top_name JND
current_design JND
鏈接
###########################################
# 閱讀SDC和過渡時間或注釋寄生
###########################################
read_sdc pt_con.tcl
###########################################
# 檢查,更新或報告時序
###########################################
check_timing
update_timing
report_timing
###########################################
# 讀取開關活動文件
###########################################
read_vcd-RTL測試平臺jnd_all.vcd strip_path
report_switching_activity list_not_annotated
###########################################
# 檢查或更新或報告電源
###########################################
check_power
update_power
report_power層次
二。布局布線后的功耗分析
功率格式。這里不介紹。
#讀庫,設計,使電源分析
#和鏈路設計
設為power_enable_analysis真
設置link_library slow_pgpin.db
read_verilog power_pins.v
鏈接
#創建后備電源網
create_power_net_info vdd_backup功率
create_power_net_info vss_backup-GND
#創建域電力網
create_power_net_info t_vdd功率切換
-nominal_voltages {1.2} voltage_ranges {1.1 1.3}
create_power_net_info a_vdd功率
create_power_net_info b_vdd功率
#創建域地面網
create_power_net_info t_vss-GND
create_power_net_info a_vss-GND
create_power_net_info b_vss-GND
#創建內部電源網
create_power_net_info int_vdd_1功率
-nominal_voltages {1.2} voltage_ranges [1.1 1.3}
可切換的
create_power_net_info int_vdd_2功率
-nominal_voltages {1.25} voltage_ranges {1.1 1.3}
create_power_net_info int_vdd_3功率
-nominal_voltages {1.2} voltage_ranges {1.1 1.3}
create_power_net_info int_vdd_4功率
#創建電源域
一個create_power_domain噸
一個create_power_domain一個對object_list [get_cells PD0_inst]
POWER_DOWN power_down_ctrl [A] get_nets
power_down_ctrl_sense 0
一個create_power_domain B-object_list里get_cells PD1_inst]
POWER_DOWN
#連接到電源域的軌
connect_power_domain T-primary_power_net t_vdd
primary_ground_net t_vss
connect_power_domain一個primary_power_net的a_vdd
-primary_ground_net a_vss
-backup_power_net vdd_backup
backup_ground_net vss_backup
connect_power_domain B-primary_power_net b_vdd
primary_ground_net b_vss
#設置電壓的電力網
set_voltage 1.15 object_list里{t_vdd a_vdd b_vdd}
#讀取SDC和其他時間或電源斷言
set_input_transition 0.0395 [all_inputs]
1.0 set_load [所有輸出]
#執行。時序分析
update_timing
#讀取開關活動
set_switching_activity 。。.
set_switching_activity 。。.
。。.
report_power
三。關于報告
一個標準的報告:
電力集團電源電源電源電源(%)ATTRS
-------------------------------------------------- -------------
io_pad 0.0000 0.0000 0.0000 0.0000(0.00%)
內存0.0000 0.0000 0.0000 0.0000(0.00%)
black_box 0.0000 0.0000 0.0000 0.0000(0.00%)
clock_network 0.0000 0.0000 0.0000 0.0000(0.00%)
注冊8.442e-05 1.114e-05 9.208e-09 9.557e-05(29.97%),我
組合0.0000 0.0000 0.0000 0.0000(0.00%)
順序0.0000 0.0000 0.0000 0.0000(0.00%)
屬性
----------
- 包括驅動寄存器功率
內部開關漏電總時鐘
電源電源電源電源(%)ATTRS
-------------------------------------------------- -------------
CLK 1.813e-04 4.199e-05 4.129e-10 2.233e-04
-------------------------------------------------- -------------
預計Clock1.813e 04 4.199e 054.129e 102.233e-04(70.03%)
開關電源凈額= 5.313e-05(16.66%)
細胞內部功率= 2.657e-04(83.33%)
電池泄漏功率= 9.627e-09(0.00%)
---------
總功率= 3.188e-04(100.00%)
關于門控時鐘的報告:
report_clock_gate_savings
****************************************
報告:時鐘門儲蓄
power_mode:平均值
設計:mydesign
版本:D-2009.12
日期:2010年10月29 12:08:20 2009
****************************************
-------------------------------------------------- ----------------
時鐘:CLK
+時鐘切換率:0.392157
+寄存器數:19262
+的時鐘門數:12
+平均時鐘切換率在寄存器:0.305872
+平均切換儲蓄的寄存器:22.0%
-------------------------------------------------- ----------------
切換儲蓄數目%
分布寄存器寄存器
-------------------------------------------------- ----------------
100%0 0.0%
80% - 100%76 0.4%
60% - 80%5660 29.4%
40% - 60%0 0.0%
20% - 40%8 0.0%
0% - 20%0 0.0%
0%13518 70.2%
----------------------
評論
查看更多