0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Xilinx SRIO IP介紹和使用經(jīng)驗(yàn)分享

gvxiaot ? 來(lái)源:gvxiaot ? 作者:gvxiaot ? 2022-08-02 10:00 ? 次閱讀

1. 為什么選擇SRIO

隨著PCIe接口、以太網(wǎng)接口的飛速發(fā)展,以及SOC芯片的層出不窮,芯片間的數(shù)據(jù)交互帶寬大大提升并且正在向片內(nèi)交互轉(zhuǎn)變;SRIO接口的應(yīng)用市場(chǎng)在縮小,但是由于DSP和PowerPC中集成了SRIO接口,因此在使用DSP/Power PC + FPGA的使用場(chǎng)景中仍然占有一席之地。

同時(shí),由于SRIO接口一些獨(dú)特的特性,使得SRIO接口在一些應(yīng)用中仍然不可替代:

A. 不同的數(shù)據(jù)包類(lèi)型,支持使用SRIO傳輸不同的數(shù)據(jù)類(lèi)型;

B. 支持?jǐn)?shù)據(jù)包優(yōu)先級(jí);

C. 支持響應(yīng)機(jī)制;

D. 支持重傳機(jī)制;

E. 支持帶目的地址的路由;

F. 方便研發(fā)工程師定義靈活的硬件結(jié)構(gòu)和變化的負(fù)荷分擔(dān);

2. XilinxSRIO IP特性

Xilinx SRIO IO具有如下特性:

A. 支持RapidIO互連Rev2.2協(xié)議;

B. 支持1x、2x、4x,并且可以從x4、x2向下train down;

C. 每條lane支持的線速率為1.25Gbs、2.5Gbs、3.125Gbs、5.0Gbs和6.25Gbs;

D. 支持同時(shí)發(fā)生的Initiator和Target接口操作;

E. 支持Doorbell傳輸和Message傳輸;

F. 專(zhuān)有的Maintenance傳輸端口;

G. 使用標(biāo)準(zhǔn)的AXI4-Lite和AXI4-Stream接口實(shí)現(xiàn)簡(jiǎn)單的握手機(jī)制和數(shù)據(jù)流控制;

H. 所有發(fā)送數(shù)據(jù)包支持source ID可配置;

I. 針對(duì)復(fù)雜的互連系統(tǒng),支持16bit device ID配置;

J. TXbuffer和RX buffer深度獨(dú)立可配置,可配置深度分別為8包、16包和32包;

K. 支持TX flow control和RX flow control;

L. 支持multi-cast傳輸;

3. Xilinx SRIO IP架構(gòu)

Xilinx SRIO IP包含LOG(邏輯和傳輸層)、BUF(傳輸層)、PHY(物理層)、Clock&Reset四個(gè)組成部分,其中:

A. 邏輯和傳輸層定義了操作協(xié)議,包含數(shù)據(jù)組包和解包,提供用戶(hù)邏輯接口、傳輸接口和配置接口;

B. 傳輸層定義了包交換、路由和尋址機(jī)制,包含發(fā)送和接收數(shù)據(jù)緩存、數(shù)據(jù)包傳輸和流控、優(yōu)先級(jí)控制和數(shù)據(jù)包排序、跨時(shí)鐘域處理和重傳管理;

C. 物理層定義了電氣特性、鏈路控制和糾錯(cuò)重傳等,包含鏈路訓(xùn)練、初始化和協(xié)議實(shí)現(xiàn)、CRC和響應(yīng)機(jī)制、提供和Transceiver的接口;

D. Clock&Reset部分實(shí)現(xiàn)SRIO時(shí)鐘、復(fù)位、寄存器管理(Clock、Reset、Register Manager):該部分實(shí)現(xiàn)SRIO接口時(shí)鐘方案、復(fù)位策略及寄存器配置和管理功能;

Xilinx SRIO IP核的結(jié)構(gòu)如下圖所示:

poYBAGGYHbCAMlT6AADgwzHxUJU523.png

其中,邏輯層提供給用戶(hù)的接口包括Initiator Request接口、Initiator Response接口、TargetRequest接口、Target Response接口、Maintenance Request接口、Maintenance Response接口和配置寄存器接口。如下圖所示:

