以下是筆者一些關于FPGA功耗估計和如何進行低功耗設計的知識:
1. 功耗分析
整個FPGA設計的總功耗由三部分功耗組成:1. 芯片靜態(tài)功耗;2. 設計靜態(tài)功耗;3. 設計動態(tài)功耗。
芯片靜態(tài)功耗:FPGA在上電后還未配置時,主要由晶體管的泄露電流所消耗的功耗
設計靜態(tài)功耗:當FPGA配置完成后,當設計還未啟動時,需要維持I/O的靜態(tài)電流,時鐘管理和其它部分電路的靜態(tài)功耗
設計動態(tài)功耗:FPGA內(nèi)設計正常啟動后,設計的功耗;這部分功耗的多少主要取決于芯片所用電平,以及FPGA內(nèi)部邏輯和布線資源的占用
顯而易見,前兩部分的功耗取決于FPGA芯片及硬件設計本身,很難有較大的改善。可以優(yōu)化是第3部分功耗:設計動態(tài)功耗,而且這部分功耗占總功耗的90%左右,因此所以降低設計動態(tài)功耗是降低整個系統(tǒng)功耗的關鍵因素。上面也提到過功耗較大會使FPGA發(fā)熱量升高,那有沒有一個定量的分析呢?答案當然是有,如下式:
Tjmax > θJA * PD + TA
其中Tjmax表示FPGA芯片的最高結(jié)溫(maximum junction temperature);θJA表示FPGA與周圍大氣環(huán)境的結(jié)區(qū)熱阻抗(Junction to ambient thermal resistance),單位是°C/W;PD表示FPGA總功耗(power dissipation),單位是W;TA表示周圍環(huán)境溫度。
以XC7K410T-2FFG900I系列芯片為例,θJA = 8.2°C/W,在TA = 55°C的環(huán)境中,想要結(jié)溫Tjmax不超過100°C的情況下,可以推算FPGA的總功耗:PD <(Tjmax – TA)/θJA=(100 - 55)/8.2=5.488W,之前估算的20W與之相差太遠,因此優(yōu)化是必不可少的:
1) 降低θJA:熱阻抗取決于芯片與環(huán)境的熱傳導效率,可通過加散熱片或者風扇減小熱阻抗
圖1
2) 減小PD:通過優(yōu)化FPGA設計,降低總功耗,這也是本文重點講解的部分。
2. 功耗估計
在講解低功耗設計之前,介紹一下xilinx的功耗估計工具XPE(Xilinx Power Estimator),XPE主要是在項目初期,處于系統(tǒng)設計,RTL代碼并未完善階段功耗估計時使用,它是一個基于EXCEL的工具,如圖2所示,功能做的十分豐富。

圖2
在設計完成綜合實現(xiàn)后,則可以使用vivado自帶的功耗分析工具進行精確計算功耗。打開綜合實現(xiàn)后的設計,點擊report power即可得到功耗分析的結(jié)果,如圖3,4所示。

圖3

圖4
電子發(fā)燒友App

























評論