基于Spartan-6的16路高速串行傳輸的設計與實(shí)現
摘要:高速串行傳輸的設計是FPGA設計的一個(gè)重要方面。在串行傳輸的設計中摒棄了采用FPGA內部邏輯資源實(shí)現從而限制了串并轉換速度的傳統設計方法,SelectIOTM接口技術(shù)給FPGA實(shí)現高速串行傳輸提供了良好的舞臺,本文詳細闡述了1:8 DDR模式下16路高速串行傳輸的實(shí)現,并通過(guò)了16路高速串行傳輸達到12.8Gbit/s傳輸速率的板級試驗。
關(guān)鍵詞:低電壓差分信號;串并轉換;現場(chǎng)可編程門(mén)陣列;串化器/解串器
0 引言
用現場(chǎng)可編程門(mén)陣列(FPGA)開(kāi)發(fā)高速系統時(shí)常常需要實(shí)現高速串行傳輸,傳統的做法是直接利用FPGA的內部邏輯資源來(lái)進(jìn)行設計,但這樣做往往使得傳輸的時(shí)鐘的最高頻率受FPGA內部資源利用率、布局布線(xiàn)等因素的影響,難以滿(mǎn)足設計要求,并最終影響整個(gè)系統的性能。隨著(zhù)工藝技術(shù)的不斷進(jìn)步與市場(chǎng)需求的日益增加,超大規模、高速、低功耗的新型FPGA不斷推出,給高速電路的設計帶來(lái)了極大的方便。賽靈思(Xilinx)公司在其新的面向低端的partan-6系列產(chǎn)品中集成了輸入串并轉換器(ISEKDES)和輸出并串轉換器(OSERDES),能夠提供高速的I/O處理能力,不受FPGA內部資源的限制,不占用系統邏輯資源。
本文以?xún)善琗C6SLX150之間以16路高速數據通信為例,介紹了SERDES(串化器/解串器)的工作原理與具體應用。其中每片FPGA需要接收并發(fā)送高速的16路串行數據并在接收時(shí)將其轉換為128位并行數據做其它處理,為了實(shí)現高速串行傳輸,同時(shí)又不占用芯片內部的邏輯資源,我們用Xilinx的SERDES源語(yǔ)方便、快速地實(shí)現了該設計。
1 Spartan-6簡(jiǎn)介
Xilinx目標設計平臺的芯片基礎融合了行業(yè)領(lǐng)先的工藝,可編程的邏輯技術(shù)和收發(fā)器功能以及用于高級存儲支持的控制器,從而可以為成本敏感應用提供高性能的FPGA。高級功耗管理技術(shù)的創(chuàng )新,結合以更低的1.0V電源操作的核心選項,讓新的Spartan-6 FPGA系列比前幾代Spartan系列的功耗降低了65%。該公司的partan-6系列正是一款為滿(mǎn)足低成本和低功耗設計要求而推出的系列產(chǎn)品。
運用第六代Spartan FPGA系列產(chǎn)品,系統開(kāi)發(fā)人員可以在將系統成本減半,開(kāi)發(fā)出功耗更低的“更環(huán)保”的產(chǎn)品的同時(shí),達到新的功能要求。Spartan-6 FPGA支持汽車(chē)信息娛樂(lè )、平板顯示器、多功能打印機、機頂盒、家庭網(wǎng)絡(luò )、視頻監控等應用,它能對低風(fēng)險、低成本、高性能進(jìn)行最優(yōu)平衡。
Spartan-6 FPGA系列雙寄存器、六輸入的高效LUT邏輯結構采用了行業(yè)領(lǐng)先的Virtex架構,可以跨平臺兼容和提高系統性能。由于增加了Virtex系列的系統級模塊,其中包括DSP slice、高速收發(fā)器以及PCI Express端點(diǎn)模塊,因此實(shí)現了比以往更大的系統級集成。Spartan-6 FPGA系列由兩個(gè)領(lǐng)域優(yōu)化的子系列組成,該系列所提供的功能組合,可以達到價(jià)格敏感的大批量應用的嚴苛要求:Spartan-6 LX FPGAs和Sp-artan-6 LXT FPGAs。
Spartan-6 LX FPGAs針對需要絕對最低成本的應用而優(yōu)化。該平臺器件支持高達147k邏輯密度、4.8Mb存儲器、集成存儲控制器、DSP slice以及易用的高性能硬IP,同時(shí)采用了創(chuàng )新的基于開(kāi)放標準的配置。
Spartan-6 LXT FPGAs擴展了LX系列,可提供多達八個(gè)3.125Gb/s GTP收發(fā)器和一個(gè)集成的PCI Express模塊,它們都采用了成熟的Vir-tex FPGA系列技術(shù),可以為串行連接提供業(yè)界風(fēng)險最低、成本最低的解決方案。
本文中采用Spartan-6 LX FPGAs中的XC6SLX150-EG(G)4.84進(jìn)行板級驗證測試。該芯片內的SelectIOTM接口技術(shù)(多電壓、多標準Selec-tIO模塊組)有如下性能:
·每個(gè)差分I/O具有最高1050 Mb/s的數據傳輸速率
·可選輸出驅動(dòng),最高每針腳24mA
·3.3V到1.2V I/O標準和協(xié)議
·低成本HSTL和SSTL內存接口
·符合熱插拔標準
·可調整I/O轉換速率,改進(jìn)信號完整性
2 SERDES的結構與工作原理
所有Spartan-6型號的器件的I/O Tile都包括兩個(gè)IOBs、兩個(gè)ILOGICs、兩個(gè)OLOGICs和兩個(gè)IODELAYs。其中ILOGICs和OLOGICs可以配置為輸入SerDes(ISERDES)或者輸出SerDes(OSERDES)模塊或者其他I/O接口。如圖1所示為Spartan-6 FPGA的I/O Tile。
每一款該型號的FPGA的輸入/輸出模塊(IOB)包含一個(gè)4-bit輸入SerDes和一個(gè)4-bit輸出SerDes,兩個(gè)相鄰的SerDcs模塊(主模塊和從模塊)級聯(lián)在一起可以生成一個(gè)8bit IOB,這使得每一個(gè)IOB不論在SDR模式下或是在DDR模式下其數據的輸入輸出串并轉換速率從2:1到8:1都成為可能。
2.1 ISERDES
每一款Spartan-6型號FPGA的IOB的輸入SerDes都可以甩ISERDES2源語(yǔ)來(lái)實(shí)例化。
ISERDES2是Spartan-6內部集成的輸入串并轉換器源語(yǔ),支持單倍數據速率(SDR)和雙倍數據速率(DDR)兩種模式。這兩種模式均可以進(jìn)行編程操作,在SDR模式下,可以實(shí)現1bit串行數據到生成2、3、4bit的并行數據的轉換;在DDR模式下,可以實(shí)現1bit串行數據到5、6、7及8bit并行數據的轉換。當生成數據的位寬大于6時(shí),需要采用主從模式將兩個(gè)相鄰的ISER2DES2模塊連接在一起。每一個(gè)ISERDES2還包括一個(gè)由設計者提供BITSL IP(比特偏移控制)操作的并行數據字對齊邏輯。SerDes的串并轉換速率之比指的是用于捕捉數據的高速I(mǎi)/O時(shí)鐘和用于處理并行數據的低速內部邏輯時(shí)鐘之比,例如,一個(gè)500MHz的單端I/O 時(shí)鐘接收500MHz的數據,ISERDES2的串并轉換速率為4:1指的是FPGA采用125MHz時(shí)鐘來(lái)處理接收的并行數據。
評論