pYYBAGGYHbGAazlrAADwzErj3Bg925.png

由于在SRIO IP版本升級(jí)的過(guò)程中,在Gen2 IP中引入了AXI接口,因此Xilinx SRIO IP LOG層提供給用戶(hù)的接口也發(fā)生了變化。

以Initiator接口為例,Xilinx SRIO IP Gen1 V5.6以前的版本提供給用戶(hù)的接口信號(hào)如下圖所示,Target和Maintenance接口提供給用戶(hù)的接口也和Initiator接口基本類(lèi)似。

pYYBAGGYHbOAesE4AAIpU636n9Q682.png

以Initiator接口為例,Xilinx SRIO IP Gen2 V1.0以后的版本提供給用戶(hù)的接口信號(hào)如下圖所示,變更為AXI接口,Target和Maintenance接口提供給用戶(hù)的接口也和Initiator接口基本類(lèi)似。

poYBAGGYHbSAaj4mAACyvFs7R94279.png

以Initiator接口為例,Xilinx SRIO IP Gen1 V5.6以前的版本提供給用戶(hù)的接口時(shí)序如下圖所示:

poYBAGGYHbWAQQZzAAFoZlKF2n0781.png

以Initiator接口為例,Xilinx SRIO IP Gen2 V1.0以后的版本提供給用戶(hù)的接口時(shí)序如下圖所示,這里發(fā)生了一個(gè)顯著的變化是在每一包數(shù)據(jù)發(fā)送時(shí)tready會(huì)先變低一個(gè)周期,因此此處的時(shí)序要控制好,不然很容易造成SRIO IP核堵塞。

pYYBAGGYHbeAPS-kAAE55dtCi2U472.png

4. SRIO數(shù)據(jù)包格式

在SRIO數(shù)據(jù)包格式中,主要分為包頭、數(shù)據(jù)payload、包尾三部分。包頭的ackID、crf、prio、ftype、ttype、source ID、destination ID、address等信息需要用戶(hù)根據(jù)數(shù)據(jù)包的類(lèi)型、優(yōu)先級(jí)、源地址、目的地址、讀寫(xiě)操作地址等信息填入;data部分是我們需要操作當(dāng)前數(shù)據(jù)包的payload;包尾的CRC等信息為IP核自動(dòng)插入。

poYBAGGYHbiAY5MrAAIdaut4-fc542.png

5. XilinxSRIO IP使用和調(diào)試中的注意事項(xiàng)

Xilinx SRIO IP在使用和調(diào)試的時(shí)候,我們強(qiáng)調(diào)如下注意事項(xiàng):

A. LOG接口的時(shí)序控制必須精準(zhǔn),否則可能會(huì)造成SRIO IP核堵塞;以IREQ接口為例說(shuō)明:

pYYBAGGYHbmAUw4OAAEJTDyLSyY672.png

B. LOG接口使用組合邏輯來(lái)控制時(shí)序,在實(shí)際上板測(cè)試過(guò)程中要考慮tready信號(hào) 隨時(shí)可能變無(wú)效的情況,通常我用一個(gè)不使能任何輸出寄存器的FIFO來(lái)做組合邏輯時(shí)序控制,在Gen2 IP使用時(shí)我的一個(gè)例子如下圖所示;

poYBAGGYHbuAJ5mFAAE9W51Csc4691.png

C. Gen1 IP和Gen2 IP的差別在于:Gen1的控制信號(hào)為低有效,Gen2的控制信號(hào)為高有效;Gen1使用sof、eof、valid來(lái)控制有效數(shù)據(jù)進(jìn)入IP核,Gen2使用tvalid和tlast來(lái)控制有效數(shù)據(jù)進(jìn)入IP核;Gen1的包頭信息是獨(dú)立的接口,sof對(duì)應(yīng)的就是第一個(gè)payload數(shù)據(jù),Gen2的包頭信息是作為數(shù)據(jù)寫(xiě)入tdata接口;

pYYBAGGYHbyAbRP0AAEn8HZl8G0377.png

D. 非法的數(shù)據(jù)包會(huì)造成SRIO IP核堵塞,比如數(shù)據(jù)長(zhǎng)度和包頭里的size不匹配,比如沒(méi)有tlast信號(hào)等;

