《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 模擬設(shè)計(jì) > 解決方案 > 在硬件設(shè)計(jì)中采用FPGA的基本要點(diǎn)

在硬件設(shè)計(jì)中采用FPGA的基本要點(diǎn)

2013-05-30
作者:Adam Taylor
關(guān)鍵詞: FPGA 電源 DSP 嵌入式

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

 

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

 

一切的起點(diǎn)均在于架構(gòu),。硬件開(kāi)發(fā)第一步就是定義解決方案的架構(gòu),。架構(gòu)應(yīng)該對(duì)應(yīng)于系統(tǒng)要求,并具體明確它們?nèi)绾卧谟布械玫綄?shí)現(xiàn),。雖然不同系統(tǒng)的架構(gòu)各有差異,,而且每個(gè)系統(tǒng)的具體應(yīng)用也大相徑庭,但很多系統(tǒng)均包含類似的架構(gòu)模塊,。您能夠同時(shí)也應(yīng)該對(duì)經(jīng)常需要的硬件模塊進(jìn)行重復(fù)利用,,就好像您重利用常用的HDL模塊一樣。

 

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

 

器件選擇

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

 

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

 

器件所需的輸入輸出數(shù)量會(huì)同時(shí)影響到器件選擇和封裝選擇,,因?yàn)橐豢钇骷赡芴峁追N不同的封裝選擇,,每種選擇還提供不同數(shù)量的用戶I/O。這里通常需要注意的是,,您應(yīng)當(dāng)考慮今后如何升級(jí),,而且要考慮所選系列的各種器件是否具有通用的封裝尺寸。

 

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

 

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

 

無(wú)論應(yīng)用是進(jìn)行量產(chǎn)或是作為一次性的定制航天設(shè)計(jì),組件成本當(dāng)然也始終是一個(gè)重要因素,。您應(yīng)制定目標(biāo)成本預(yù)算,,并努力確保在成本限度內(nèi)完成任務(wù)。

 

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

 

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

 

電源架構(gòu)

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

 

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

 

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

 

一旦完成FPGA設(shè)計(jì),,您就應(yīng)該使用賽靈思ISE®設(shè)計(jì)套件中的XPower Analyzer獲得詳細(xì)的功耗估算。這一步驟將幫助您完成電源架構(gòu)的設(shè)計(jì)工作,。

 

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

 

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

 

時(shí)鐘和復(fù)位樹(shù)

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

 

驅(qū)動(dòng)高速串行鏈路或?yàn)?span lang="EN-US">ADC/DAC提供時(shí)鐘的振蕩器通常還需要低相位噪聲和低抖動(dòng),。保持低噪聲和低抖動(dòng)非常重要,因?yàn)榈驮肼曈兄诮档透咚冁溌返恼`碼率,,而高噪聲和高抖動(dòng)則會(huì)增加ADCDAC上的噪聲水平,,從而降低信噪比。

 

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

 

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


 

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