国产强伦姧在线观看无码,中文字幕99久久亚洲精品,国产精品乱码在线观看,色桃花亚洲天堂视频久久,日韩精品无码观看视频免费

      您現(xiàn)在的位置:智能制造網(wǎng)>技術(shù)中心>基于Virtex-ⅡPro的高速串行IO及在光互連網(wǎng)絡(luò)中的應(yīng)用

      直播推薦

      更多>

      企業(yè)動態(tài)

      更多>

      推薦展會

      更多>

      基于Virtex-ⅡPro的高速串行IO及在光互連網(wǎng)絡(luò)中的應(yīng)用

      2009年05月15日 10:22:15人氣:2117來源:深圳市研祥智能科技股份有限公司

      摘  要  目前,處理器的數(shù)據(jù)傳輸率已遠(yuǎn)高于外部數(shù)據(jù)總線傳輸率。增加并行總線寬度可以提高芯片與芯片之間、背板與背板之間的數(shù)據(jù)吞吐量,但是總線數(shù)目的增多及傳輸速率的加快會使PCB布線的難度提高并且增加了信號延時或偏移。高速串行互連技術(shù)成為提高數(shù)據(jù)傳輸帶寬的有效解決途徑。本文介紹了Xilinx公司的Virtex-Ⅱ Pro FPGA中用于解決高速串行互連問題的RocketIO的使用方法及在光互連網(wǎng)絡(luò)中的應(yīng)用。
       
      關(guān)鍵詞  高速串行互連, RocketIO ,光互連, FPGA
      Design And Application In The Optical Interconnection Of High Speed Serial IO Based On Virtex -Pro
       
      FAN Yong  WANG Jingcun
      University of Science and Technology Beijing .Information Engineering Institute
      NO.30,Xueyuan Road,Haidian Zone,Beijing P.R.China 100083
      fanyong-2001@
      wjc9804@
       
      Abstract  At present, the data transmitting rate of the processor has already been higher than the transmitting rate of the data bus.  Increasing the bandwidth of parallel bus can enhance throughput among chips and backboards. But enhancing bandwidth and transmitting rate increase  difficulties of PCB routing and signal delay or skew. The technology of high-speed serial interconnection is an efficient way for enhancing bandwidth of data. In this paper , This paper introduce operation method and the application in the optical interconnection of RocketIO which is embedded in Virtex-Ⅱ Pro FPGA in Xilinx Corp to solve problem of high-speed serial interconnection..
       
      Keywords  High-speed serial interconnection , RocketIO , Optical interconnection , FPGA

      引言

      隨著互聯(lián)網(wǎng)應(yīng)用的日趨普及和飛速發(fā)展,對數(shù)據(jù)傳輸?shù)男枨蠹眲≡黾?。此外,?shù)字電視及彩色圖像均需要更高的帶寬。數(shù)據(jù)交換的瓶頸存在于系統(tǒng)互連一級,即系統(tǒng)內(nèi)不同器件間的互相通信以及與外部其它系統(tǒng)通信的速度。這就需要一種新的系統(tǒng)互連技術(shù)來將CPU的性能轉(zhuǎn)換為系統(tǒng)性能。
      一般來說,增加并行總線寬度可以提高芯片與芯片之間、背板與背板之間的數(shù)據(jù)吞吐量。但是總線數(shù)目增多及傳輸速率的加快會陡增PCB布線的難度和信號的延時或偏移,從而使提高總線數(shù)據(jù)吞吐率的要求面臨一個極限。
      高速串行互連技術(shù)由于將時鐘與數(shù)據(jù)合并進(jìn)行傳輸,從而克服了時鐘和數(shù)據(jù)的抖動問題,能夠極大提高傳輸速率,降低IC外圍引腳數(shù),降低功耗并獲得較佳的信號完整性。[1]在Xilinx公司的Virtex-Ⅱ Pro FPGA器件中提供了用于實(shí)現(xiàn)高速串行互連的IP核-RocketIO。本文將比較詳細(xì)地描述該IP核的結(jié)構(gòu)、原理及在應(yīng)用中需要注意的問題,同時介紹了它的硬件測試方法及在高速光互連方面的應(yīng)用。
      1 RocketIO的結(jié)構(gòu)和原理
      在支持高速串行互連技術(shù)傳輸方式的FPGA中,影響傳輸速度的關(guān)鍵因素有以下幾點(diǎn):
      (1)串行輸入-并行輸出的轉(zhuǎn)換結(jié)構(gòu)和并行輸入-串行輸出的轉(zhuǎn)換器結(jié)構(gòu),也稱為串化器(Serializer)和解串器(Deserializer)結(jié)構(gòu)
      (2)時鐘和信號恢復(fù)電路(Clock & Data Recovery),它是保證高速俘獲數(shù)據(jù)的關(guān)鍵因素之一。
      (3)系統(tǒng)時鐘管理和PLL電路,它解決板級和FPGA內(nèi)部的時鐘同步問題,將數(shù)據(jù)流的偏移和信道間偏移zui小化。
      下面將介紹RocketIO是怎樣從原理和結(jié)構(gòu)上解決這些問題的。
      1.1        RocketIO的結(jié)構(gòu)
      RocketIO是具有時鐘數(shù)據(jù)恢復(fù)功能的全雙工串行收發(fā)器,可有效實(shí)施每通道帶寬達(dá)到3.125Gb/s的不同協(xié)議設(shè)計,并可利用通道綁定滿足各種應(yīng)用不斷增長的對數(shù)據(jù)速率和位寬的要求。它的結(jié)構(gòu)如圖1所示[2]
      圖1 RocketIO 結(jié)構(gòu)框圖
       
      RocketIO模塊由以下兩部分構(gòu)成:
      (1)物理編碼子層(PCS,Physical Coding Sublayer)
             該模塊提供與FPGA邏輯內(nèi)的數(shù)字接口,其內(nèi)部包括:循環(huán)冗余碼校驗(yàn)CRC、8B/10B編*、*先出緩沖器FIFO、接收通道中有彈性緩沖器、通道綁定和時鐘修正處理器。
      (2)物理介質(zhì)接入層(PMA,Physical Media Sublayer)
        該模塊提供與外部媒體的模擬接口,其內(nèi)部包括20倍的時鐘倍頻器、發(fā)送端時鐘生成器、發(fā)送緩沖器、串化器,接收端的時鐘恢復(fù)電路、接收緩沖器、解串器、可變速率(50~156.25MHz)的全雙工收發(fā)器、可編程的五級差分輸出幅度(擺率)控制、可編程的四級輸出預(yù)加重模型,用于改善輸出信號的完整性。
      1.1        RocketIO的原理
      作為FPGA內(nèi)部的IP核,RocketIO對用戶提供了9類信號,通過它們完成數(shù)據(jù)的發(fā)送,數(shù)據(jù)的接收,數(shù)據(jù)傳輸狀態(tài)的監(jiān)測以及通道綁定功能,它們分別是數(shù)據(jù)發(fā)送信號、數(shù)據(jù)發(fā)送狀態(tài)信號、發(fā)送口控制信號、數(shù)據(jù)接收信號、數(shù)據(jù)接收控制信號、數(shù)據(jù)接收狀態(tài)信號、通道綁定信號、收發(fā)器控制信號、時鐘信號。
      下面結(jié)合RocketIO的結(jié)構(gòu)框圖來說明它的工作原理。
      RocketIO可以通過屬性設(shè)置接收32/16/8位的數(shù)據(jù)并將其轉(zhuǎn)換成串行位流發(fā)送出去。
      對進(jìn)入的并行數(shù)據(jù)可以選擇是否加入CRC校驗(yàn)碼以及校驗(yàn)的范圍。如果選擇加入校驗(yàn)碼,在發(fā)送端,發(fā)送器統(tǒng)計包頭(SOP)和包尾(EOP)之間的數(shù)據(jù),并形成4字節(jié)的CRC碼。發(fā)送器將該CRC碼插入到數(shù)據(jù)包的zui后(EOP標(biāo)志之前)。因此,需要在發(fā)送緩沖器中留有4字節(jié)的空間。另外,在接收端有輸出信號來表示CRC校驗(yàn)是否出錯。RocketIO的CRC校驗(yàn)只能在單通道中實(shí)現(xiàn),不能完成對多通道中所拆分的字節(jié)進(jìn)行CRC校驗(yàn)和統(tǒng)計。
      經(jīng)過CRC統(tǒng)計校驗(yàn)的數(shù)據(jù)可以選擇是否進(jìn)行8B/10B編碼。這種編碼模式是指8個數(shù)據(jù)位轉(zhuǎn)換為不連續(xù)5個以上的“1”或“0”的10位比特碼,以得到更好的直流(DC)平衡性。8B/10B編碼可有256種組合及兩種數(shù)據(jù)類型:(1)數(shù)據(jù)碼組(標(biāo)為D),用于數(shù)據(jù)傳輸。(2)特定控制碼組(標(biāo)為K),用于控制序列傳輸。
      經(jīng)過8B/10B編碼的數(shù)據(jù)進(jìn)入TX FIFO,這是一個4×20位緩沖器(20位寬=2字節(jié)經(jīng)過8B/10B編碼后的寬度),它的主要作用是調(diào)節(jié)時鐘之間的相位差。
      參考時鐘通過單片集成的PLL電路產(chǎn)生20倍頻的時鐘,在它的作用下,并行數(shù)據(jù)被轉(zhuǎn)換為串行數(shù)據(jù)由TXP和TXN差分端口輸出。為作測試方便,通過內(nèi)部閉環(huán)可以將輸出差分信號直接給解串器。在時鐘/數(shù)據(jù)恢復(fù)電路的作用下,從接收的串行數(shù)據(jù)流中解出時鐘的頻率和相位,將它的20分頻時鐘作為恢復(fù)時鐘。在恢復(fù)時鐘作用下從解串器產(chǎn)生10位并行數(shù)據(jù)用于8B/10B譯碼的輸入,譯碼后的數(shù)據(jù)進(jìn)入接收彈性緩沖器。
      接收彈性緩沖器(RX Elastic Buffer)是一個64×13位的緩沖器(13位寬=1字節(jié)的8B/10B譯碼后的寬度+3位狀態(tài)位)。該緩沖器由恢復(fù)時鐘作為寫時鐘,而讀時鐘由寫時鐘來生成和驅(qū)動,這兩個時鐘的相位關(guān)系是不可預(yù)知的,因?yàn)榛謴?fù)時鐘需要經(jīng)過DCM(Digitial Clock Manager)或BUFG生成讀時鐘。因此在接收彈性緩沖器中需要有時鐘修正來避免它的溢出。時鐘修正的基本原理是在發(fā)送端,當(dāng)數(shù)據(jù)發(fā)送了一定的字節(jié)或數(shù)個數(shù)據(jù)包后,通過插入和發(fā)送一些特定的字節(jié)(修正字符);在接收端,當(dāng)接收到這些字符后將會自動地丟棄。
      另外,RocketIO提供了通道綁定(Channel Bonding)功能。由于RocketIO的每個通道zui大只能提供3.125Gb/s的數(shù)據(jù)傳輸率,如果需要得到更高的數(shù)據(jù)帶寬,就必須將幾個通道組合起來,這就是通道綁定。例如,以125M時鐘傳輸16位的數(shù)據(jù),當(dāng)考慮8B/10B編碼后,實(shí)際的傳輸帶寬為20b×125MHz=2.5Gb/s。這只能在一個RocketIO實(shí)現(xiàn)。若以同樣的帶寬傳輸數(shù)據(jù)時就必須用兩個RocketIO模塊以通道綁定的方式實(shí)現(xiàn)。
      對RocketIO模塊進(jìn)行仿真需要使用SmartModels,通過它可以對RocketIO模塊的實(shí)際功能進(jìn)行仿真,具體細(xì)節(jié)可以參考XILINX的解決方案Solution Record 15501[2]
       
       
      2 RocketIO硬件測試的幾種方法
         當(dāng)RocketIO模塊設(shè)計完成并且通過仿真驗(yàn)證,需要從硬件上來驗(yàn)證RocketIO的工作情況,下面,結(jié)合我們使用RocketIO的經(jīng)驗(yàn),介紹兩種比較實(shí)用的硬件測試方法。
      2.1 使用集成化邏輯分析工具
         Xilinx利用高性能邏輯器件的特點(diǎn)推出了置于FPGA內(nèi)部的邏輯分析儀-ChipScope集成化邏輯分析工具。該分析工具與ISE6項(xiàng)目瀏覽器的集成更為緊密,可方便地選擇和插入驗(yàn)證核心,定義信號監(jiān)測點(diǎn),同時為整體設(shè)計流程提供實(shí)時調(diào)試規(guī)劃能力。
         它的主要功能是通過JTAG編程接口,在線、實(shí)時地讀出FPGA內(nèi)部的信號。其基本原理是利用FPGA中未使用的塊存儲器,根據(jù)用戶設(shè)定的觸發(fā)條件,將信號實(shí)時地保存到這些塊存儲器中,然后通過JATG接口傳送到計算機(jī),并通過計算機(jī)的用戶界面GUI顯示出所采集的時序波形。其設(shè)計流程如圖2所示:
      圖2 ChipScope 工具設(shè)計流程
      通過ChipScope集成化邏輯分析工具,可以在RocketIO模塊下載到芯片時方便地觀測狀態(tài)變化和數(shù)據(jù)的傳輸情況。
      2.2 使用計算機(jī)串口構(gòu)造分析工具
      ChipScope IP核加入原有的設(shè)計,會占用芯片的一部分資源,對設(shè)計的綜合、布局布線造成一定的影響。尤其是在對時序要求敏感的設(shè)計中,額外的資源開銷會造成不確定的影響。鑒于這種情況,我們參考ChipScope的基本原理,使用計算機(jī)串口構(gòu)造了一種簡單、有效、資源開銷更小的分析工具。 
      下面,以測試RocketIO數(shù)據(jù)傳輸為例介紹這種方法,如圖3所示。
      圖3 使用串口觀測RocketIO數(shù)據(jù)傳輸示意圖
       
       
      假設(shè)需要傳輸?shù)?2位并行數(shù)據(jù)由FPGA內(nèi)部產(chǎn)生,通過RocketIO模塊生成的串行數(shù)據(jù)通過內(nèi)部閉環(huán)再轉(zhuǎn)換成32位并行數(shù)據(jù),為觀測數(shù)據(jù)在RocketIO模塊內(nèi)部轉(zhuǎn)換是否正確,將轉(zhuǎn)換后的并行數(shù)據(jù)放入雙端口RAM中,當(dāng)數(shù)據(jù)傳輸完畢,再通過FPGA內(nèi)部構(gòu)造的串口控制器將數(shù)據(jù)通過串口傳到計算機(jī)加以分析。
      這種方法所構(gòu)造的串口控制器只占用很小的芯片資源,雙端口RAM的大小可以由用戶設(shè)定。另外,這種方法也可作為低端FPGA或CPLD的開發(fā)手段,因?yàn)檫@些芯片不支持集成化邏輯分析工具。
      3 RocketIO在高速光互連接口卡中的應(yīng)用
      我們將RocketIO應(yīng)用于高速光互連接口卡的設(shè)計中,通過DDR存儲器接口而不是PCI接口作為計算機(jī)數(shù)據(jù)出口,[3]為解決機(jī)群互連鏈路瓶頸問題做了有益的嘗試。光互連接口卡的結(jié)構(gòu)如圖4所示,它具有標(biāo)準(zhǔn)的DIMM插槽接口,整個控制邏輯、DDR接口模塊、并/串轉(zhuǎn)換機(jī)制(RocketIO),都在FPGA芯片中設(shè)計完成。
      通過它可以實(shí)現(xiàn)兩個計算機(jī)DDR存儲器接口之間的64位、200MHz的數(shù)據(jù)傳輸,鏈路單通道的zui高實(shí)測速率達(dá)到2Gbit/s,充分利用了光互連鏈路的性能*性,提升了整體通訊性能。
      圖4光互連接口卡的結(jié)構(gòu)
      下面介紹將RocketIO應(yīng)用于光互連接口卡中的設(shè)計過程。
      設(shè)計中選擇了Custom原型,它包含了RocketIO模塊中所有的屬性,用戶可以根據(jù)需要選擇相應(yīng)的屬性并且制定用戶協(xié)議。通過設(shè)置屬性“TX_DATA_WIDTH”為4,可以允許32位并行數(shù)據(jù)的輸入。數(shù)據(jù)以幀的方式進(jìn)行傳輸,發(fā)送幀的格式如圖5所示:
      圖5 發(fā)送幀的格式
      設(shè)置時鐘修正序列及長度,如下所示:
      CLK_COR_SEQ_1_1 is 00110111100
      CLK_COR_SEQ_1_2 is 00010010101
      CLK_COR_SEQ_1_3 is 00010110101
      CLK_COR_SEQ_1_4 is 00010110101
      CLK_COR_SEQ_LEN is 4
      因此,在幀頭之前加入時鐘修正字符“BC95B5B5”。
      設(shè)置CRC校驗(yàn)的頭(SOP)、尾(EOP)及校驗(yàn)?zāi)J?,如下所示?/div>
      CRC_END_OF_PKT   is "K29_7"
      CRC_FORMAT       is "USER_MODE"
      CRC_START_OF_PKT is "K27_7"
      數(shù)據(jù)幀的發(fā)送程序如下:
        case (txstate)
        3"b000:  begin
        sel<= 1"b0;
        txstate  <= 3"b001;
      txaddr   <= 0;    //RAM地址信號
      su_cnt   <= 0;
        data_36  <= 0;
        end
        3"b001:  begin
        sel <= 1"b0;
      if( su_cnt < 10) //連續(xù)發(fā)送80個 “BC95B5B5”
          begin
          txaddr <= txaddr+1;
          if (txaddr == 7)
            begin
            txaddr  <= 0;
            txstate <= 3"b001;
            end
          end
          else
      begin
            sel <= 1"b0;
            txaddr <= 8;//幀頭地址
            txstate <= 3"b010;
            end
      su_cnt <= su_cnt + 1"b1;
        end
      3"b010:  begin
      txstate <= 3"b011;
        txaddr <= 9; //幀尾地址
        end
        3"b011:  begin
      sel <= 1"b1;
      data <= data + 1;//發(fā)送的數(shù)據(jù)
      if(data==2048)
      begin
      txstate <= 3"b000;
      sel <= 1"b0;
          end
        end
        default: begin
        txstate <= 3"b000;
      txaddr <= 0;
      su_cnt <= 0;
        end
        endcase
        修正字符、CRC校驗(yàn)EOP、SOP都是存放在RAM中的數(shù)據(jù),在發(fā)送數(shù)據(jù)的時候根據(jù)需要將它們放入數(shù)據(jù)前后組成發(fā)送幀。“Sel”= 0選擇發(fā)送RAM中的數(shù)據(jù),“Sel”= 1選擇發(fā)送計數(shù)器的計數(shù)值。
        在接收端,通過判斷EOP、SOP界定數(shù)據(jù)范圍,從而將數(shù)據(jù)存放到雙端口RAM中。
      4 結(jié)束語
      目前,各種應(yīng)用對數(shù)據(jù)傳輸率的要求越來越高,高速串行互連技術(shù)由于將時鐘與數(shù)據(jù)合并進(jìn)行傳輸,從而克服了高速并行數(shù)據(jù)傳輸過程中的時鐘和數(shù)據(jù)的抖動問題。Xilinx公司的Virtex-Ⅱ Pro FPGA器件中所提供的用于實(shí)現(xiàn)高速串行互連的RocketIO IP核具有使用簡單、配置靈活、集成度高等優(yōu)點(diǎn),我們將它用于解決光互連接口卡中高速串行數(shù)據(jù)傳輸問題,簡化了設(shè)計,提高了系統(tǒng)的集成度和可靠性。同時,在基于研祥公司的工控機(jī)主板上我們完成了光互連接口卡的可行性測試。
       

      參考文獻(xiàn)

      [1] 孫航Xilinx可編程邏輯器件的應(yīng)用與設(shè)計技巧. 北京:電子工業(yè)出版社,2004
      [2] RocketIOTM Transceiver User Guide.October 16,2002
      [3] 井文才,田勁東,張殉,劉衛(wèi),周革,張以漠.
        用于機(jī)群系統(tǒng)的高速光互連網(wǎng)絡(luò)接口卡設(shè)計[J]. 光電子?激光,2000
      [4] 夏宇聞.從算法設(shè)計到硬件邏輯的實(shí)現(xiàn).
      高等教育出版社,2001
       
      作者簡介
      樊勇,北京科技大學(xué)信息工程學(xué)院在讀博士生。研究興趣是儀器儀表的設(shè)計與應(yīng)用,嵌入式系統(tǒng)等。目前的研究方向是高速數(shù)字設(shè)計及高速PCB的設(shè)計與應(yīng)用。
      全年征稿/資訊合作 聯(lián)系郵箱:1271141964@qq.com

      免責(zé)聲明

      • 凡本網(wǎng)注明"來源:智能制造網(wǎng)"的所有作品,版權(quán)均屬于智能制造網(wǎng),轉(zhuǎn)載請必須注明智能制造網(wǎng),http://towegas.com。違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
      • 企業(yè)發(fā)布的公司新聞、技術(shù)文章、資料下載等內(nèi)容,如涉及侵權(quán)、違規(guī)遭投訴的,一律由發(fā)布企業(yè)自行承擔(dān)責(zé)任,本網(wǎng)有權(quán)刪除內(nèi)容并追溯責(zé)任。
      • 本網(wǎng)轉(zhuǎn)載并注明自其它來源的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品來源,并自負(fù)版權(quán)等法律責(zé)任。
      • 如涉及作品內(nèi)容、版權(quán)等問題,請?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

      <

      工控網(wǎng)機(jī)器人儀器儀表物聯(lián)網(wǎng)3D打印工業(yè)軟件金屬加工機(jī)械包裝機(jī)械印刷機(jī)械農(nóng)業(yè)機(jī)械食品加工設(shè)備制藥設(shè)備倉儲物流環(huán)保設(shè)備造紙機(jī)械工程機(jī)械紡織機(jī)械化工設(shè)備電子加工設(shè)備水泥設(shè)備海洋水利裝備礦冶設(shè)備新能源設(shè)備服裝機(jī)械印染機(jī)械制鞋機(jī)械玻璃機(jī)械陶瓷設(shè)備橡塑設(shè)備船舶設(shè)備電子元器件電氣設(shè)備


      我要投稿
      • 投稿請發(fā)送郵件至:(郵件標(biāo)題請備注“投稿”)1271141964.qq.com
      • 聯(lián)系電話0571-89719789
      工業(yè)4.0時代智能制造領(lǐng)域“互聯(lián)網(wǎng)+”服務(wù)平臺
      智能制造網(wǎng)APP

      功能豐富 實(shí)時交流

      智能制造網(wǎng)小程序

      訂閱獲取更多服務(wù)

      微信公眾號

      關(guān)注我們

      抖音

      智能制造網(wǎng)

      抖音號:gkzhan

      打開抖音 搜索頁掃一掃

      視頻號

      智能制造網(wǎng)

      公眾號:智能制造網(wǎng)

      打開微信掃碼關(guān)注視頻號

      快手

      智能制造網(wǎng)

      快手ID:gkzhan2006

      打開快手 掃一掃關(guān)注
      意見反饋
      關(guān)閉
      企業(yè)未開通此功能
      詳詢客服 : 0571-87858618