低功耗设计——功耗估算
????????根據在功耗分析的過程中是否有輸入向量的提供,功耗估算方法可以分為仿真的方法(Simulative)和非仿真的方法(Non-simulative):
? ? ? ? Synopsys公司的工具Power Compiler嵌入在Design Compiler之中,是一種可同時優化面積、功耗和時序的綜合工具。它主要有以下兩種功能:一是可以自動優化電路的功耗,使其最小化;二是在電路綜合前預估功耗,使設計者可以更好地完成功耗分布的規劃,在較短的時間內完成電路的低功耗設計。
????????用Power Compiler實現門級功耗估計的過程如下:
一?、獲取SAIF(Switching Activity Interchange Format)文件;
????????使用工具Power Compiler進行功耗估算的時候會用到SAIF和VCD(Value Change Dump)這兩種格式文件,它們都是用來記錄設計中每個節點的翻轉信息。SAIF文件只是保存了每個節點發生翻轉的次數,而VCD文件詳細地保存了每個節點發生翻轉的時間。由于VCD格式文件記錄了時間信息,所以它比SAIF格式文件大很多。
????????功耗估算的準確性主要取決于各節點的翻轉信息是否可靠。使用工具Power Compiler估算功耗時通常會讀入SAIF文件,以此獲取各節點的翻轉信息。在仿真工具中,設計者利用仿真程序或信號向量使設計中每個器件都發生跳變,把總跳變次數記錄在SAIF文件中。SAIF格式文件可以通過以下兩種方法產生:
1、通過仿真產生SAIF文件
1)RTL仿真
????????如圖所示為RTL仿真產生SAIF格式文件的流程圖,只需在testbench里加$set_toggle_region, $toggle_start, $toggle_stop, $toggle_report這幾個命令后再運行仿真程序即可。
? ? ? ? 一個簡單的示例如下:
initial begin $set_toggle_region(design_test.design_top); $toggle_start(); ….. //省略testbench中的測試語句 $toggle_stop(); $toggle_report("design.saif",1.0e-12,"design_test"); $finish; end2)門級仿真
????????下圖為門級仿真產生SAIF格式文件的流程圖。首先在Design Compiler里讀入設計文件,通過命令lib2saif生成正向SAIF文件如forward.saif。然后通過VCS仿真生成反標的SAIF文件。在仿真之前,testbench里面除了需要加入RTL仿真生成SAIF格式文件時所需要的命令外,還必須在$set_toggle_region前加入命令$read_lib_saif(forward.saif)。
2、其他文件轉換
????????1)用命令vcd2saif 把VCD格式文件轉換成SAIF格式文件。
????????2)用命令fsdb2saif 把FSDB格式文件轉換成SAIF格式文件。
二、Power Compiler讀入SAIF格式文件進行功耗估計
????????生成了SAIF格式文件之后,就可以使用Power Compiler工具進行功耗估算了。具體步驟及主要腳本如下所示:
//=========在Design Compiler中讀入設計文件============= analyze -format verilog -library WORK /home/fxia/design/src/timescale.v analyze -format verilog -library WORK /home/fxia/design/src/design_defines.v …… //省略其他的設計文件 analyze -format verilog -library WORK /home/fxia/design/src/design_top.v elaborate design_top -library WORK -architecture verilog set current_design design_top link//=========定義時鐘及各種約束=============......//=========讀入前面產生的SAIF格式文件=============read_saif -input design.saif -inst design_test/design_top//=========生成設計的功耗報告=============report_power -analysis_effort high -verbose > $report/design_add_sig.power_rpt總結
以上是生活随笔為你收集整理的低功耗设计——功耗估算的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQL PROMPT5.3.4.1的一些
- 下一篇: LM算法推导