基于XilinxFPGA高速串行接口的設(shè)計與實現(xiàn)_第1頁
基于XilinxFPGA高速串行接口的設(shè)計與實現(xiàn)_第2頁
基于XilinxFPGA高速串行接口的設(shè)計與實現(xiàn)_第3頁
基于XilinxFPGA高速串行接口的設(shè)計與實現(xiàn)_第4頁
基于XilinxFPGA高速串行接口的設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩24頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、基于Xilinx FPGA高速串行接口的設(shè)計與實現(xiàn)Design and implementation of high-speed serial interface based on Xilinx FPGA摘 要p 在數(shù)字系統(tǒng)互連設(shè)計中,高速串行IO技術(shù)取代傳統(tǒng)的并行IO技術(shù)成為當(dāng)前發(fā)展的趨勢。與傳統(tǒng)并行IO技術(shù)相比,串行方案提供了更大的帶寬、更遠(yuǎn)的距離、更低的成本和更高的擴展能力,克服了并行IO設(shè)計存在的缺陷。在實際設(shè)計應(yīng)用中,采用現(xiàn)場可編程門陣列(FPGA)實現(xiàn)高速串行接口是一種性價比較高的技術(shù)途徑。p Xilinx的最新一代FPGA芯片Virtex.5版本,是Virtex產(chǎn)品線的第五代產(chǎn)品

2、,采用先進的65nm三柵極氧化層工藝、新ExpressFabrie技術(shù)和ASMBL架構(gòu)。Virtex5 LXT分別針對高速邏輯、數(shù)字信號處理、嵌入式處理和串行連接等應(yīng)用領(lǐng)域進行優(yōu)化。與前一代FPGA相比, Virtex一5在性能和密度方面取得了巨大進步:速度平均提高30,容量增加65,動態(tài)功耗降低35,靜態(tài)功耗保持相同的低水平,占用面積減少45。 Virtex 5 LXT芯片內(nèi)置了最多24個RocketIO收發(fā)器,支持從100Mbps到375Gbps串行數(shù)據(jù)傳輸速率,并支持目前流行的高速串行IO接口標(biāo)準(zhǔn)。本文從時鐘、復(fù)位、電源控制、發(fā)送和接收邏輯等關(guān)鍵方面,論述了采用Virtex5 LXT芯片

3、內(nèi)的RocketIO實現(xiàn)高速串行傳輸接口設(shè)計?;赬ilinx ML505開發(fā)平臺實現(xiàn)了高速串行數(shù)據(jù)傳輸系統(tǒng),重點說明了RocketIO特性和125Gbps高速串行傳輸?shù)膶崿F(xiàn)技術(shù)。高速串行技術(shù)發(fā)展現(xiàn)狀 p 今天,多數(shù)計算機、嵌入式處理設(shè)備和通信設(shè)備仍然采用并行總線,最流行總線形式包括PCI、VME及它們擴展。目前廣泛使用的幾種通信標(biāo)準(zhǔn)都是基于并行總線標(biāo)準(zhǔn)。并行總線可分為兩大類:系統(tǒng)同步并行總線標(biāo)準(zhǔn),主要包括PCI-X和Compact PCI;源同步并行總線標(biāo)準(zhǔn),包括RapidIO、HyperTransport等其他類似標(biāo)準(zhǔn)。但隨著芯片性能的增加,以及更大帶寬需求,這些多路并行總線結(jié)構(gòu)遇到了令系

4、統(tǒng)設(shè)計者頭疼限制。并行接口限制有:碼間干擾、信號偏移、串音干擾和直流偏置等問題,這些因素嚴(yán)重地影響了并行接口頻率的提高和傳輸距離的增長。為了解決并行接口在數(shù)據(jù)傳輸時所面臨的極限問題,國內(nèi)外都將更多的研究焦點放在高速串行接口電路上。1.2.1 LVDS技術(shù)簡介pLVDS(Low Voltage Differential Signal)是一種低擺幅的差分信號技術(shù),使用非常小幅度信號通過一對差分PCB走線來傳輸數(shù)據(jù),在兩條平行的差分信號線上流經(jīng)電流和電壓幅度相反,噪聲同時耦合到兩條線上,于是噪聲被抵消。從而實現(xiàn)高速度、遠(yuǎn)距離傳輸,并且其低壓幅和低電流驅(qū)動輸出實現(xiàn)了低噪聲和低功耗。pLVDS在兩個標(biāo)準(zhǔn)

