FPGA與眾多其它類型組件的不同之處在于,其核心電壓、輔助電壓和I/O電壓電源需求取決于設(shè)計實現(xiàn)。因此,確定應(yīng)用中FPGA的功耗比數(shù)據(jù)手冊描述的情況更復(fù)雜一點,要實現(xiàn)正確的電源架構(gòu)因此也具有一定的挑戰(zhàn)性。這不僅要考慮到所需的靜態(tài)電流、斜坡率和上電順排序,還需要能為終端應(yīng)用適當(dāng)供電,同時保持器件結(jié)溫在可接受的范圍內(nèi)。
XPE和XPA是什么?這是賽靈思推出的兩款設(shè)計工具,能幫助您準(zhǔn)確地進行FPGA設(shè)計的功耗分析。您可在設(shè)計早期階段使用基于電子數(shù)據(jù)表的賽靈思功耗估計器(XPE),在完成實現(xiàn)后再使用賽靈思功耗分析器(XPA)。XPA能幫助您對設(shè)計的功耗要求做進一步的分析,并根據(jù)需要協(xié)助功耗優(yōu)化。
初始步驟
首先啟動開發(fā)項目時,很難有整個FPGA設(shè)計都到位的情況(如果幸運的話,或許能重復(fù)利用一些代碼,這能為功耗預(yù)測提供更多準(zhǔn)確信息)。因此,進行估算功耗首先可以從XPE電子數(shù)據(jù)表入手(參見: ucts/design_tools/logic_design/xpe.htm )。您可以根據(jù)工程團隊對設(shè)計所需時鐘、邏輯和其它資源量的初步考慮來進行最初功耗估算。
XPE的使用非常直觀,更好的是,該工具能幫助您進行大量“假設(shè)”實現(xiàn),從而明確不同設(shè)計方案選擇對功耗估算的影響。如果您的解決方案耗電高,那么這種功能對幫助您找到最佳實現(xiàn)方案發(fā)揮著重要作用。
XPE能根據(jù)散熱、氣流和印制電路板層數(shù)預(yù)測器件結(jié)溫,這一功能在設(shè)計早期階段非常有用。它能告訴我們設(shè)計能否達到預(yù)期實現(xiàn)方案的額定結(jié)溫。
在XPE中,您的第一步工作就是盡可能準(zhǔn)確地完成設(shè)置。除了選擇器件之外,還要特別注意封裝、速度等級和溫度等級都要正確設(shè)置,同樣如果適用的話還要準(zhǔn)確設(shè)置步進、工藝和功耗模式。所有這些參數(shù),對所需的整體功耗有很大影響,尤其是工藝的設(shè)置,其設(shè)置分為“最大值”和“典型值”。典型值設(shè)置為您提供統(tǒng)計上應(yīng)用所需的功耗,而最大值設(shè)置則能滿足最差情況下的需求。要確保您的解決方案能應(yīng)對最高用電需求情況,但這也有一定困難,因為較大型器件也有著更高的電流需求。
我們也可在此定義工作環(huán)境,包括環(huán)境溫度、散熱和氣流等。在此定義最大環(huán)境溫度能提高估算準(zhǔn)確度,因為所需的功耗會隨著器件結(jié)溫的提升而升高。包括散熱、氣流或者這兩者等,就能改進功耗估算。
在此階段也不要忽略賽靈思ISE?優(yōu)化設(shè)置。這種設(shè)置對功耗估算也有影響,因為不同的優(yōu)化方案(比方說時序性能與面積最小化方案)都會帶來不同的實現(xiàn)方案,每種實現(xiàn)方案都有自己的資源使用和扇出模式,也會影響功耗估算。
估算工作的下一階段就是仔細檢查XPE電子數(shù)據(jù)表底部的標(biāo)簽,盡可能準(zhǔn)確地填寫所建議的解決方案的細節(jié)。為了確保早期獲得最準(zhǔn)確的估算,至少應(yīng)定義資源使用、時鐘頻率、觸發(fā)率和啟用率,這非常重要。同時也應(yīng)做好一定應(yīng)急準(zhǔn)備,應(yīng)對始終存在的要求變化問題。
這一進程完成后,XPE能在總結(jié)標(biāo)簽中提供整體功耗和結(jié)溫估算,如圖1所示。
估算完成后,您可根據(jù)需要,在總結(jié)頁面上選擇“導(dǎo)出文件”選項,將設(shè)置從XPE導(dǎo)出,以隨后用于賽靈思功耗分析器(XPA)中。這能確保XPA的設(shè)置與您最初用于估算的相匹配。
隨著開發(fā)工作向RTL制造、跟蹤綜合和布局布線推進,我們根據(jù)提供的更準(zhǔn)確的信息,隨時更新估算結(jié)果。要記住,硬件團隊,尤其是負責(zé)電源設(shè)計的團隊,應(yīng)了解估算的任何變動。電源工程師應(yīng)提供電源軌最糟糕情況下的最大電壓,這能進一步提高估算精度。最差情況下最大電源電壓升高,也會讓功耗估算變大。
XPE非常智能,能在最差情況下最大電源電壓超出器件可接受容限時將電子數(shù)據(jù)表上的電壓單元標(biāo)為橙色并發(fā)出警告,如圖2所示。
進入XPA
設(shè)計實現(xiàn)后,我們能用賽靈思功耗分析器從功耗圖片上獲得精確得多的功耗估算。結(jié)果到底有多精確,這取決于您對工具的輸入。您可點擊ISE設(shè)計套件進程窗口中布局布線項下的Analyze Power Distribution打開XPA(見圖3)。
一旦XPA打開,您又會看到類似于XPE的總結(jié)屏幕(圖4)。您在此可定義環(huán)境并創(chuàng)建更多設(shè)置,也可從您的XPE分析中導(dǎo)入設(shè)置。
要包括.xpa文件或打開新項目,您應(yīng)采用以下流程,其中包括:
? 本地電路設(shè)計(NCD)文件:定義物理FPGA實現(xiàn)方案。
? 設(shè)置文件: 定義從XPE導(dǎo)入的設(shè)置。
? 物理約束文件(PCF) : 包含時鐘信息和映射以及UCF限制。
? 數(shù)值變更轉(zhuǎn)儲(VCD)或開關(guān)行為互換文件(SAIF)仿真文件,可用仿真工具生成,使得XPA能獲得設(shè)計開關(guān)信息 。
自然,您直接包含的信息越多,功耗估算就越準(zhǔn)確。XPA能提供估算可信度,這很有幫助,可信度分為低中高三級,并分為設(shè)計實現(xiàn)狀態(tài)、時鐘節(jié)點活動、I/O節(jié)點活動、內(nèi)部節(jié)點活動和器件模型五大類。
這些不同的可信度可得出估算的整體可信度。XPA還能就如何提高各個不同類別的可信度提出建議,這也相當(dāng)有用,從而有助于提升整體可信度(圖5)。
為了獲得功耗估算最高的可信度,您應(yīng)該從門級仿真獲得VCD或SAIF文件。這樣,XPA就能了解內(nèi)部節(jié)點的行為,從而提供更精確的估算。
從仿真獲得VCD非常直觀,不過根據(jù)您使用的工具(Mentor Graphics的ModelSim、賽靈思的ISim等)不同,所需的命令格式可能略有不同。如果您正在使用ModelSim工具,那么您就可用以下語法創(chuàng)建簡單的VCD文件:
vcd file myvcd.vcd
—define the file name and location if desired
vcd add /memory_if_tb/ uut_apply/*
—the region of the design that is to be recorded
退出仿真時,結(jié)果將會保存在VCD文件中,您可在XPA中使用這個文件。如果您使用的是ISim工具,那么格式會略有不同:
vcd dumpfile myvcd.vcd —define the file name and location if desired
vcd dumpvars -m /memory_if_tb/uut_apply
—the region of the design that is to be recorded
Run Simulation
vcd dumpflush
—save results to the vcd file created
仿真工具中還有許多更高級的命令,您可用來生成VCD。在工具文檔中有詳細介紹。
由于包括了VCD文件,您的功耗估算可信度會有所提高。如果您不能提供仿真結(jié)果(有的運行需要很長時間),那么XPA會用其內(nèi)置的分析引擎運行。在此情況下要做到準(zhǔn)確,就應(yīng)再次指定翻轉(zhuǎn)率和啟用率。
與XPE中一樣,XPA中也應(yīng)包括最差情況下的最大電源電壓,這非常重要。我們也可將XPA設(shè)計導(dǎo)回XPE,讓設(shè)計團隊嘗試進行更多試驗性修改,從而明確這些改動對功耗和結(jié)溫估算所產(chǎn)生的影響。
可信度還不夠高該怎么辦?
假設(shè)包括了仿真并提供有其它信息,那么您應(yīng)該就能實現(xiàn)較高可信度的功耗估算和結(jié)溫預(yù)測。在理想情況下,應(yīng)用應(yīng)該可以接受這種可信度。不過,如果實際情況下您還無法實現(xiàn)這樣的可信度,工程師還有什么其他辦法確保設(shè)計實現(xiàn)功耗預(yù)算目標(biāo)或所需的結(jié)溫呢?
為了實現(xiàn)所需的結(jié)果,我們可對以下設(shè)計的三處地方進行修改:源、實現(xiàn)和(就結(jié)溫而言)物理模塊設(shè)計。
在設(shè)計源中,您可采取以下步驟:
1. 刪除任何異步復(fù)位。
2. 在較大組合函數(shù)之間包括流水線級。
3. 確保通過推理或?qū)嵗谄骷胁捎脤S玫馁Y源。
綜合和布局布線階段的選項包括:
1. 針對面積最小化或功耗降低設(shè)定優(yōu)化方案。
2. 檢查設(shè)計約束,確保不過度約束器件。
3. 限制高扇出路徑的扇出。
4. 只要有可能,狀態(tài)機等就應(yīng)采用RAM。
5. 確保啟用重新定時。
希望通過以上步驟,功耗估算和結(jié)溫預(yù)測都能得到改進。不過,如果以上還不行而且確實必要,您也可通過散熱或強制氣流來降低結(jié)溫,只是這么做會影響項目的機械設(shè)計。
準(zhǔn)確的估算
您可用賽靈思功耗估計器和賽靈思功耗分析器獲得準(zhǔn)確的FPGA設(shè)計功耗估算,這兩款工具可共享有關(guān)信息。功耗估算的準(zhǔn)確度取決于仿真和工程設(shè)計團隊提供數(shù)據(jù)的質(zhì)量。
您也應(yīng)提供足夠的應(yīng)急方案來應(yīng)對要求的變化,確保解決方案能應(yīng)對電流功耗和電源電壓斜率的要求。
評論
查看更多