《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 解決方案 > 在硬件設計中采用FPGA的基本要點

在硬件設計中采用FPGA的基本要點

2013-05-30
作者:Adam Taylor
關鍵詞: FPGA 電源 DSP 嵌入式

許多工程師認為,,只要定義了FPGA的功能,,工作就算完成了。但實際上將FPGA插入PCB時也會面臨一系列挑戰(zhàn),。

 

對于許多工程師和項目經理來說,,在FPGA中實現(xiàn)功能并實現(xiàn)時序收斂是主要目標,,但實際上在印刷電路板上設計FPGA的硬件級工作也會出現(xiàn)很多有趣的挑戰(zhàn),只有解決了這些挑戰(zhàn)才能實現(xiàn)成功設計,。

 

一切的起點均在于架構,。硬件開發(fā)第一步就是定義解決方案的架構。架構應該對應于系統(tǒng)要求,,并具體明確它們如何在硬件中得到實現(xiàn),。雖然不同系統(tǒng)的架構各有差異,而且每個系統(tǒng)的具體應用也大相徑庭,,但很多系統(tǒng)均包含類似的架構模塊,。您能夠同時也應該對經常需要的硬件模塊進行重復利用,就好像您重利用常用的HDL模塊一樣,。

 

1和圖2分別給出了整體架構和電源架構的實例,,而兩側則列出了設計FPGA系統(tǒng)時通常需要考慮的問題。

 

器件選擇

您一開始面臨最重要的選擇就是在大量可用FPGA中找到最合適的,。FPGA器件的選擇涉及許多因素,。首要因素就是該FPGA提供什么可用資源,是否足夠用來以所需的工作頻率實現(xiàn)您想要的功能,。

 

根據(jù)這些參數(shù),,您可以很快將選擇范圍細化到有限數(shù)量的器件,這樣您就能再進一步細化選擇標準,,找到適當?shù)?span lang="EN-US">FPGA,。另一個重要因素就是您系統(tǒng)可能需要的其它資源,,比方說DSP slice或乘法器、嵌入式處理器或高速串行鏈路等,。是否提供這些資源,,可以進一步縮小器件選擇的范圍。在許多情況下,,根據(jù)具體資源需求,,您會進一步尋找器件的子系列,比方說如果需要邏輯或高速串行鏈路,,則應選擇賽靈思Spartan®-6 LXSpartan-6 LXT,。

 

器件所需的輸入輸出數(shù)量會同時影響到器件選擇和封裝選擇,因為一款器件可能提供幾種不同的封裝選擇,,每種選擇還提供不同數(shù)量的用戶I/O,。這里通常需要注意的是,您應當考慮今后如何升級,,而且要考慮所選系列的各種器件是否具有通用的封裝尺寸,。

 

此外,選擇器件時您還應考慮工作環(huán)境,。舉例來說,,是不是商業(yè)組件就夠了,是否需要工業(yè),、醫(yī)療或汽車級的部件,?某些情況下您的系統(tǒng)可能需要軍用或航天級的組件。

 

此外,,您還必須要考慮到配置架構問題,。基于SRAMFPGA能否滿足應用需求,?或者說賽靈思Spartan-3AN系列這樣的非易失性解決方案是否更好一些,?設計的安全性同樣也是一大重要考慮因素。如果應用需要設計安全性,,就應考慮避免讀回并對數(shù)據(jù)流進行加密,。

 

無論應用是進行量產或是作為一次性的定制航天設計,組件成本當然也始終是一個重要因素,。您應制定目標成本預算,,并努力確保在成本限度內完成任務。

 

上述許多參數(shù)在系統(tǒng)中其它器件的選擇上也很重要,。特別重要的一個標準就是選擇的組件要能夠在相同的電壓軌上工作,,這樣就能簡化電源架構。

 

您還應考慮在設計中是否有組件標準降低的問題,。所有制造商的組件數(shù)據(jù)手冊都給出了器件的最大額定值和最大工作電應力,。如果我們選用的器件剛好在最大額定值以下的電應力工作,,那么設計的可靠性就會大幅下降,因為系統(tǒng)一直是在推薦工作條件以外工作的,。根據(jù)最終應用的不同,,故障可能會導致各種后果,包括導致人員傷亡,,破壞工作任務,,公司質量聲譽下挫等。為了生產出可靠的設備,,您必須在設計中減少電應力,。因此在選擇應用器件時,,您必須考慮到器件所承受的電應力,。

 

電源架構

器件選擇好之后,下一步影響項目成敗最關鍵的部分就是電源架構了,。這個因素往往被忽視?,F(xiàn)代FPGA的核心電壓通常介于0.9V1.5 V之間。相對于高性能FPGA而言,,這種器件需要的靜態(tài)電流可能很高,,而且器件完成配置并開始計時后的動態(tài)電流也很大。

 

