99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

總是學(xué)不會(huì)FPGA的功耗是怎么回事?這篇文章告訴你

NJ90_gh_bee81f8 ? 來(lái)源:互聯(lián)網(wǎng) ? 作者:佚名 ? 2017-12-19 09:29 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在項(xiàng)目設(shè)計(jì)初期,基于硬件電源模塊的設(shè)計(jì)考慮,對(duì)FPGA設(shè)計(jì)中的功耗估計(jì)是必不可少的。筆者經(jīng)歷過(guò)一個(gè)項(xiàng)目,整個(gè)系統(tǒng)的功耗達(dá)到了100w,而單片F(xiàn)PGA的功耗估計(jì)得到為20w左右,有點(diǎn)過(guò)高了,功耗過(guò)高則會(huì)造成發(fā)熱量增大,溫度高最常見的問(wèn)題就是系統(tǒng)重啟,另外對(duì)FPGA內(nèi)部的時(shí)序也不利,導(dǎo)致可靠性下降。其它硬件電路的功耗是固定的,只有FPGA的功耗有優(yōu)化的余地,因此硬件團(tuán)隊(duì)則極力要求筆者所在的FPGA團(tuán)隊(duì)盡量多做些低功耗設(shè)計(jì)。筆者項(xiàng)目經(jīng)歷尚淺,還是第一次正視功耗這碼事兒,由于項(xiàng)目時(shí)間比較緊,而且xilinx方面也比較重視這個(gè)項(xiàng)目,因此當(dāng)時(shí)有xilinx的工程師過(guò)來(lái)對(duì)我們做了些培訓(xùn),并且專門請(qǐng)了美國(guó)總部的專家過(guò)來(lái)與我們協(xié)同進(jìn)行設(shè)計(jì)功耗估計(jì),還是比較給力的。

以下是筆者在這比較短的時(shí)間內(nèi)學(xué)習(xí)到的一些關(guān)于功耗估計(jì)和如何進(jìn)行低功耗設(shè)計(jì)的知識(shí):

1.功耗分析

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

(1) 芯片靜態(tài)功耗:FPGA在上電后還未配置時(shí),主要由晶體管的泄露電流所消耗的功耗(2)設(shè)計(jì)靜態(tài)功耗:當(dāng)FPGA配置完成后,當(dāng)設(shè)計(jì)還未啟動(dòng)時(shí),需要維持I/O的靜態(tài)電流,時(shí)鐘管理和其它部分電路的靜態(tài)功耗;(3)設(shè)計(jì)動(dòng)態(tài)功耗:FPGA內(nèi)設(shè)計(jì)正常啟動(dòng)后,設(shè)計(jì)的功耗;這部分功耗的多少主要取決于芯片所用電平,以及FPGA內(nèi)部邏輯和布線資源的占用;

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

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不超過(guò)100°C的情況下,可以推算FPGA的總功耗:PD < (Tjmax – TA)/θJA=(100 - 55)/8.2=5.488W,之前估算的20W與之相差太遠(yuǎn),因此優(yōu)化是必不可少的:

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

圖1

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

2. 功耗估計(jì)

在講解低功耗設(shè)計(jì)之前,介紹一下xilinx的功耗估計(jì)工具XPE(Xilinx Power Estimator),XPE主要是在項(xiàng)目初期,處于系統(tǒng)設(shè)計(jì),RTL代碼并未完善階段功耗估計(jì)時(shí)使用。大家可以在xilinx官網(wǎng)上下載到:http://www.xilinx.com/power,它是一個(gè)基于EXCEL的工具,如圖2所示,功能做的十分豐富,感嘆EXCEL也未免太強(qiáng)大了吧。

圖2

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

圖3

圖4

3. 低功耗設(shè)計(jì)

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

1) 算法優(yōu)化

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

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

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

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

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

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

如圖5中實(shí)例,雖然BRAM只使用了7%,但是其功耗0.601W占了總設(shè)計(jì)的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”,避免讀操作和寫操作產(chǎn)生沖突,如圖6所示;其中“NO CHANGE”表示BRAM不添加額外的邏輯防止讀寫沖突,因此能減少功耗,但是設(shè)計(jì)者需要保證程序運(yùn)行時(shí)不會(huì)發(fā)生讀寫沖突。

圖6

圖5中的功耗是設(shè)置成“Write First”時(shí)的,圖7中是設(shè)置成“NO CHANGE”后的功耗,BRAM的功耗從0.614W降到了0.599W,因?yàn)橹皇褂昧?%的BRAM,如果設(shè)計(jì)中使用了大量的BRAM,效果能更加明顯。

圖7

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

圖8

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

圖9

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

注:“拼深度”結(jié)構(gòu)需要額外的數(shù)據(jù)選擇邏輯,增加了邏輯層數(shù),為了降低功耗即犧牲了面積又犧牲了性能。

圖10

圖11

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1645

    文章

    22049

    瀏覽量

    618359

