Virtex一5LXl10的ASlC原型開發(fā)平臺設(shè)計
目前ASIC設(shè)計的規(guī)模在不斷擴大、復(fù)雜度在不斷增加,與此同時,日益激烈的競爭使得今天的電子產(chǎn)品市場對產(chǎn)品進入市場的時間極為敏感。如何提高驗證的效率已成為一個巨大的挑戰(zhàn)。當(dāng)前對ASIC設(shè)計者開放的3個主要驗證選擇是仿真(emulation)、模擬(simulation)和FPGA原型(prototypes)開發(fā)。隨著FPGA的門數(shù)越來越高,功能越來越強大,使其成為了ASIC驗證的強有力工具。
Virtex一5 LX系列是Xilinx公司推出的新一代65nm工藝FPGA。它與上一代90 nm的FPGA相比,速度平均提高30%,容量增加65%;同時動態(tài)功耗降低35%,靜態(tài)功耗保持同樣低,使用面積減小45%。Virtex一5 LX系列還通過性能優(yōu)化的IP模塊擁有了550 MHz時鐘技術(shù)。高性能的SelectIO特性,提供了到667 Mbps DDR2SDRAM和1 200 Mbps QDR II SRAM等外部存儲器的最快連接。
本文基于Viitex一5 LX110驗證平臺的設(shè)計,探索了高性能FPGA硬件系統(tǒng)設(shè)計的一般性方法及流程,以提高FPGA的系統(tǒng)性能。
1 系統(tǒng)設(shè)計實現(xiàn)
利用FPGA可以很好地對ASIC的功能進行驗證。通過常年對AISC原型驗證平臺的設(shè)計和測試發(fā)現(xiàn),對于某些ASIC,特別是用于通信領(lǐng)域的ASIC,如果能夠在原型驗證階段就可以在實際環(huán)境中對其性能進行嚴格的評估,對其采用的算法進行驗證,便能夠很好地保證芯片的性能,從而加快產(chǎn)品的上市時間。利用通用的FPGA驗證平臺,例如DiniGroup,其價格昂貴且與系統(tǒng)進行互聯(lián)也比較困難,不滿足對系統(tǒng)進行現(xiàn)場測試的高度集成性和便攜性的要求。解決這一問題的最好方法就是,根據(jù)需求直接將FPGA集成到系統(tǒng)當(dāng)中,設(shè)計出適用于現(xiàn)場評估測試的單板驗證平臺。
1.1 系統(tǒng)資源評估
(1)FPGA資源
Virtex一5 LX110包含17 280個Slice,110 592個log—ic cell,12個DCM和6個PLL;提供高達800個I/O引腳,23個I/O板塊,其中每個I/O都可設(shè)置成差分輸出。LX110支持多種I/O類型,需要根據(jù)系統(tǒng)不同模塊的輸入/輸出特性選擇合適的I/O類型,并將所用到的I/O進行合理的布局規(guī)劃。各種不同I/0類型的電氣特性約束嚴格限制了引腳位置的指定,同時I/O引腳的引出位置影響到BGA封裝的板級走線,因此需要綜合考慮以便對I/O引腳資源進行合理的劃分。
(2)時鐘分布
系統(tǒng)中的時鐘信號通常是串?dāng)_和EMI問題的根源,因此需要對其進行合理的規(guī)劃。時鐘信號的完整性是保證系統(tǒng)正常工作的重要因素,在仿真中特別需要關(guān)注。利用FPGA提供的DCM資源可以減少系統(tǒng)所需的時鐘信號器件,從而減少板級時鐘網(wǎng)絡(luò)。PCB布線時應(yīng)注意將時鐘信號和數(shù)據(jù)信號進行隔離,以避免串?dāng)_的產(chǎn)生。
(3)FPGA配置模塊
設(shè)計合理、適用的FPGA配置方案。Virtex一5提供的配置模式多達8種,本設(shè)計選用Xilinx公司提供的PROM配置芯片,通過JTAG接口將配置文件寫入PROM中,系統(tǒng)上電后FPGA和PROM按所設(shè)定的配置模式將配置文件從PROM下載到FPGA里,利用FPOA+PROM的組合可以有效地簡化配置電路設(shè)計。此外還可以通過JTAG接口對FPGA進行在線配置。
(4)模數(shù)轉(zhuǎn)換模塊
系統(tǒng)集成高速雙路模數(shù)轉(zhuǎn)換器,支持高達105 Msps的采樣速率,每路10位輸出。
(5)I/O接口模塊
系統(tǒng)為各種不同的I/O類型提供了相應(yīng)的接口,支持LVCMOS33、LVCMOS25、LVDS_25類型的I/O。
(6)電源管理模塊
FPGA所需電源主要有3個:內(nèi)核電壓(VCCINT)、I/O電壓(VCCO)、輔助電路電壓(VCCAUX)。其他如A/D電壓、FPGA配置芯片電源(內(nèi)核電壓和I/O電壓)、板級所需的時鐘電路供電及指示燈供電電壓,總共需提供8個電源。系統(tǒng)功能框圖如圖1所示。
1.2 原理圖符號生成
FPGA的可定制特性需要按特定應(yīng)用進行原理圖符號生成。首先,從特殊用途引腳的指定開始,例如電源、地引腳、參考電壓引腳以及配置引腳等。只有對這些引腳的正確指定才能保證PCB布板及走線的正確連接。下一步是將邏輯I/0和封裝形式連接起來,可以利用FPGA的設(shè)計開發(fā)環(huán)境來指定,然后導(dǎo)入到PCB布板環(huán)境中。在FPGA的設(shè)計開發(fā)環(huán)境中,用戶可以利用圖形界面對引腳進行指定,然后在實現(xiàn)過程中,F(xiàn)PGA布局布線工具能自動地對引腳進行指定。在FPGA的設(shè)計開發(fā)環(huán)境中,能夠進行DRC檢驗以保證引腳的合法性。
接下來為FPGA創(chuàng)建結(jié)構(gòu)化的原理圖符號。由于FPGA本身I/0的復(fù)雜性和可配置性,將整個FPGA分割為多個子模塊能夠有效地減輕設(shè)計的復(fù)雜度,也便于管理和檢查。圖2顯示了利用Mentor Dxdesigner’原理圖符號生成向?qū)赡K化原理圖符號的設(shè)計過程。原理圖符號生成之后就可以在原理圖設(shè)計環(huán)境進行原理圖的設(shè)計,指定各個模塊的連接關(guān)系。
1.3 PCB疊層定義
對。PCB疊層、材料和尺寸的設(shè)計需要考慮以下因素:
◆走線層的數(shù)量需要考慮到封裝特性、設(shè)計所用的I/()數(shù)目以及間距;
◆芯片互聯(lián)線的數(shù)據(jù)傳輸速率,信號的上升、下降時間對PCB材料、尺寸以及走線方式和制板工藝的限制;
◆元件所需的不同供電和參考電壓,對電源層的規(guī)劃和設(shè)計;
◆成本問題(利用盲孔、盲埋孔、微通孔等工藝能有效地減少疊層數(shù)目,以達到降低成本的目的)。
該設(shè)計中,與FPGA互聯(lián)的信號線約為130條,包括配置電路信號線、時鐘信號線及其他I/O信號。選用上下兩個走線層。考慮到多個電源供電,設(shè)置2個電源平面、2個地平面。整個PCB采用6層板結(jié)構(gòu)設(shè)計,信號層目標(biāo)阻抗50 Q。
利用HyperLnyx疊層設(shè)計如圖3所示。
1.4 散熱管理
FPGA支持的速率越高,本身的資源密度越大,因此要關(guān)注應(yīng)用中的散熱管理問題。對FPGA的功率消耗進行估計,以決定是否需要散熱系統(tǒng)。
XPower Estimater是一款基于Excel的軟件,通過對設(shè)計資源的利用,包括邏輯資源、DCM、PLL、I/0類型、觸發(fā)率(toggling rate),以及其他與FPGA設(shè)計密切相關(guān)的信息,對FPGA的功耗進行估算。圖4為利用XPE進行設(shè)計功耗估算的截圖。
1.5 信號完整性分析
在時域和頻域?qū)υO(shè)計的連接拓撲結(jié)構(gòu)(PCB疊層、驅(qū)動端、接收端、連接器、通孔等等)進行信號完整性分析,目的是要評估和減小信號從驅(qū)動端到接收端的反射、串?dāng)_以及EMI/EMC等問題。通過仿真分析得到的約束形式能有效指導(dǎo)PCB布局布線工具進行l(wèi)ayout設(shè)計。進行信號完整性分析,首先要確定與FPGA相接的外圍器件的I/O特性及其約束,進而對FPGA采用何種I/0類型以及端接匹配機制有一個大致的了解,然后是通過仿真對采用的I/O類型及端接電路的各個參數(shù)進行定義及優(yōu)化。
(1)前仿真
S1分析一般主要從高速信號、對時序要求較高的信號、走線最長的信號、負載最多的信號開始,因為這些信號線通常最容易引起SI問題。確定關(guān)鍵信號在仿真環(huán)境中建立起相應(yīng)的拓撲模型。
通過仿真能定義出最長連接走線以及其他滿足噪聲裕量(匹配電路、端接方式等)的網(wǎng)絡(luò)屬性。確定FPGA驅(qū)動緩沖特性,例如I/O標(biāo)準、驅(qū)動能力以及回轉(zhuǎn)率,使信號完整性問題、EMI/EMC問題最小化,同樣也對接收端I/0屬性進行定義。進行串?dāng)_仿真以保證相鄰走線不會引起串?dāng)_問題。定義端節(jié)匹配方式。
圖5、6是對時鐘網(wǎng)絡(luò)匹配前和匹配后進行的仿真圖形對比。
通過前期的大量仿真分析可以很好地保證設(shè)計的成功率。
(2)后仿真
在PCB Layout完成之后還需要對整個布好的PCB板進行仿真,后仿真更強調(diào)對串?dāng)_和EMI的分析,如圖7所示。只要任何一個網(wǎng)絡(luò)不滿足設(shè)計需求,就需要對該網(wǎng)絡(luò)進行修改,設(shè)計新的走線路徑,直至滿足設(shè)計需求。
1.6 電源分布系統(tǒng)(PDS)設(shè)計
PDS分析的目的,是要評估數(shù)字器件所需的瞬態(tài)電流,以提供一條良好的供電路徑。電流路徑中的寄生電感是導(dǎo)致供電網(wǎng)絡(luò)設(shè)計失敗的根源(例如地彈噪聲)。一種可能的情況是,IC信號應(yīng)當(dāng)發(fā)生翻轉(zhuǎn)時卻沒有翻轉(zhuǎn);另一種更常見的情況是引起系統(tǒng)抖動(Jitter)變大,從而導(dǎo)致時序錯誤。在兩種情況中,都將造成系統(tǒng)工作不正?;蛘叱鲈O(shè)計規(guī)范定義的范圍。
首先檢驗FPGA的靜態(tài)和瞬態(tài)電流需求,瞬態(tài)電流由設(shè)計的時鐘域、DCM利用率、開關(guān)邏輯數(shù)目以及同時翻轉(zhuǎn)輸出(SimuItaneous Switch Output,SSO)等因素決定,靜態(tài)和瞬態(tài)電流的大小可以利用XPE或XPower來取得。設(shè)計滿足需求的電源去耦網(wǎng)絡(luò),并通過仿真確定所需電容值及其數(shù)量,同樣,電容在板上的擺放位置對PDS的影響也很重要。圖8表明了調(diào)整前后電源層阻抗的仿真結(jié)果。通過對電源去耦網(wǎng)絡(luò)的悉心設(shè)計,可以有效降低FPGA工作頻率范圍內(nèi)的電源阻抗。阻抗越低,意味著系統(tǒng)對瞬態(tài)電流的需求越能及時做出反應(yīng),因此也越能減小電源的供電噪聲。
圖8是對電源VCCO對地的頻率一阻抗曲線的仿真圖。通過對電源去耦網(wǎng)絡(luò)的設(shè)計,可以保證在400 MHz的范圍內(nèi),電源阻抗值是小于目標(biāo)阻抗的。
1.7 可測試性設(shè)計
隨著布線密度的增加,很難對PCB的每個信號都進行物理連接檢測,特別是對于BGA封裝的芯片。另外,對高速信號添加測試點還會導(dǎo)致信號路徑阻抗不連續(xù),引起反射,從而使信號完整性降低。為解決這一矛盾,在設(shè)計中首先對FPGA和與其相連的外圍電路的每個信號連接生成了一個測試設(shè)計,利用FPGA的邏輯資源對FPGA獲取到的輸入信號與期望的信號值進行比較,對所得的結(jié)果通過JTAG端口或者其他外圍顯示電路(如LED)顯示輸出。
2 結(jié) 論
本文對驗證平臺硬件設(shè)計中的FPGA相關(guān)分析進行了詳盡描述。目的是通過設(shè)計流程前期的大量分析和仿真,將FPGA在整個設(shè)計系統(tǒng)的工作特性以及系統(tǒng)環(huán)境對FPGA的影響作用進行模擬,得出的結(jié)果轉(zhuǎn)化為設(shè)計約束導(dǎo)人至PCB Layout的環(huán)境中,能有效地提高一次設(shè)計成功的機率。按照此流程設(shè)計的Virtex-5驗證平臺工作正常,達到了預(yù)期的設(shè)計目的。