E. 如果一個(gè)數(shù)據(jù)包payload不足2N,經(jīng)過(guò)SRIO IP核后會(huì)自動(dòng)補(bǔ)充到2N,例如我們發(fā)送一個(gè)payload為48byte的包,到達(dá)接收端的將會(huì)是一個(gè)64byte的數(shù)據(jù)包;

F. 如果device ID錯(cuò)誤,數(shù)據(jù)包將會(huì)被過(guò)濾;

G. 在FPGA和對(duì)端器件調(diào)試SRIO的時(shí)候,DSP和Power PC的SRIO通常也支持不同的幾種環(huán)回模式,遇到鏈路不通的問(wèn)題可以借助這些環(huán)回模式來(lái)進(jìn)行定位;

H. 如果系統(tǒng)中接的有SRIO Switch芯片,一般IIC接口和SRIO接口的Maintenance包都可以用于配置Switch芯片;

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Xilinx
    +關(guān)注

    關(guān)注

    71

    文章

    2155

    瀏覽量

    120853
  • IP
    IP
    +關(guān)注

    關(guān)注

    5

    文章

    1613

    瀏覽量

    149251
  • sRIO
    +關(guān)注

    關(guān)注

    1

    文章

    30

    瀏覽量

    20969
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    FPGA優(yōu)質(zhì)開(kāi)源模塊-SRIO IP核的使用

    本文介紹一個(gè)FPGA常用模塊:SRIO(Serial RapidIO)。SRIO協(xié)議是一種高速串行通信協(xié)議,在我參與的項(xiàng)目中主要是用于FPGA和DSP之間的高速通信。有關(guān)SRIO協(xié)議的
    的頭像 發(fā)表于 12-12 09:19 ?2029次閱讀
    FPGA優(yōu)質(zhì)開(kāi)源模塊-<b class='flag-5'>SRIO</b> <b class='flag-5'>IP</b>核的使用

    下載Xilinx IP Core

    除了在Xilinx官網(wǎng)上在哪里能下載到Xilinx IP Core 及l(fā)icense? 如FFTFIRCORDIC核等!
    發(fā)表于 06-20 23:51

    srio_v5_6 IP核使用發(fā)生錯(cuò)誤

    現(xiàn)在,我在ISE13.1軟件中使用srio_v5_6 Ip內(nèi)核。我使用CORE生成器為X6VLX240T-1156-1設(shè)備生成一個(gè)srio_v5_6 IP內(nèi)核。然后我用ISE13.1軟
    發(fā)表于 10-08 11:10

    Xilinx TCP_IP協(xié)議實(shí)現(xiàn)

    Xilinx FPGA工程例子源碼:Xilinx TCP_IP協(xié)議實(shí)現(xiàn)
    發(fā)表于 06-07 14:54 ?32次下載

    XilinxIP:1024點(diǎn)FFT快速傅立葉變換

    Xilinx FPGA工程例子源碼:XilinxIP:1024點(diǎn)FFT快速傅立葉變換
    發(fā)表于 06-07 15:07 ?51次下載

    Xilinx CORE生成器IP列表名稱(chēng)及說(shuō)明詳解

    本頁(yè)包含通過(guò)LabVIEW FPGA模塊可用的Xilinx CORE生成器IP的列表。LabVIEW通過(guò)Xilinx IP節(jié)點(diǎn)實(shí)現(xiàn)該IP
    發(fā)表于 11-18 05:55 ?4776次閱讀

    Xilinx FIR IP介紹及仿真

    Xilinx FIR IP介紹與仿真 1 xilinx fir ip 簡(jiǎn)介 1)符合 AXI4-Stream 的接口 2)高性能有限脈沖響
    的頭像 發(fā)表于 10-30 12:29 ?834次閱讀

    在Vivado中使用SRIO高速串行協(xié)議的IP演示官方例程

    在FPGA開(kāi)發(fā)過(guò)程中不可避免的要使用到一些IP,有些IP是很復(fù)雜的,且指導(dǎo)手冊(cè)一般是很長(zhǎng)的英文,僅靠看手冊(cè)和網(wǎng)絡(luò)的一些搜索,對(duì)于復(fù)雜IP的應(yīng)用可能一籌莫展。 這里以Xilinx為例,在
    的頭像 發(fā)表于 04-15 15:19 ?6455次閱讀
    在Vivado中使用<b class='flag-5'>SRIO</b>高速串行協(xié)議的<b class='flag-5'>IP</b>演示官方例程

    Xilinx平臺(tái)Aurora IP介紹(二)時(shí)鐘與復(fù)位

    對(duì)于我們使用Xilinx或其他的成熟IP而言,IP相當(dāng)于一個(gè)黑匣子,內(nèi)部實(shí)現(xiàn)的邏輯功能我們知道,但是控制不了,只能默認(rèn)OK;一般而言,成熟IP都是經(jīng)過(guò)反復(fù)驗(yàn)證和使用,確實(shí)沒(méi)有什么問(wèn)題。
    的頭像 發(fā)表于 02-19 18:30 ?5121次閱讀
    <b class='flag-5'>Xilinx</b>平臺(tái)Aurora <b class='flag-5'>IP</b><b class='flag-5'>介紹</b>(二)時(shí)鐘與復(fù)位

    Xilinx FFT IP介紹與仿真測(cè)試

    Xilinx快速傅立葉變換(FFT IP)內(nèi)核實(shí)現(xiàn)了Cooley-Tukey FFT算法,這是一種計(jì)算有效的方法,用于計(jì)算離散傅立葉變換(DFT)。
    的頭像 發(fā)表于 03-30 11:01 ?2953次閱讀

    SRIO IP核的三層協(xié)議的作用解析

    SRIO這種高速串口復(fù)雜就復(fù)雜在它的協(xié)議上,三層協(xié)議:邏輯層,傳輸層以及物理層。 數(shù)據(jù)手冊(cè)會(huì)說(shuō)這三層協(xié)議是干什么的呢?也就是分工(【FPGA】SRIO IP核系統(tǒng)總覽以及端口介紹
    的頭像 發(fā)表于 04-25 11:20 ?1595次閱讀
    <b class='flag-5'>SRIO</b> <b class='flag-5'>IP</b>核的三層協(xié)議的作用解析

    Xilinx Vivado DDS IP使用方法

    DDS(Direct Digital Frequency Synthesizer) 直接數(shù)字頻率合成器,本文主要介紹如何調(diào)用Xilinx的DDS IP核生成某一頻率的Sin和Cos信號(hào)。
    的頭像 發(fā)表于 07-24 11:23 ?4594次閱讀
    <b class='flag-5'>Xilinx</b> Vivado DDS <b class='flag-5'>IP</b>使用方法

    基于FPGA的SRIO協(xié)議設(shè)計(jì)

    本文介紹一個(gè)FPGA常用模塊:SRIO(Serial RapidIO)。SRIO協(xié)議是一種高速串行通信協(xié)議,在我參與的項(xiàng)目中主要是用于FPGA和DSP之間的高速通信。有關(guān)SRIO協(xié)議的
    的頭像 發(fā)表于 09-04 18:19 ?1277次閱讀
    基于FPGA的<b class='flag-5'>SRIO</b>協(xié)議設(shè)計(jì)

    srio交換芯片是什么?srio交換芯片的原理和作用

    SRIO(Serial RapidIO)交換芯片是一種高性能的通信芯片,專(zhuān)門(mén)設(shè)計(jì)用于實(shí)現(xiàn)基于SRIO協(xié)議的數(shù)據(jù)交換和傳輸。SRIO是一種點(diǎn)對(duì)點(diǎn)串行通信協(xié)議,廣泛應(yīng)用于嵌入式系統(tǒng)、高性能計(jì)算、網(wǎng)絡(luò)通信
    的頭像 發(fā)表于 03-16 16:40 ?3109次閱讀

    如何申請(qǐng)xilinx IP核的license

    在使用FPGA的時(shí)候,有些IP核是需要申請(qǐng)后才能使用的,本文介紹如何申請(qǐng)xilinx IP核的license。
    的頭像 發(fā)表于 10-25 16:48 ?147次閱讀
    如何申請(qǐng)<b class='flag-5'>xilinx</b> <b class='flag-5'>IP</b>核的license