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