5、中定義:一個是IEEE P1596.3(1996年3月通過),主要面向SCI(Scalable Coherent Interface),定義了LVDS電特性,還定義了SCI協(xié)議中包交換時的編碼;另一個是ANSI/EIA/EIA-644(1995年11月通過),主要定義了LVDS電特性,并建議了655Mbps最大速率和1823Gbps無失真媒質(zhì)上的理論極限速率。在兩個標(biāo)準(zhǔn)中都指定了與物理媒質(zhì)無關(guān)的特性,這意味著只要媒質(zhì)在指定的噪聲邊緣和歪斜容忍范圍內(nèi)發(fā)送信號到接收器,接口都能正常工作。簡單的單工LVDS接口連接圖Fig Simplex LVDS interface simple connecte

6、d graphCML技術(shù)簡介 p CML(Current Modc Logic)是繼ECL、LVDS之后的又一種采用低電壓差分信號傳輸技術(shù)高速串行接口。該技術(shù)采用了低電壓擺幅,差分信號傳輸以及電流驅(qū)動模式,從而具有了高速度、低噪聲、低功耗和低成本等優(yōu)點。CML串行數(shù)據(jù)傳輸速率一般在1Gbps一10Gbps,并且可以通過通道綁定技術(shù)、制造工藝改善等方法,還可以達(dá)到更高速率。CML所具有這些優(yōu)點,尤其是其超高的數(shù)據(jù)傳輸能力使其應(yīng)用需求大大增加,目前數(shù)據(jù)傳輸速率超過25Gbps串行傳輸系統(tǒng)一般均采用CML技術(shù)。p CML主要有兩種傳輸連接方式:DC耦合和AC耦合,如下圖所示。當(dāng)收發(fā)兩端器件使用相同電

7、源時,CML到CML可以采用直流耦合方式,不用添加任何器件;當(dāng)收發(fā)兩端器件采用不同電源時,一般要考慮交流耦合,中間加耦合電容(注意這時選用的耦合電容要足夠大,以避免在較長連0或連1情況出現(xiàn)時,接收端差分電壓變小)。CML直接耦合 CML交流耦合 FPGA的設(shè)計方法 p 一般說來,完整的FPGA設(shè)計流程包括RTL設(shè)計輸入、功能仿真、綜合優(yōu)化、布局布線、時序分析、時序仿真,以及下載調(diào)試驗證這幾個階段,如下圖所示。FPGA與TS20l的硬件連接及可行性分析p 在FPGA中仿真設(shè)計TS201的鏈路口功能,需要在電路板上將DSP的鏈路口部分與FPGA進行連接,從而在后期進行聯(lián)合調(diào)試。下面就把連接的示意圖

8、和注意事項給出:Xilinx硬件部分FPGA+DSP硬件仿真部分基于FPGA的高速鏈路口仿真設(shè)計發(fā)送鏈路口的仿真測試 p 在XC5VLX50T中仿真發(fā)送鏈路口功能時,發(fā)送緩沖器中輸出的8bit并行數(shù)據(jù)為xk_index,通過DDR模塊的轉(zhuǎn)換后,經(jīng)由0BUFDS,輸出了所需要的差分?jǐn)?shù)據(jù)和差分時鐘。從下面的功能仿真圖中,可以看到發(fā)送鏈路口所完成的功能是正確的。下圖所示為經(jīng)過布局布線后,發(fā)送鏈路口功能的時序后仿真圖,可以從圖中看出,經(jīng)過布局布線后,時鐘和數(shù)據(jù)的對應(yīng)關(guān)系稍有移位,但并不影響功能的實現(xiàn)。接收鏈路口的仿真測試p 在XC5VLX50T中仿真接收鏈路口功能時。接收模塊通過IBUFDS將輸入的差

