<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應用 > FPGA架構(gòu)的功耗及影響功耗的用戶選擇方案

          FPGA架構(gòu)的功耗及影響功耗的用戶選擇方案

          作者: 時間:2010-09-07 來源:網(wǎng)絡(luò) 收藏

            本文將介紹、流行的低功能件以及,并探討近期的低功耗研究,以洞察高功率效率的未來趨勢。

          本文引用地址:http://www.ex-cimer.com/article/151581.htm

            功耗的組成部分

            的功耗由兩部分組成:動態(tài)功耗和靜態(tài)功耗。信號給電容性節(jié)點充電時產(chǎn)生動態(tài)功耗。這些電容性節(jié)點可以是內(nèi)部邏輯塊、互連中的布線導線、外部封裝引腳或由芯片輸出端驅(qū)動的板級跡線。FPGA的總動態(tài)功耗是所有電容性節(jié)點充電產(chǎn)生的組合功耗。

            靜態(tài)功耗與電路活動無關(guān),可以產(chǎn)生于晶體管漏電流,也可以產(chǎn)生于偏置電流??傡o態(tài)功耗是各晶體管漏電功耗及FPGA中所有偏置電流之和。動態(tài)功耗取決于有源電容一側(cè),因而可隨著晶體管尺寸的縮小而改善。然而,這卻使靜態(tài)功耗增加,因為較小的晶體管漏電流反而較大。因此靜態(tài)功耗占集成電路總功耗的比例日益增大。

            如圖1所示,功耗很大程度上取決于電源電壓和溫度。降低FPGA電源電壓可使動態(tài)功耗呈二次函數(shù)下降,漏電功耗呈指數(shù)下降。升高溫度可導致漏電功耗呈指數(shù)上升。例如,把溫度從85℃升高至100℃可使漏電功耗增加25%。

            


            圖1 電壓和溫度對功耗的

            功耗分解

            下面分析一下FPGA總功耗的分解情況,以便了解功耗的主要所在。FPGA功耗與設(shè)計有關(guān),也就是說取決于器件系列、時鐘頻率、翻轉(zhuǎn)率和資源利用率。

            以Xilinx Spartan-3 XC3S1000 FPGA為例,假定時鐘頻率為100MHz,翻轉(zhuǎn)率為12.5%,而資源利用率則取多種實際設(shè)計基準測試的典型值。

            圖2所示為XC3S1000的活動功耗和待機功耗分解圖。據(jù)報告顯示,活動功耗是設(shè)計在高溫下活動時的功耗,包括動態(tài)和靜態(tài)功耗兩部分。待機功耗是設(shè)計空閑時的功耗,由額定溫度下的靜態(tài)功耗組成。CLB在活動功耗和待機功耗中占最主要部分,這不足為奇,但其他模塊也產(chǎn)生可觀的功耗。I/O和時鐘電路占全部活動功耗的1/3,如果使用高功耗的I/O標準,其功耗還會更高。

            

            圖2 Spartan-3 XC3S1000 FPGA典型功耗分解圖

            配置電路和時鐘電路占待機功耗近1/2,這在很大程度上是偏置電流所致。因此,要降低芯片的總功耗,就必須采取針對所有主要功耗器件的多種解決。


          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();