《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 基于Spartan-6的16路高速串行傳輸的設計與實現
基于Spartan-6的16路高速串行傳輸的設計與實現
李 明 周軼男 李 霞
摘要: 高速串行傳輸的設計是FPGA設計的一個重要方面。在串行傳輸的設計中摒棄了采用FPGA內部邏輯資源實現從而限制了串并轉換速度的傳統設計方法,SelectIOTM接口技術給FPGA實現高速串行傳輸提供了良好的舞臺,本文詳細闡述了1:8 DDR模式下16路高速串行傳輸的實現,并通過了16路高速串行傳輸達到12.8Gbit/s傳輸速率的板級試驗。
Abstract:
Key words :

0 引言
    用現場可編程門陣列(FPGA)開發高速系統時常常需要實現高速串行傳輸,傳統的做法是直接利用FPGA的內部邏輯資源來進行設計,但這樣做往往使得傳輸的時鐘的最高頻率受FPGA內部資源利用率、布局布線等因素的影響,難以滿足設計要求,并最終影響整個系統的性能。隨著工藝技術的不斷進步與市場需求的日益增加,超大規模、高速、低功耗的新型FPGA不斷推出,給高速電路的設計帶來了極大的方便。賽靈思(Xilinx)公司在其新的面向低端的partan-6系列產品中集成了輸入串并轉換器(ISEKDES)和輸出并串轉換器(OSERDES),能夠提供高速的I/O處理能力,不受FPGA內部資源的限制,不占用系統邏輯資源。
    本文以兩片XC6SLX150之間以16路高速數據通信為例,介紹了SERDES(串化器/解串器)的工作原理與具體應用。其中每片FPGA需要接收并發送高速的16路串行數據并在接收時將其轉換為128位并行數據做其它處理,為了實現高速串行傳輸,同時又不占用芯片內部的邏輯資源,我們用Xilinx的SERDES源語方便、快速地實現了該設計。

1 Spartan-6簡介
    Xilinx目標設計平臺的芯片基礎融合了行業領先的工藝,可編程的邏輯技術和收發器功能以及用于高級存儲支持的控制器,從而可以為成本敏感應用提供高性能的FPGA。高級功耗管理技術的創新,結合以更低的1.0V電源操作的核心選項,讓新的Spartan-6 FPGA系列比前幾代Spartan系列的功耗降低了65%。該公司的partan-6系列正是一款為滿足低成本和低功耗設計要求而推出的系列產品。
    運用第六代Spartan FPGA系列產品,系統開發人員可以在將系統成本減半,開發出功耗更低的“更環保”的產品的同時,達到新的功能要求。Spartan-6 FPGA支持汽車信息娛樂、平板顯示器、多功能打印機、機頂盒、家庭網絡、視頻監控等應用,它能對低風險、低成本、高性能進行最優平衡。
    Spartan-6 FPGA系列雙寄存器、六輸入的高效LUT邏輯結構采用了行業領先的Virtex架構,可以跨平臺兼容和提高系統性能。由于增加了Virtex系列的系統級模塊,其中包括DSP slice、高速收發器以及PCI Express端點模塊,因此實現了比以往更大的系統級集成。Spartan-6 FPGA系列由兩個領域優化的子系列組成,該系列所提供的功能組合,可以達到價格敏感的大批量應用的嚴苛要求:Spartan-6 LX FPGAs和Sp-artan-6 LXT FPGAs。
    Spartan-6 LX FPGAs針對需要絕對最低成本的應用而優化。該平臺器件支持高達147k邏輯密度、4.8Mb存儲器、集成存儲控制器、DSP slice以及易用的高性能硬IP,同時采用了創新的基于開放標準的配置。
    Spartan-6 LXT FPGAs擴展了LX系列,可提供多達八個3.125Gb/s GTP收發器和一個集成的PCI Express模塊,它們都采用了成熟的Vir-tex FPGA系列技術,可以為串行連接提供業界風險最低、成本最低的解決方案。
    本文中采用Spartan-6 LX FPGAs中的XC6SLX150-EG(G)4.84進行板級驗證測試。該芯片內的SelectIOTM接口技術(多電壓、多標準Selec-tIO模塊組)有如下性能:
    ·每個差分I/O具有最高1050 Mb/s的數據傳輸速率
    ·可選輸出驅動,最高每針腳24mA
    ·3.3V到1.2V I/O標準和協議
    ·低成本HSTL和SSTL內存接口
    ·符合熱插拔標準
    ·可調整I/O轉換速率,改進信號完整性

2 SERDES的結構與工作原理
    所有Spartan-6型號的器件的I/O Tile都包括兩個IOBs、兩個ILOGICs、兩個OLOGICs和兩個IODELAYs。其中ILOGICs和OLOGICs可以配置為輸入SerDes(ISERDES)或者輸出SerDes(OSERDES)模塊或者其他I/O接口。如圖1所示為Spartan-6 FPGA的I/O Tile。