9、分?jǐn)?shù)據(jù)和時鐘轉(zhuǎn)換成單端的數(shù)據(jù)和時鐘。再通過兩級緩沖機制將接收到的LinkPort協(xié)議的數(shù)據(jù)進行拼接,從而得到8bit的并行數(shù)據(jù)rxdata,而rxdata的值與鏈路口直接接收到的DDR的數(shù)據(jù)是相同的。從下面的功能仿真圖中,可以看到接收鏈路口所完成的功能是正確的。對于鏈路口的接收部分,實際調(diào)試中需要與DSP進行配合調(diào)試,由DSP鏈路口發(fā)送數(shù)據(jù),F(xiàn)PGA模擬接收部分。在實際的調(diào)試中,鏈路幾發(fā)送的數(shù)據(jù)為4e4e4e4e和e4e4e4e4,下圖為用chipscope軟件進行抓圖的實際結(jié)果18。實際硬件調(diào)試中的注意事項p 在實際的硬件連接中,F(xiàn)PGA部分除了要把對應(yīng)的管腳通過板上走線與DSP對應(yīng)的管腳連

10、接起來,還要特別注意鏈路口時鐘的管腳分配問題。最好把時鐘信號分配到BANK3和BANK4的全局時鐘管腳上,這樣做時鐘走線就可以通過全局時鐘網(wǎng)絡(luò),獲得更好的穩(wěn)定性。另外,在FPGA模擬接收鏈路口功能時,需要對接收到的時鐘和數(shù)據(jù)部分進行約束,從而保證接收到的鏈路口時鐘可以正確地對數(shù)據(jù)進行采樣。時序約束部分的程序如下:NET “l(fā)x_clkin_p” TNM_NET = lx_clkin_p;TIMESPEC TS_lx_clkin_p = PERIOD “l(fā)x-clkin_p” 115.5MHz HIGH 50%;NET “l(fā)x_clkin_n” TNM_NET = lx_clkin_n;TIME

11、SPEC TS_lx_clkin_p = PERIOD “l(fā)x-clkin_n”TS_lx_clkin_p PHASE 4.329 ns HIGH 50%;OFFSET = IN 2 ns valid 3.5 ns BEFORE “l(fā)x_clkin_p”;DSP部分的注意事項 p DSP部分的鏈路口功能是上電后自動復(fù)位初始化和引導(dǎo)的,不需要額外的軟件控制。但當(dāng)DSP與FPGA進行連接時,則系統(tǒng)在有些情況下不能完成自動初始化功能,而需要在DSP的軟件中進行鏈路口軟件初始化。p DSP鏈路口的接收部分,如果在復(fù)位后想要正常使用,通常情況下需要一個初始化握手信號。而在一般的DSP與DSP直接互連的系

12、統(tǒng)中,多是通過西面麗管腳完成初始化的功能,在初始化結(jié)束后才把這一管腳釋放作為塊完成標(biāo)志。而當(dāng)DSP與FPGA連接并且是DSP進行接收時,這一管腳不再完成這個初始化的任務(wù),所以系統(tǒng)必須通過軟件進行初始化。DSP部分的注意事項p軟件初始化則是通過改變接收控制寄存器LRCTLx中的對應(yīng)位來實現(xiàn)功能的。下面,就對這些位的功能進行一個介紹:p如果 REN=1,則鏈路口的接收部分使能,但鏈路口強制初始化被禁止。p如果 REN =0, RINIF=0,則鏈路口的接收部分和鏈路口強制初始化都被禁止。p如果REN=0,RINIF=1,而RINIV =0,則鏈路口的接收部分被禁止,而鏈路口初始化被強制置為0。這種

13、置位就相當(dāng)于利用LxBCMPI進行初始化時,LxBCMPI=0。p如果REN=0,RINIF =l,而RINIV= l,則鏈路口的接收部分被禁止,而鏈路口初始化被強制置為1。這種置位就相當(dāng)于利用LxBCMPI進行初始化時,LxBCMPI=l。p因此,要實現(xiàn)軟件初始化,處理器應(yīng)該實現(xiàn)如下操作:pl、首先寫REN=0,RINIF=1,RINIV=1,初始化鏈路口的接收部分p2、再寫REN=1,鏈路口接收使能p以上操作步驟,在Visual DSP+軟件中對應(yīng)的程序為:pyr0=0 xDO;pLRCTL0=yr0;pyr0=0 x11;pLRCTL0=yr0;B3G TDD系統(tǒng)MAC層高速串口的實現(xiàn)與

