<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 聊一聊FPGA低功耗設計的那些事兒

聊一聊FPGA低功耗設計的那些事兒

作者: 時(shí)間:2017-10-21 來(lái)源:網(wǎng)絡(luò ) 收藏

  以下是筆者一些關(guān)于功耗估計和如何進(jìn)行低功耗設計的知識:

本文引用地址:http://dyxdggzs.com/article/201710/366953.htm

  1. 功耗分析

  整個(gè)設計的總功耗由三部分功耗組成:1. 芯片靜態(tài)功耗;2. 設計靜態(tài)功耗;3. 設計動(dòng)態(tài)功耗。

  芯片靜態(tài)功耗:在上電后還未配置時(shí),主要由晶體管的泄露電流所消耗的功耗

  設計靜態(tài)功耗:當FPGA配置完成后,當設計還未啟動(dòng)時(shí),需要維持I/O的靜態(tài)電流,時(shí)鐘管理和其它部分電路的靜態(tài)功耗

  設計動(dòng)態(tài)功耗:FPGA內設計正常啟動(dòng)后,設計的功耗;這部分功耗的多少主要取決于芯片所用電平,以及FPGA內部邏輯和布線(xiàn)資源的占用

  顯而易見(jiàn),前兩部分的功耗取決于FPGA芯片及硬件設計本身,很難有較大的改善??梢?xún)?yōu)化是第3部分功耗:設計動(dòng)態(tài)功耗,而且這部分功耗占總功耗的90%左右,因此所以降低設計動(dòng)態(tài)功耗是降低整個(gè)系統功耗的關(guān)鍵因素。上面也提到過(guò)功耗較大會(huì )使FPGA發(fā)熱量升高,那有沒(méi)有一個(gè)定量的分析呢?答案當然是有,如下式:

  Tjmax > θJA * PD + TA

  其中Tjmax表示FPGA芯片的最高結溫(maximum junction temperature);θJA表示FPGA與周?chē)髿猸h(huán)境的結區熱阻抗(Junction to ambient thermal resistance),單位是°C/W;PD表示FPGA總功耗(power dissipation),單位是W;TA表示周?chē)h(huán)境溫度。

  以XC7K410T-2FFG900I系列芯片為例,θJA = 8.2°C/W,在TA = 55°C的環(huán)境中,想要結溫Tjmax不超過(guò)100°C的情況下,可以推算FPGA的總功耗:PD (Tjmax – TA)/θJA=(100 - 55)/8.2=5.488W,之前估算的20W與之相差太遠,因此優(yōu)化是必不可少的:

  1) 降低θJA:熱阻抗取決于芯片與環(huán)境的熱傳導效率,可通過(guò)加散熱片或者風(fēng)扇減小熱阻抗

  

  圖1

  2) 減小PD:通過(guò)優(yōu)化FPGA設計,降低總功耗,這也是本文重點(diǎn)講解的部分。

  2. 功耗估計

  在講解低功耗設計之前,介紹一下xilinx的功耗估計工具XPE( Power Estimator),XPE主要是在項目初期,處于系統設計,RTL代碼并未完善階段功耗估計時(shí)使用,它是一個(gè)基于EXCEL的工具,如圖2所示,功能做的十分豐富。

  

  圖2

  在設計完成綜合實(shí)現后,則可以使用vivado自帶的功耗分析工具進(jìn)行精確計算功耗。打開(kāi)綜合實(shí)現后的設計,點(diǎn)擊report power即可得到功耗分析的結果,如圖3,4所示。

  

  圖3

  

  圖4

  3. 低功耗設計

  關(guān)于FPGA低功耗設計,可從兩方面著(zhù)手:1) 算法優(yōu)化;2) FPGA資源使用效率優(yōu)化。

  1) 算法優(yōu)化

  算法優(yōu)化可分為兩個(gè)層次說(shuō)明:實(shí)現結構和實(shí)現方法

  首先肯定需要設計一種最優(yōu)化的算法實(shí)現結構,設計一種最優(yōu)化的結構,使資源占用達到最少,當然功耗也能降到最低,但是還需要保證性能,是FPGA設計在面積和速度上都能兼顧。比如在選擇采用流水線(xiàn)結構還是狀態(tài)機結構時(shí),流水線(xiàn)結構同一時(shí)間所有的狀態(tài)都在持續工作,而狀態(tài)機結構只有一個(gè)狀態(tài)是使能的,顯而易見(jiàn)流水線(xiàn)結構的功耗更多,但其數據吞吐率和系統性能更優(yōu),因此需要合理選其一,使系統能在面積和速度之間得到平衡;

  另一個(gè)層面是具體的實(shí)現方法,設計中所有吸收功耗的信號當中,時(shí)鐘是罪魁禍首。雖然時(shí)鐘可能運行在 100 MHz,但從該時(shí)鐘派生出的信號卻通常運行在主時(shí)鐘頻率的較小分量(通常為 12%~15%)。此外,時(shí)鐘的扇出一般也比較高。這兩個(gè)因素顯示,為了降低功耗,應當認真研究時(shí)鐘。 首先,如果設計的某個(gè)部分可以處于非活動(dòng)狀態(tài),則可以考慮禁止時(shí)鐘樹(shù)翻轉,而不是使用時(shí)鐘使能。時(shí)鐘使能將阻止寄存器不必要的翻轉,但時(shí)鐘樹(shù)仍然會(huì )翻轉,消耗功率。其次,隔離時(shí)鐘以使用最少數量的信號區。不使用的時(shí)鐘樹(shù)信號區不會(huì )翻轉,從而減輕該時(shí)鐘網(wǎng)絡(luò )的負載。

  2) 資源使用效率優(yōu)化

  資源使用效率優(yōu)化是介紹一些在使用FPGA內部的一些資源如BRAM,DSP48E1時(shí),可以?xún)?yōu)化功耗的方法。FPGA動(dòng)態(tài)功耗主要體現為存儲器、內部邏輯、時(shí)鐘、I/O消耗的功耗。

  其中存儲器是功耗大戶(hù),如xilinx FPGA中的存儲器單元Block RAM,因此在這邊主要介紹對BRAM的一些功耗優(yōu)化方法。

  如圖5中實(shí)例,雖然BRAM只使用了7%,但是其功耗0.601W占了總設計的42%,因此優(yōu)化BRAM的功耗能有效地減小FPGA的動(dòng)態(tài)功耗。

  

  

  圖5

  下面介紹一下優(yōu)化BRAM功耗的方法:

  a) 使用“NO CHANGE”模式:在BRAM配置成True Dual Port時(shí),需要選擇端口的操作模式:“Write First”,“Read First” or “NO CHANGE”,避免讀操作和寫(xiě)操作產(chǎn)生沖突,如圖6所示;其中“NO CHANGE”表示BRAM不添加額外的邏輯防止讀寫(xiě)沖突,因此能減少功耗,但是設計者需要保證程序運行時(shí)不會(huì )發(fā)生讀寫(xiě)沖突。

  

  圖6

  圖5中的功耗是設置成“Write First”時(shí)的,圖7中是設置成“NO CHANGE”后的功耗,BRAM的功耗從0.614W降到了0.599W,因為只使用了7%的BRAM,如果設計中使用了大量的BRAM,效果能更加明顯。

  

  圖7

  b) 控制“EN”信號:BRAM的端口中有clock enable信號,如圖8所示,在端口設置中可以將其使能,模塊例化時(shí)將其與讀/寫(xiě)信號連接在一起,如此優(yōu)化可以使BRAM在沒(méi)有讀/寫(xiě)操作時(shí)停止工作,節省不必要的功耗。

  

  圖8

  如圖9所示為控制“EN”信號優(yōu)化后的功耗情況,BRAM功耗降到了0.589W

  

  圖9

  c) 拼深度:當設計中使用了大量的存儲器時(shí),需要多塊BRAM拼接而成,如需要深度32K,寬度32-bit,32K*32Bit的存儲量,但是單塊BRAM如何配置是個(gè)問(wèn)題?7 series FPGA中是36Kb 的BRAM,其中一般使用32Kb容量,因此可以配置成32K*1-bit或者1K*32-bit,多塊BRAM拼接時(shí),前者是“拼寬度”(見(jiàn)圖10),后者是“拼深度”(見(jiàn)圖11)。兩種結構在工作時(shí),“拼寬度”結構所有的BRAM需要同時(shí)進(jìn)行讀寫(xiě)操作;而“拼深度”結構只需要其中一塊BRAM進(jìn)行讀寫(xiě),因此在需要低功耗的情況下采用“拼深度”結構,

  注:“拼深度”結構需要額外的數據選擇邏輯,增加了邏輯層數,為了降低功耗即犧牲了面積又犧牲了性能。

  

  圖10

  

  圖11



關(guān)鍵詞: FPGA Xilinx

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>