聲明:該筆記來源於網上的VIVADO視頻教程
詳細的官方資料可以參考:http://china.xilinx.com/support/documentation/sw_manuals/xilinx2018_3/c_ug949-vivado-design-methodology.pdf(UltraFAST 設計方法指南 (適用於 Vivado Design Suite))中文版
http://china.xilinx.com/support/documentation/sw_manuals/xilinx2018_3/ug949-vivado-design-methodology.pdf(英文版)
- 功耗估計可以在綜合之後來做也可以在佈局佈線之後來做。
做功耗分析有兩種方式:
一種是讀入SAIF或者VCD文件,這兩個文件都是通過仿真來獲得的。
另一種是工具計算
- 0
- 數據頻率=翻轉率*時鐘頻率/2
Data Frequency = Toggle Rate * Clock Frequency/2
Toggle Rate是從SAIF或者VCD文件中獲得
- 要仿真的時候要指定生成它的名字和路徑
建議對頂層做仿真
- 有SAIF文件的可信度要高
- 保證時鐘要被合理的約束到,對於大扇出的信號要對應它的有效期
- -cell_types:表示只對Block的模塊做優化
-exclude_cells:表示除了cpuEngine的單元外,其它的單元都要做功耗優化
-include_cells:表示對指定的單元做功耗優化
- Demo
- 在simulation設置頂層和saif文件路徑
- 仿真的時候頂層選dut頂層文件,注意不是TB頂層
run simulation選擇後仿真 ,跑完後就會生成saif文件
文件在sim文件夾下sync->func下面
- 佈局佈線之後的佈局佈線結果更加準確,下面是沒saif文件的功耗估計
下面是有saif文件的功耗估計,操作步驟,先進行佈局佈線的仿真
生成的siaif文件在sim->impl->timing下面
- 功耗的優化是在功耗估計的基礎上進行的,用功耗估計的結果去分析哪部分消耗的功耗最大,就可以知道哪一部分要做更加深度的功耗優化。
先看功耗的報告:
在做功耗優化的時候如果不希望對下面這兩個模塊做功耗優化,那麼我們可以選中這兩個模塊,然後進入TCL Console,
輸入TCL命令來獲得選中的block ram名字路徑
再用 set_power_opt -exclude_cells 命令排除除優化這兩個block