14、仿真測試 整體架構(gòu)設(shè)計 p 由于AP端和MT端MAC處理板的功能比較類似,只是MT端架構(gòu)相對簡單一些p 因此下面我們主要以AP端的MAC處理板的實現(xiàn)與測試為例進行分析。p MAC 協(xié)議層算法處理由軟件組完成本,項目組負(fù)責(zé)硬件部分主要負(fù)責(zé)MAC處理/接口板硬件平臺的設(shè)計,主要任務(wù)如下:RocketIO 設(shè)計與實現(xiàn)、Turbo 碼解碼器設(shè)計與實現(xiàn)、PCI 橋路設(shè)計與實現(xiàn)(64-bit 66MHz) 、GigaEthernet 驅(qū)動等19。p 設(shè)計AP 端MAC 接口/處理板硬件平臺的思路如下;p (1)以商業(yè)工控主板CPCI6U 為核心設(shè)計集成解決方案;p (2)自主設(shè)計符合AdvancedTCA

15、 協(xié)議的前插板(有源母板),套接商業(yè)工控主p 板連接RocketIO 總線;p (3)有源母板帶PCI 橋接器RocketIO 成幀器和RocketIO 的PHY 以及其他配套電路。AP 端MAC 處理/接口板的整體框圖 RocketIO接口的仿真與測試 p 在進行 FPGA 設(shè)計的時候,仿真是貫穿設(shè)計的整個過程的,是保證設(shè)計最終正確運行的的關(guān)鍵,由于ISE6 集成化設(shè)計開發(fā)工具,中不提供仿真設(shè)計工具因此需要利用ModleSim 仿真來完成功能仿真和時序仿真。ISE6.138和Modelsim 工具的使用方法參見文檔, 在此就不詳細(xì)介紹了?!肮δ芊抡妗笔侵苯訉υO(shè)計者的HDL 代碼進行的仿真,目

16、的是保證設(shè)計的功能邏輯描述是否正確,“時序仿真”以確保設(shè)計的電路能以正確的時序工作。本節(jié)將具體介紹采用ISE6.1 和ModelSim 對RocketIO 串行收發(fā)器進行仿真的方法和步驟。p定制MGT模塊p運行 ISE6.1 開發(fā)環(huán)境選擇Project - New Source;p選擇IP Coregen & Architecture Wizard 輸入模塊名稱MGT_Module;p打開I/O Interface 文件夾選擇RocketIO;p進入Select the transceiver 后選用用戶自定義模式coustom ,定義數(shù)據(jù)寬度data width 為2 ;因為我們采用

17、的為3.125Gbps 的數(shù)據(jù)傳輸速率(實際測試采用2Gbps) ,因此選擇時鐘輸入方式為BREFCLK/BREFCLK2 ,其他全部采用系統(tǒng)默認(rèn)值。p進入Transmitter setup 設(shè)置后均采用默認(rèn)值。p進入Receiver Comma Detect Setup 設(shè)置后也采用默認(rèn)值。p進入Receiver setup 設(shè)置后選擇8B/10B 編碼不選擇CRC。p進入Receiver Clock Correction Setup 后,設(shè)置時鐘修正序列時鐘修正序列長度為2 字節(jié)修正序列為CLK_COR_SEQ_1_1 = 00110111100 CLK_COR_SEQ_1_2 = 000

18、10010101。p進入Receiver Channel Bonding Setup 后設(shè)置通道綁定為0 即不采用通道綁定因為單通道的串行收發(fā)器數(shù)據(jù)傳輸速率已經(jīng)能滿足系統(tǒng)傳輸要求。p點擊完成即生成MGT 模塊,模塊名MGT_Module。p定制DCM 模塊p選擇 IP Coregen & Architecture Wizard 輸入模塊名稱DCM_Module;p下一步打開Clocking 文件夾選擇Single DCM;p在進入?yún)?shù)設(shè)置后選擇本設(shè)計所需要的時鐘參數(shù)和輸入輸出信號系統(tǒng)所要求的數(shù)據(jù)傳輸速率為2Gbps 時鐘倍頻數(shù)為20 因此輸入時鐘頻率設(shè)置成100MHz。pCLKIN S

