亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Virtex5 FPGA GTP_DUAL硬核兩個(gè)收發(fā)器獨(dú)立使用的實(shí)現(xiàn)

        2017-07-25 22:56:15呂波張涌石永彪黃侃
        現(xiàn)代電子技術(shù) 2017年14期
        關(guān)鍵詞:收發(fā)器

        呂波+張涌+石永彪+黃侃

        摘 要: 在Xilinx的Virtex5系列FPGA中,基于高速串行通信技術(shù)的GTP_DUAL硬核包含了兩個(gè)收發(fā)器,而Xilinx提供的Aurora IP軟核代碼如果只例化一個(gè)通道,將占用整個(gè)硬核資源,造成另外一個(gè)通道不能再被使用,致使FPGA資源利用率降低。通過(guò)對(duì)Aurora IP軟核代碼分析,在GTP封裝代碼中對(duì)未使用的通道添加和修改相應(yīng)信號(hào),并追加時(shí)鐘模塊、發(fā)送模塊和接收模塊等,實(shí)現(xiàn)了一個(gè)GTP_DUAL中兩個(gè)收發(fā)器的獨(dú)立使用,從而提高了FPGA資源利用率,降低了開發(fā)成本。該方案已在某重大軍工項(xiàng)目中得到了應(yīng)用。

        關(guān)鍵詞: Virtex5 FPGA; GTP硬核; 串行通信; 收發(fā)器; Aurora協(xié)議

        中圖分類號(hào): TN911?34; TN79+1 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2017)14?0124?04

        Abstract: In Xilinx Virtex5 FPGA, the GTP_DUAL hardcore based on high?speed serial communication technology (Rocket IO) contains two transceivers. When the Aurora IP code provided by Xilinx is instantiated with a single channel, it will occupy the whole hardcore resources, and make the other channel no longer used and the utilization of FPGA resources reduced. Based on analysis of the Aurora IP code, some corresponding signals are added and modified in the unused channel in the GTP packaging code, and then clock module, sending module, receiving module and so on are added for independent application of the two transceivers in GTP_DUAL hardcore, utilization improvement of FPGA resources and reduction of development cost. The scheme has been applied to a major military defense project.

        Keywords: Virtex5 FPGA; GTP hardcore; serial communication; transceiver; Aurora protocol

        0 引 言

        由于傳統(tǒng)的并行I/O技術(shù)走線多、PCB布線難、信號(hào)間串?dāng)_大等缺陷而無(wú)法突破自身的速度瓶頸,正在被擁有更高傳輸速率且只需少量信號(hào)線的高速串行技術(shù)所取代[1]。Xilinx公司為使其FPGA芯片與串行傳輸技術(shù)更好地結(jié)合以滿足市場(chǎng)需求,在Virtex系列FPGA中,集成了基于高速串行通信技術(shù)硬核(Rocket I/O)的多個(gè)GTP或GTX收發(fā)器模塊,并在此硬核基礎(chǔ)上開發(fā)了一款可自由使用且相對(duì)簡(jiǎn)便的點(diǎn)對(duì)點(diǎn)鏈路層Aurora協(xié)議[2] ,該協(xié)議支持的通信碼率高達(dá)3.75 Gb/s。

        在Virtex5平臺(tái)上,原來(lái)的GTP收發(fā)器被集成了兩個(gè)GTP收發(fā)器通道的GTP_DUAL所取代,其優(yōu)點(diǎn)在于兩個(gè)收發(fā)器共享一些資源,減少了資源占用面積和功耗。然而,在Aurora工程中,由于例化單通道時(shí)占用了整個(gè)硬核資源而導(dǎo)致另外一個(gè)GTP通道不能再被使用,使GTP_DUAL的利用率大大降低。比如,筆者所在研究室參與研發(fā)的某重大軍工項(xiàng)目,其中對(duì)于紅外分系統(tǒng)設(shè)備中的視頻接口板,首先從紅外成像儀接收紅外圖像數(shù)據(jù),并通過(guò)GTP收發(fā)器通道分別向一塊綜合處理板和四塊信號(hào)處理板發(fā)送圖像數(shù)據(jù)進(jìn)行處理,最后將處理后的圖像數(shù)據(jù)輸出到視頻顯示設(shè)備上顯示,這樣一塊視頻接口板至少需要7個(gè)GTP收發(fā)器通道。結(jié)合當(dāng)前使用的FPGA芯片,內(nèi)嵌4個(gè)GTP_DUAL,雖然含有8個(gè)GTP收發(fā)器通道,但由于不能單獨(dú)使用,最多只能連接四塊電路板。所以一般來(lái)講,需要進(jìn)行追加芯片數(shù)量,或者使用包含更多GTP_DUAL收發(fā)器通道的芯片,這無(wú)疑增加了開發(fā)成本和系統(tǒng)開發(fā)難度。

        為此,本文針對(duì)上述缺陷,在Virtex5硬核和Aurora協(xié)議的基礎(chǔ)上,提出一種改進(jìn)方案。通過(guò)對(duì)Xilinx提供的Aurora IP軟核代碼進(jìn)行修改,使兩個(gè)GTP收發(fā)器能夠獨(dú)立使用并可以傳輸不同的協(xié)議數(shù)據(jù),以提高FPGA資源利用率和降低系統(tǒng)成本。目前,該改進(jìn)方案已經(jīng)應(yīng)用到了一些重大工程項(xiàng)目中。

        1 GTP_DUAL硬核模塊

        GTP_DUAL高速串行硬核在發(fā)送端將時(shí)鐘與數(shù)據(jù)合并傳輸,在接收端提取時(shí)鐘和數(shù)據(jù),解決了并行傳輸帶來(lái)的時(shí)鐘抖動(dòng)和偏斜的問題,提高了數(shù)據(jù)傳輸速率,發(fā)揮了FPGA邏輯配置靈活和片內(nèi)互聯(lián)電磁性能優(yōu)異的特點(diǎn),實(shí)現(xiàn)了高性能、低成本的設(shè)計(jì)[3]。

        在Virtex5系列FPGA中,一個(gè)GTP_DUAL硬核結(jié)構(gòu)圖如圖1所示[4]。

        兩個(gè)GTP收發(fā)器GTP0和GTP1分別具有各自獨(dú)立的發(fā)送模塊和接收模塊,并且共享包括PLL、高速串行時(shí)鐘、復(fù)位控制和電源控制等重要資源,不占用FPGA其他邏輯與片上存儲(chǔ)資源,從而減少了資源占用的面積和功耗[5]。

        每個(gè)收發(fā)器由物理媒質(zhì)適配層(PMA)和物理編碼子層(PCS)兩部分組成[6]。從應(yīng)用上講,GTP_DUAL硬核處于數(shù)據(jù)傳輸協(xié)議的物理層,實(shí)現(xiàn)最基本的數(shù)據(jù)通信。其工作過(guò)程為,在發(fā)送端按照一定的計(jì)算規(guī)則產(chǎn)生CRC校驗(yàn)碼并插入到預(yù)發(fā)送的并行數(shù)據(jù)中,經(jīng)過(guò)8 B/10 B編碼寫入發(fā)送FIFO,最后通過(guò)并/串轉(zhuǎn)換器將其轉(zhuǎn)換成差分?jǐn)?shù)據(jù)發(fā)送出去。在接收端將接收的串行差分?jǐn)?shù)據(jù)首先恢復(fù)出用于串并轉(zhuǎn)換的時(shí)鐘信號(hào),并在comma檢測(cè)和對(duì)齊模塊的作用下,將數(shù)據(jù)進(jìn)行對(duì)齊和串/并轉(zhuǎn)換,最后將轉(zhuǎn)換后的并行數(shù)據(jù)經(jīng)過(guò)8 B/10 B解碼和CRC模塊校驗(yàn)并行輸出[7]。

        2 Aurora IP核雙收發(fā)器獨(dú)立使用

        2.1 Aurora協(xié)議及其IP核

        Aurora協(xié)議是一個(gè)開放、免費(fèi)的鏈路層協(xié)議,可為私有上層協(xié)議或標(biāo)準(zhǔn)上層協(xié)議提供透明接口的串行互聯(lián)協(xié)議,可用來(lái)進(jìn)行點(diǎn)到點(diǎn)的串行數(shù)據(jù)傳輸,具有傳輸數(shù)據(jù)高效和簡(jiǎn)單易用的特點(diǎn),為系統(tǒng)設(shè)計(jì)人員提供了所需要的靈活性[8]。

        Aurora IP核是在Aurora協(xié)議和高速串行收發(fā)器GTP_DUAL硬核基礎(chǔ)上研發(fā)出來(lái)的。該IP核包含了GTP_DUAL模塊,且提供了簡(jiǎn)單的用戶接口,極大地方便了信號(hào)的可操作性[9]。通過(guò)使用Aurora IP核,用戶不必對(duì)復(fù)雜的GTP_DUAL硬核部分進(jìn)行操作,而只要處理好與Aurora IP核的用戶接口即可。如圖2所示,Aurora IP核可以方便地實(shí)現(xiàn)器件間的單通道通信或多通道綁定通信。

        在實(shí)際應(yīng)用中,可能需要GTP0和GTP1傳輸不同的數(shù)據(jù),但在當(dāng)前Xilinx實(shí)現(xiàn)中,例化一個(gè)GTP通道的Aurora IP核后,再例化另外一個(gè),則綜合布線時(shí)會(huì)提示GTP_DUAL硬核資源已被使用而不能通過(guò)。所以本文通過(guò)生成一個(gè)單通道的參考用Aurora IP核實(shí)例,并修改相關(guān)代碼以達(dá)到兩個(gè)收發(fā)器能獨(dú)立使用且傳輸不同數(shù)據(jù)的目的。

        2.2 Aurora IP核實(shí)例結(jié)構(gòu)

        為了便于說(shuō)明實(shí)現(xiàn)過(guò)程,本文通過(guò)Xilinx公司開發(fā)的軟件工具CORE Generator 14.4,生成Aurora IP核的一個(gè)實(shí)例作為基礎(chǔ)[10],并將參數(shù)設(shè)置為全雙工模式、單通道、線速度為1.25 Gb/s,輸入?yún)⒖紩r(shí)鐘為100 MHz,用戶時(shí)鐘62.5 MHz,發(fā)送和接收位寬都為16 b,采用幀模式的數(shù)據(jù)傳輸,所選通道為GTP_DUAL_X0Y4的GT0。其硬件設(shè)計(jì)工具ISE 14.4的實(shí)例層次結(jié)構(gòu)如圖3所示。

        實(shí)例TOP層下面有6個(gè)模塊,分別為clock_module,standard_cc_module,reset_logic,frame_gen,frame_check和aurora_module。其中前3個(gè)模塊用于提供時(shí)鐘、時(shí)鐘補(bǔ)償和復(fù)位等功能,frame_gen模塊用于數(shù)據(jù)發(fā)送,frame_check用于數(shù)據(jù)接收,這5個(gè)模塊都屬于應(yīng)用層,用戶可以根據(jù)實(shí)際情況進(jìn)行修改。aurora_module模塊為物理層和鏈路層,實(shí)現(xiàn)GTP_DUAL硬核雙收發(fā)器的功能,也是整個(gè)邏輯程序的核心部分,一般不允許用戶修改。

        2.3 Aurora IP核實(shí)例修改

        由第2.2節(jié)可知,aurora_module模塊實(shí)現(xiàn)的是GTP_DUAL硬核模塊功能,是整個(gè)邏輯程序的關(guān)鍵,其一個(gè)GTP收發(fā)器邏輯結(jié)構(gòu)如圖4所示。aurora_module模塊包括了5個(gè)部分,分別為TX LocalLink,RX LocalLink,Aurora_Lane,Global_Logic和GTP_Wrapper。其中,TX LocalLink模塊的功能是通過(guò)LocalLink鏈路接口將用戶數(shù)據(jù)轉(zhuǎn)化為Aurora 8 B/10 B數(shù)據(jù),然后送入Lane;RX LocalLink模塊的功能是通過(guò)Lane將接收到的數(shù)據(jù)轉(zhuǎn)化為L(zhǎng)ocalLink鏈路數(shù)據(jù),并發(fā)送給用戶接口;Aurora_Lane模塊的功能是一個(gè)GTP收發(fā)器傳輸通道的連接,包括Lane初始化、特殊字符的產(chǎn)生、錯(cuò)誤檢測(cè)譯碼等;Global_Logic模塊功能包括通道綁定、通道識(shí)別、通道錯(cuò)誤管理和Idle空字符生成等;GTP_Wrapper模塊封裝了GTP_DUAL兩個(gè)收發(fā)器的硬核功能模塊,Xilinx只提供了該硬核的接口,具體實(shí)現(xiàn)邏輯屬于Xilinx的商業(yè)機(jī)密。

        由于生成實(shí)例時(shí)系統(tǒng)參數(shù)選擇為單通道,收發(fā)器選擇GTP0,所以在GTP_Wrapper模塊中,GTP0收發(fā)器的相關(guān)信號(hào)接口已被使用,而GTP1收發(fā)器的相關(guān)信號(hào),有的信號(hào)被空置,有的信號(hào)與一個(gè)XX_unused的寄存器連接,有的信號(hào)被連接至tied_to_ground_i或者tied_to_vcc_i。因此,實(shí)現(xiàn)GTP_DUAL雙收發(fā)器的獨(dú)立使用,就必須將GTP1收發(fā)器的相關(guān)信號(hào)建立起來(lái)。

        綜合以上分析,實(shí)現(xiàn)兩個(gè)收發(fā)器獨(dú)立使用必須同時(shí)將GTP0和GTP1兩個(gè)收發(fā)器從GTP_Wrapper模塊中連接出來(lái),而TX LocalLink,RX LocalLink,Aurora_Lane和Global_Logic四個(gè)模塊是GTP_DUAL硬核與用戶接口之間的數(shù)據(jù)轉(zhuǎn)換過(guò)程,故將這4個(gè)模塊綁定形成一個(gè)大模塊,并例化兩個(gè)分別與兩個(gè)GTP收發(fā)器連接。最終實(shí)現(xiàn)GTP_DUAL硬核GTP雙收發(fā)器的aurora_module模塊結(jié)構(gòu)框圖如圖5所示。

        實(shí)例修改的具體實(shí)現(xiàn)過(guò)程如下:

        (1) 修改GTP_Wrapper模塊。對(duì)GTP_Wrapper邏輯進(jìn)行整理分析,把GTP0接口、GTP1接口和共享模塊接口各自的信號(hào)及其相關(guān)狀態(tài)和控制信號(hào)進(jìn)行歸整,將GTP1模塊的相關(guān)信號(hào)參照GTP0模塊通過(guò)追加、修改、刪除等操作建立起來(lái),并添加到輸入/輸出接口中。

        (2) 添加aurora_transmission_unit模塊。該模塊由TX LocalLink,RX LocalLink,Aurora_Lane和Global_Logic四個(gè)子模塊組成,主要作用是作為用戶接口和一個(gè)GTP收發(fā)器的數(shù)據(jù)傳輸通道。

        (3) 修改aurora_module模塊:該模塊由兩個(gè)aurora_transmission_unit模塊和一個(gè)GTP_Wrapper模塊組成,主要作用是將每個(gè)GTP收發(fā)器與其各自的數(shù)據(jù)傳輸通道連接起來(lái)。

        (4) 修改用戶層reset_logic模塊。該模塊的主要目的是將板上的復(fù)位按鈕進(jìn)行消抖,并把消抖后的復(fù)位等信號(hào)傳輸給各個(gè)GTP收發(fā)器。由于復(fù)位按鈕只有一個(gè),所以在此模塊中添加一個(gè)復(fù)位信號(hào),用于GTP1收發(fā)器。

        (5) 修改TOP頂層模塊。TOP頂層模塊實(shí)現(xiàn)的是整個(gè)系統(tǒng)功能,所以每個(gè)GTP收發(fā)器獨(dú)立地與外界進(jìn)行數(shù)據(jù)接收和發(fā)送,就需要配套的時(shí)鐘模塊clock_module、時(shí)鐘補(bǔ)償模塊standard_cc_module和用于數(shù)據(jù)接收和發(fā)送的用戶接口模塊frame_gen和frame_check。這四個(gè)模塊用戶可以根據(jù)自己實(shí)際需要進(jìn)行修改。

        通過(guò)以上步驟修改后的GTP_DUAL雙收發(fā)器獨(dú)立數(shù)據(jù)傳輸?shù)慕Y(jié)構(gòu)如圖6所示。

        2.4 系統(tǒng)測(cè)試

        本測(cè)試系統(tǒng)以實(shí)驗(yàn)室自行設(shè)計(jì)的兩塊信號(hào)處理板為測(cè)試平臺(tái),其測(cè)試方案如圖7所示。通過(guò)兩根單纖雙向傳輸型光纖將GTP_DUAL_X0Y4的兩個(gè)GTP收發(fā)器連接起來(lái),在全雙工模式下相互通信。在每一個(gè)傳輸通道中,兩邊各自在frame_gen程序中分別發(fā)送一定數(shù)據(jù),并通過(guò)光纖傳輸,由frame_check程序接收后,并檢測(cè)數(shù)據(jù),如果接收數(shù)據(jù)正確,則點(diǎn)亮一個(gè)LED燈,表示通信成功。

        測(cè)試結(jié)果實(shí)物圖如圖8所示,由圖8可以看出兩個(gè)LED燈均已點(diǎn)亮,表示兩路光纖通信正常,程序的修改達(dá)到預(yù)期目標(biāo)。圖9和圖10分別通過(guò)ChipScope[11]抓取兩塊信號(hào)處理板的數(shù)據(jù)信號(hào)。圖9是信號(hào)處理板1通過(guò)GTP0和GTP1發(fā)送的測(cè)試數(shù)據(jù)。圖10是信號(hào)處理板2通過(guò)GTP0和GTP1接收信號(hào)處理板1的測(cè)試數(shù)據(jù)。可見數(shù)據(jù)發(fā)送和接收都正常。

        3 結(jié) 語(yǔ)

        在實(shí)際工程中,經(jīng)常需要傳輸多路高速數(shù)據(jù),而Virtex5為了節(jié)省資源,將2個(gè)GTP收發(fā)器通過(guò)共享資源合并成1個(gè)GTP_DUAL,當(dāng)所需通道多于GTP_DUAL個(gè)數(shù)時(shí),一般需要升級(jí)芯片或追加芯片數(shù)量,增加了成本。另外,如果GTP_DUAL只使用一路GTP收發(fā)器,將造成另外一路不能被使用,這又導(dǎo)致資源浪費(fèi)。針對(duì)這些情況,并根據(jù)GTP_DUAL硬核和Aurora協(xié)議相關(guān)知識(shí),本文對(duì)Xilinx公司提供的Aurora IP核進(jìn)行修改,以達(dá)到每個(gè)GTP收發(fā)器通道都能獨(dú)立傳輸數(shù)據(jù)。根據(jù)實(shí)驗(yàn)結(jié)果以及在某軍工項(xiàng)目上的應(yīng)用表明,本文實(shí)現(xiàn)的修改方法達(dá)到了提高FPGA資源利用率的目的,降低了系統(tǒng)開發(fā)的成本。

        參考文獻(xiàn)

        [1] 杜旭,于洋,黃建.基于FPGA的高速串行傳輸接口的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與應(yīng)用,2007,43(12):94?96.

        [2] 李維明,陳建軍,陳星锜.基于Aurora協(xié)議的高速通信技術(shù)的研究[J].電子技術(shù)應(yīng)用,2013,39(12):37?40.

        [3] 曾瀚,周國(guó)忠.多路高速光纖圖像傳輸系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn)[J].半導(dǎo)體光電,2013,34(2):326?329.

        [4] Xilinx Inc.Virtex5 FPGA RocketIO GTP transceiver user guide UG196(v2.1) [EB/OL]. [2012?12?03]. http://www.xilinx.com.

        [5] 李大鵬,陳長(zhǎng)勝,王世奎,等.基于FPGA的高速串行傳輸接口研究與實(shí)現(xiàn)[J].航空計(jì)算技術(shù),2008,38(2):100?103.

        [6] 李敏,徐建城,李鍵.基于Rocket I/O接口的高速互連應(yīng)用研究與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2012,35(6):11?14.

        [7] 蘇秀妮,陳建春,那彥.基于RocketIO自定義傳輸協(xié)議在高速串行通信中的設(shè)計(jì)與實(shí)現(xiàn)[J].微電子學(xué)與計(jì)算機(jī),2013,30(9):90?93.

        [8] 張琳琳,張涌.Aurora協(xié)議在紅外告警系統(tǒng)中的應(yīng)用[J].科學(xué)技術(shù)與工程,2012,12(21):5308?5311.

        [9] 岳振,呂波,張涌,等.基于Aurora協(xié)議的高速圖像傳輸和通信平臺(tái)設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2014,40(8):7?9.

        [10] Xilinx Inc. LogiCORE IP Aurora 8 B/10 B user guide UG353(v5.3) [EB/OL]. [2012?01?18]. http://www.xilinx.com.

        [11] Xilinx Inc. ChipScope Pro tutorial: using an IBERT core with ChipScope Pro Analyzer UG811 (v13.1) [EB/OL]. [2014?04?28]. http://www.xilinx.com.

        猜你喜歡
        收發(fā)器
        清管球收發(fā)器設(shè)計(jì)細(xì)節(jié)分析及應(yīng)用
        光纖收發(fā)器故障排除經(jīng)驗(yàn)談
        基于RocketIO 高速串行回環(huán)通信的實(shí)現(xiàn)
        電子科技(2013年9期)2013-03-13 07:02:48
        富士通半導(dǎo)體推出收發(fā)器家族全新LTE優(yōu)化多頻單芯片MB86L13A
        ADI多點(diǎn)LVDS收發(fā)器提供最高ESD保護(hù)
        電腦與電信(2012年5期)2012-03-30 05:11:04
        光纖收發(fā)器常見故障原因
        久久精品无码av| 色婷婷久久综合中文久久一本| 亚洲国产成人aⅴ毛片大全| 久久黄色精品内射胖女人| 亚洲国产av一区二区三区| 99久热在线精品视频观看| 丰满岳乱妇久久久| 日韩毛片久久91| 国产中文色婷婷久久久精品| 国产午夜精品av一区二区麻豆| av蓝导航精品导航| 九九99久久精品在免费线97| 亚洲国产精品日韩av专区| 婷婷色香五月综合缴缴情| 成年女人毛片免费视频| 99热这里只有精品69| 国产精品三级1区2区3区| 色婷婷精品久久二区二区蜜桃| 国产精品狼人久久久久影院| 麻豆五月婷婷| 亚洲精品一区二区三区麻豆| 日本一区二区三区爆乳| 国产69精品久久久久9999| 日韩在线视频不卡一区二区三区| 久久久人妻一区二区三区蜜桃d| 亚洲熟妇久久精品| 亚洲白白色无码在线观看| 99久久亚洲精品加勒比| 国产白浆在线免费观看| 国产真实夫妇交换视频| 亚洲免费视频网站在线| 日韩极品在线观看视频| 亚洲熟女www一区二区三区| 乱码一二区在线亚洲| 日本久久一级二级三级| 欧美熟妇另类久久久久久多毛| 午夜男女爽爽爽在线视频| 国产精品久久无码免费看| 免费一区二区在线观看视频在线| 亚洲avav天堂av在线网毛片| 老色鬼永久精品网站|