b.JPG


    每一款該型號的FPGA的輸入/輸出模塊(IOB)包含一個4-bit輸入SerDes和一個4-bit輸出SerDes,兩個相鄰的SerDcs模塊(主模塊和從模塊)級聯在一起可以生成一個8bit IOB,這使得每一個IOB不論在SDR模式下或是在DDR模式下其數據的輸入輸出串并轉換速率從2:1到8:1都成為可能。
2.1 ISERDES
    每一款Spartan-6型號FPGA的IOB的輸入SerDes都可以甩ISERDES2源語來實例化。
    ISERDES2是Spartan-6內部集成的輸入串并轉換器源語,支持單倍數據速率(SDR)和雙倍數據速率(DDR)兩種模式。這兩種模式均可以進行編程操作,在SDR模式下,可以實現1bit串行數據到生成2、3、4bit的并行數據的轉換;在DDR模式下,可以實現1bit串行數據到5、6、7及8bit并行數據的轉換。當生成數據的位寬大于6時,需要采用主從模式將兩個相鄰的ISER2DES2模塊連接在一起。每一個ISERDES2還包括一個由設計者提供BITSL IP(比特偏移控制)操作的并行數據字對齊邏輯。SerDes的串并轉換速率之比指的是用于捕捉數據的高速I/O時鐘和用于處理并行數據的低速內部邏輯時鐘之比,例如,一個500MHz的單端I/O 時鐘接收500MHz的數據,ISERDES2的串并轉換速率為4:1指的是FPGA采用125MHz時鐘來處理接收的并行數據。
    ISERDES2的結構如圖2所示。

c.JPG


    d.JPG
e.JPG
    當兩個ISERDES2級聯時,其中一個是主模式,一個是從模式,表1顯示了兩個ISERDES2源語級聯時的數據位高低連接方式:

f.JPG


2.2 OSERDES
    同樣,每一款Spartan-6型號FPGA的IOB的輸出SerDes都可以用OSERDES2源語來實例化。其結構和源語操作方式以及轉換速率比與ISER-DES2源語類似,在SDR模式下,可以實現1bit串行數據到生成2、3、4bit的并行數據的轉換;在差分輸出方式下,可以實現1bit串行數據到5、6、7及8bit并行數據的轉換。下圖為OSERDES2模塊以8:1的轉換率配置下差分輸出的級聯圖。
    圖3 OSERDES 8:1差分輸出級聯拓撲圖

g.JPG


    當兩個OSERDES2級聯時,其中一個是主模式,一個是從模式,表2顯示了兩個OSERDES2源語級聯時的數據位高低連接方式

3 Spartan-6的1 6路高速串行傳輸的設計
    兩片XC6SLX150 FPGA之間以16路高速數據相互通信,其中還需要一路源同步時鐘,一路標志信號用來使能片間數據的收發控制,每片FPGA需要一個400MHz的時鐘輸入作為高速數據發送時鐘。其基本的發送拓撲圖如下:

h.JPG


    接收時鐘直接使用源同步時鐘,發送時鐘采用輸入到FPGA的400MHz的時鐘。接收的數據送到一個128×1024的fifo中,然后進行處理,將數據送到發送模塊,發送給相連的FPGA中,另一片FPGA做同樣的處理。
3.1 發送模塊
    發送模塊采用輸入到FPGA的400MHz的時鐘作為發送時鐘源,首先經BUFI02后送入PLL,產生一個800MHz的采樣發送時鐘和一個100MHz的FPGA內部邏輯時鐘,再通過一個BUFPLL驅動用于后續的邏輯。發送時鐘的產生模塊如圖5所示。

i.JPG


    產生好發送時鐘后,將800MHz的發送時鐘和100MHz的FPGA內部邏輯時鐘送到發送數據模塊開始數據的發送。送到所有輸出OSERDES2源語的時鐘和SerDes使能信號可以滿足安全的捕捉FPGA內部并行的慢速數據到輸出SerDes,這些并行的數據然后通過高速的發送時鐘發送出去。其中一路的數據發送如圖6,共有16路相同的模塊組成128bit的高速串行數據的傳輸,每路數據發送速率為800MHz,則每路的數據傳輸速率為8bit×100MHz=800b/s,共16路數據線,則總的傳輸速率為12.8Gb/s。

g.JPG


    源同步時鐘的發送不能直接將時鐘信號通過OBUFDS類似的源語直接發送,因為Spartan-6是面向低成本的低端產品,不支持高速信號的處理,所以,發送時鐘要像發送數據一樣發送出去,通過發送一個固定常數序列“10101010”來完成時鐘的發送。