設計中的功耗估算非常重要,,需要在項目早期進行,,以準確評估電源架構。賽靈思提供功耗估算電子數(shù)據(jù)表,,您可在以下網址下載:http://www.origin.xilinx.com/prod- ucts/design_tools/logic_design/xpe.htm,。在電子數(shù)據(jù)表中,您可根據(jù)選定器件的環(huán)境參數(shù)選擇FPGA資源的時鐘速率和翻轉率,。如果您不確定,,寧可做出更謹慎的選擇,也就是要對估算做出悲觀考慮而不是過于樂觀,。一旦明確了FPGA的電源要求,,就能將其整合到系統(tǒng)的整體功耗預算中,并在此基礎上明確電源架構,。

 

有的系統(tǒng)需要較大電流,,我們建議采用開關DC/DC轉換器保持整體效率,確保單元散熱設計不是很復雜,。如果需要的電流較低,,而且系統(tǒng)必須特別注意避免噪聲,也就是說為高速串行鏈路或敏感型ADC,、DAC組件提供電源的話,,那么您可采用線性穩(wěn)壓器和額外的濾波機制,。在所有情況下,您都應該仔細閱讀具體器件的數(shù)據(jù)手冊,。

 

一旦完成FPGA設計,,您就應該使用賽靈思ISE®設計套件中的XPower Analyzer獲得詳細的功耗估算。這一步驟將幫助您完成電源架構的設計工作,。

 

此外,,您還應考慮板上器件的電源去耦問題。現(xiàn)代器件的開關速度比調節(jié)電壓的電源快很多倍,。如果不采用去耦電容,,這種局面就會導致當穩(wěn)壓器上升時電源軌下降。理想情況下,,應讓去耦電容的值在結合PCB層間電容時的阻抗曲線低于0.1Ω,,而且可能的話應在100 kHz1 GHz之間。要實現(xiàn)這樣的性能,,應采用一系列去耦電容值,,每個值都有不同的自諧振頻率。這種方法可讓電源抑制比(PSRR)值不佳的器件也能實現(xiàn)最佳性能,,而PSRR在某些器件上會隨工作頻率的上升而下降,。

 

最后,要盡可能減少額外電壓軌的數(shù)量,,這有助于降低解決方案的復雜性,。此外,您還應注意到任何電源軌排序或斜坡速率,,并確保您的解決方案能夠滿足這些要求,。

 

時鐘和復位樹

您的系統(tǒng)需要至少一個時鐘工作。通常讓邏輯級振蕩器在所需頻率上工作,??紤]振蕩器時,要注意一系列問題,。其中振蕩器所需的輸出頻率和穩(wěn)定性是關鍵參數(shù),。振蕩器穩(wěn)定性單位為PPM(百萬分之一),通常為+/-50 PPM+/-100 PPM,。

 

驅動高速串行鏈路或為ADC/DAC提供時鐘的振蕩器通常還需要低相位噪聲和低抖動,。保持低噪聲和低抖動非常重要,因為低噪聲有助于降低高速鏈路的誤碼率,,而高噪聲和高抖動則會增加ADCDAC上的噪聲水平,,從而降低信噪比。

 

您還應考慮輸出信號標準。LVDSLVPECL等差分信號的抗噪性比單端LVCMOSLVTTL輸出要好,。此外,,差分信號還能減少EMI問題,加速上升和下降時間,。不過,,差分信號的相位噪聲性能比單端輸出要差。高性能系統(tǒng)將采用正弦波振蕩器作為主時鐘源以減少相位噪聲和抖動的影響,,這在ADCDAC計時情況下尤其如此,。

 

由于FPGA可在內部支持多個時鐘域,因此目前系統(tǒng)通常采用一個以上的時鐘域,。如果不能通過DLL,、DCMPLL等內部時鐘資源實現(xiàn)所需的分頻,那么設計人員往往會采用高速時鐘和低速率時鐘相結合,。此外,,不同的協(xié)議或算法也會需要不同的時鐘頻率,從而在設計中創(chuàng)建多個時鐘和時鐘域,。圖3給出了典型的時鐘樹,。


 

本站內容除特別聲明的原創(chuàng)文章之外,,轉載內容只為傳遞更多信息,,并不代表本網站贊同其觀點。轉載的所有的文章,、圖片,、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創(chuàng)文章及圖片等內容無法一一聯(lián)系確認版權者,。如涉及作品內容,、版權和其它問題,請及時通過電子郵件或電話通知我們,,以便迅速采取適當措施,,避免給雙方造成不必要的經濟損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。