19、ource 設(shè)置成Internal 即不需要自動分配全局時鐘輸入腳。p點擊完成即生成DCM 模塊模塊名DCM_Module。建立頂層文件 p 建立一個文件 MGT_Design_Top.v ,并對MGT_Module 和DCM_Module 模塊進行例化,如果僅僅進行功能仿真,還可以省除DCM_Module 例化的步驟,采用test_bench,采用直接給時鐘端口賦值的方法模仿時鐘生成器。p 在完成上面三個步驟后,ISE 將生成三個文件MGT_Module.v、DCM_Module.v、MGT_Design_Top.v 。啟動ModelsimSE 5.8sc 仿真環(huán)境。在此之前,需將Xilin

20、x 的器件庫進行編譯,這樣ModelsimSE 才能進行正常仿真。先將modelsim.ini 文件設(shè)置為可存檔方式,然后在ModelsimSE 環(huán)境中輸入如下編譯指令:p compxlib s mti_se f all l all o d:modeltech_5.8cxilinx_libp 即可生成分別為Verilog 和VHDL 的各種功能和時序仿真庫。p 此外還要將glbl.v 文件拷入該文件可將全局的設(shè)置/復(fù)位型號和三態(tài)信號連接到設(shè)計中是 用xilinx 庫進行仿真不可缺少的文件。p 下一步我們可以進行Modelsim 的功能仿真了將當(dāng)前目錄轉(zhuǎn)換到剛才幾個文件所保存的的目錄建立一個工作

21、庫就可以進行編譯仿真了。RocketIO 數(shù)據(jù)傳輸仿真圖 RocketIO 發(fā)送端口的差分信號 單板測試和板間測試 p RocketIO 的測試方案如圖所示:p MGT 和DMC 模塊在ISE6.1 中生成配置好,發(fā)送存儲器和接受存儲器也可以通過ISE 直接配置XC2VP20 片內(nèi)的RAM 資源,ISE6.1 還有專門的配置工具,可以對片內(nèi)RAM 進行配置,使其通過JTAG 接口能直接進行訪問。p 發(fā)送數(shù)據(jù)存儲器循環(huán)發(fā)送一段數(shù)據(jù)碼,測試數(shù)據(jù)包的長度為2048Bytes ,接收存儲器進行接收,比較邏輯和存儲器讀取發(fā)送數(shù)據(jù)存儲器和接收數(shù)據(jù)存儲器的數(shù)據(jù),并進行比較,如果有誤碼則將誤碼數(shù)寫入寄存器ER

22、EG ,PC 機通過JTAG 接口來讀取比較邏輯緩沖器中的寄存器EREG 的數(shù)值,來判斷誤碼的數(shù)量,該方案既用于單板測試,也適用于板間測試,原理相同只是單板測試時RocketIO 采用的是MAC 板上的一塊XC2VP20 片子上的兩個RocketIO 通道,而板間測試是采用兩塊MAC 板上的兩塊XC2VP20 上的RocketIO 通道。單板測試實驗圖如圖:p 其中接頭采用SMA 接插件端子連接線纜采用屏蔽電纜板間互連測試實驗如圖 所示:板間互聯(lián)測試實驗圖FPGA Xilinx 的V2P20支持?jǐn)?shù)據(jù)傳輸速率3.125Gbps實際使用傳輸速率2Gbps經(jīng)過4 個接插件(SMA)總長度約80CM

23、(32inch ),模擬ATCA 背板接口測試數(shù)據(jù)包長2048Byte發(fā)送:連續(xù)循環(huán)發(fā)送檢驗:讀取比較寄存器中的數(shù)據(jù)測試:次數(shù)10 萬次誤碼率:0 / 16Gbit結(jié) 論 p 我國在過去第一、二、三代移動通信的發(fā)展,比歐、美及日、韓等亞洲國家落后,在歐美等國外大公司專利壁壘的限制下,我國企業(yè)不但付出了大量的專利費,而且在產(chǎn)業(yè)發(fā)展上也時時受困,因此我國要在Beyond 3G 之發(fā)展能與先進國家同步,在此背景下國家高技術(shù)研究發(fā)展計劃(863 計劃) “Beyond 3G 蜂窩移動通信無線網(wǎng)絡(luò)試驗系統(tǒng)研究開發(fā)”被提上日程。p 首先,第一次引入了基于先進電信計算機構(gòu)架ATCA 的平臺架構(gòu)ATCA。有更大的規(guī)格和容量、更高的背板帶寬、對板卡更嚴(yán)格的管理和控制能力、更高的供電能力以及更強的制冷能力

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論