原文標(biāo)題:FPGA功耗的那些事兒

文章出處:【微信號(hào):gh_bee81f890fc1,微信公眾號(hào):面包板社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    仿真時(shí)總是出現(xiàn)這個(gè)信息是怎么回事

    仿真時(shí)總是出現(xiàn)這個(gè)信息是怎么回事
    發(fā)表于 05-18 22:20

    誰(shuí)能告訴我這個(gè)是怎么回事

    `誰(shuí)能告訴我這個(gè)是怎么回事?`
    發(fā)表于 07-24 16:04

    納米技術(shù)是怎么回事看完就懂了

    納米技術(shù)是怎么回事看完就懂了
    發(fā)表于 05-13 07:26

    學(xué)不會(huì)stm32的原因是什么

    10年前,我是跨行自學(xué)進(jìn)入嵌入式單片機(jī)開發(fā)這個(gè)行業(yè)。學(xué)習(xí)的過(guò)程很枯燥,當(dāng)初差點(diǎn)放棄,但是后面我通過(guò)一些技巧順利進(jìn)入這個(gè)行業(yè)并以此為生。結(jié)合自己的經(jīng)驗(yàn),我先給大家總結(jié)原因,再給出解決辦法:1.學(xué)不會(huì)
    發(fā)表于 11-23 06:58

    LDO過(guò)熱是怎么回事?無(wú)法「降溫」又該怎么辦?

    LDO過(guò)熱是怎么回事?無(wú)法「降溫」又該怎么辦?
    的頭像 發(fā)表于 07-02 11:40 ?1.7w次閱讀

    空調(diào)制冷不制熱是怎么回事

    空調(diào)在使用的時(shí)候制冷卻不制熱,是怎么回事呢?下面就和大家來(lái)分享一下,希望可以幫助到大家。
    的頭像 發(fā)表于 03-11 09:24 ?1.2w次閱讀

    網(wǎng)站服務(wù)器失去響應(yīng)怎么回事

    本文詳細(xì)分析了網(wǎng)站服務(wù)器失去響應(yīng)是怎么回事。
    發(fā)表于 05-07 14:34 ?4936次閱讀

    MLCC電容嘯叫是怎么回事?資料下載

    電子發(fā)燒友網(wǎng)為提供MLCC電容嘯叫是怎么回事?資料下載的電子資料下載,更有其他相關(guān)的電路圖、源代碼、課件教程、中文資料、英文資料、參考設(shè)計(jì)、用戶指南、解決方案等資料,希望可以幫助到廣大的電子工程師們。
    發(fā)表于 04-03 08:42 ?9次下載
    MLCC電容嘯叫是<b class='flag-5'>怎么回事</b>?資料下載

    線性科技是怎么回事?

    線性科技是怎么回事?
    發(fā)表于 04-21 14:47 ?3次下載
    線性科技是<b class='flag-5'>怎么回事</b>?

    時(shí)控開關(guān)只能開不能關(guān)是怎么回事

    時(shí)控開關(guān)只能開不能關(guān):主要是說(shuō)時(shí)控開關(guān)在自動(dòng)定時(shí)開、關(guān)期間,可以到時(shí)間開,但是到了時(shí)間不關(guān),是怎么回事?
    發(fā)表于 06-24 11:02 ?1.6w次閱讀

    蘋果14.2系統(tǒng)微信收不到信息怎么回事

    蘋果14.2系統(tǒng)微信收不到信息怎么回事?
    的頭像 發(fā)表于 09-09 10:58 ?1w次閱讀

    物聯(lián)網(wǎng)網(wǎng)關(guān)是什么,物聯(lián)網(wǎng)網(wǎng)關(guān)是怎么回事

    隨著科技的發(fā)展,越來(lái)越多的新詞出現(xiàn)在我們的生活中,物聯(lián)網(wǎng)網(wǎng)關(guān)知道是怎么回事嗎?邊緣計(jì)算網(wǎng)關(guān)了解多少?
    的頭像 發(fā)表于 03-03 17:25 ?3922次閱讀

    所有這些干擾是怎么回事?

    所有這些干擾是怎么回事?
    發(fā)表于 11-04 09:52 ?2次下載
    所有這些干擾是<b class='flag-5'>怎么回事</b>?

    CNN到底是怎么回事

    它用TensorFlow.js加載了一個(gè)10層的預(yù)訓(xùn)練模型,相當(dāng)于在你的瀏覽器上跑一個(gè)CNN模型,只需要打開電腦,就能了解CNN究竟是怎么回事。
    的頭像 發(fā)表于 06-28 14:47 ?4543次閱讀
    CNN到底是<b class='flag-5'>怎么回事</b>?

    大帶寬服務(wù)器推流延遲怎么回事

    大帶寬服務(wù)器推流延遲怎么回事
    的頭像 發(fā)表于 09-03 14:52 ?710次閱讀