經常接到工程師的電話,問所選擇的FPGA或SOC的功耗情況,有沒有典型值。其實針對功耗設計,工程師可以在設計的各個階段更加準確把握,以xilinx FPGA為例:
1.項目設計初期
項目設計初期會選型,工程師根據資源、IO、硬核、IP等選擇對應型號的FPGA。功耗部分xilinx提供了XPE表格(Xilinx PowerEsTImator),這個XPE支持zynq、目前也有各個系列的器件列表,包括最新的ultrascale + 。
圖1.XPE的表格界面
這是比較容易使用的表格、圖形化,包括器件、散熱條件、PCB層數、主要IP和硬核資源的占用情況。當然再設計的初期,工程師是很難精確把握資源占用率的。硬核和IP的占用情況比較好評估,比如是否使用DDR的MIG等。
2. 當完成設計的工程版本后,ISE和vivado都支持比較準確的功耗評估工具。ISE對應的XPA小插件,在完成布局布線的bit文件后打開xilinx XPoweranalyzer ,能夠看到detail的資源報告,注意修改環境參數,需要更新power結果。
圖2.XPA的界面
相比ISE,vivado 的report power更加準確,可以設置更多的環境條件。
圖3.vivado power setTIng
Vivado中針對power的圖形化分類更加準確和詳細,動態功耗、靜態功耗都有清晰描述。這也是工程師降低功耗的優化方向。
圖4.vivado report power 結果
3. 上板調試階段
在完成工程后,很多工程師都希望實測FPGA的功耗;但實際上FPGA分為vccint、VCCO、VCCAUX等電壓,PCB板子上有很多器件,如DSP、ADC、memory等。比較難估算和測試單獨FPGA的功耗。可以通過FPGA JTAG加載前后電流變化對比動態功耗的增加情況。
降低和評估功耗是FPGA硬件設計的工作之一,在設計初期的預估功耗、設計后期的降低功耗都是FPGA工程師的設計挑戰和難點。這也是產品量產的關鍵因素之一,因為功耗影響產品的穩定性、可靠性和結構設計等。