3.2 接收模塊
    接收模塊的源同步時鐘是上面發送模塊發出的400MHz的時鐘,該時鐘根據需要在PLL內部產生一個高速采樣時鐘,通過PLL和BUFFPLL來產生ISERDES2源語所需要的接收時鐘和使能信號。接收源同步時鐘首先經過一個延遲單元。然后經過一個BUFIO2到PLL,PLL產生一個800MHz的采樣時鐘和一個100MHz的FPGA內部邏輯時鐘,再通過一個BUFPLL驅動用于后續的邏輯。接收時鐘的產生模塊如圖7所示。它和發送時鐘不同之處也是在于Spartan-6是面向低成本的低端產品,對于400MHz的時鐘該系列FPGA無法接收,首先要將該時鐘當成數據一樣進行接收,收到“10101010”比特串后,作為時鐘信號送給PLL。

k.JPG


    產生好接收時鐘后,將800MHz的采樣時鐘和100MHz的FPGA內部邏輯時鐘送到接收數據模塊開始數據的接收。其中一路的接收如圖8,共有16路相同的模塊組成128bit的高速串行數據的傳輸,每路數據采樣速率為800MHz,內部FPGA邏輯時鐘為100MHz,則每路的數據傳輸速率為8b-it×100MHz=800b/s,共16路數據線,則總的傳輸速率為12.8Gb/s。

l.JPG



4 實驗結果分析
    在上述的結構中,首先在FPGA1的邏輯中將Rec-FIFO初始化為滿數據狀態,當發送了數據使能信號后,系統就開始自循環測試,一旦出現錯誤將會置錯誤標記,在驗證板上有狀態燈指示該狀態,經過實際測試,送到兩片FPGA的時鐘為400MHz,完全滿足在16路高速串行傳輸的傳輸速率達到12.8Gb/s的板級試驗。只是ChipScope不能對管腳的高速信號進行采樣觀察,所以我們在ISE11.5和ModelSim SE 6.5的環境下,仿真可以看到管腳高速信號和FPGA內部邏輯之間收發數據的關系。圖9是發送數據的仿真結果,圖10是接收數據的仿真結果。其中,所有的輸出是差分輸出,為了便于觀察,一對的差分信號只顯示其中一個。

a.JPG


    從圖中可以看出,源同步時鐘是400MHz,按照DDR方式傳送數據,數據的傳輸速率為800MHz,即經過PLL后的采樣時鐘(或者高速發送時鐘)為800MHz,而產生的FPGA內部邏輯的時鐘為100MHz,從上兩圖中的波形可以看出,該設計實現了高速串行傳輸的功能。在FPGA設計中,輸入輸出管腳的鎖定是重要的一環,一個合理的管腳分配方案不僅可以降低布線復雜度,而且可以減少布線的延遲,并有利于PCB板的制作。X-C6SLX150有四個bank,本文中的串行傳輸采用LVDS 2.5V標準,我們將收發信號線分別放在不同的bank上,在布線時,為盡量保持同一組差分信號線間的等長,對管腳分配進行調整,做到最優化布線。

5 總結和展望
    本文介紹了基于Xilinx公司XC6SLX150的16路高速串行傳輸的設計,此設計充分利用了Spartan-6的特點及其所含的IP核,不僅能夠最大限度地提高芯片性能,而且縮短了開發周期,減少了設計復雜度,有益于高速FPGA的開發。通過試驗,結果表明,采用Xilinx Spartan-6 SerDes設計的每路高速串行傳輸可以實現800Mb/s的傳輸速率,但Spartan-6本身具有每個差分I/O的最高數據傳輸速率為1050Mb/s的性能,由于硬件的限制未能驗證,在今后的設計中希望可以進行彌補。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 欧美成人怡红院在线观看 | 伊人成人在线 | 成人免费观看视频久爱网 | 免费在线观看的毛片 | 一级片视频免费看 | 国产精品1区2区3区 国产精品1区2区3区在线播放 | 久夜色精品国产一区二区三区 | 国产高清日韩 | 久草新免费 | 欧美日韩综合高清一区二区 | 色老头久久网 | 国产成人亚洲精品无广告 | 日产国产精品亚洲系列 | 三级欧美 | 久久看片网 | 中文字字幕码一二区 | 成人97| 亚洲精品高清在线 | 欧美精品一区二区三区免费观看 | 99久久精品国产免看国产一区 | 国产精品揄拍一区二区 | 欧美亚洲另类久久综合 | 国产精品久久久久久久人热 | 美女毛片免费看 | 黄www| 亚洲欧美日本综合一区二区三区 | 精品视频在线观看一区二区三区 | 在线aaa | 亚洲精品久久玖玖玖玖 | 久久精品一区二区三区日韩 | 香港三级日本三级妇人三级 | 日韩欧美视频一区二区 | 欧美色欧美亚洲高清在线视频 | 真实国产乱子伦高清 | 日韩欧美中文字幕在线观看 | 国产1000部成人免费视频 | 草草影院在线播放 | 成年人免费视频网站 | 99视频在线免费 | 亚洲最新在线视频 | 亚洲伊人成人 |