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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

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

gvxiaot ? 來源:gvxiaot ? 作者:gvxiaot ? 2022-08-02 10:00 ? 次閱讀

1. 為什么選擇SRIO

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

同時,由于SRIO接口一些獨特的特性,使得SRIO接口在一些應用中仍然不可替代:

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

B. 支持數(shù)據(jù)包優(yōu)先級;

C. 支持響應機制;

D. 支持重傳機制;

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

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

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. 支持同時發(fā)生的Initiator和Target接口操作;

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

F. 專有的Maintenance傳輸端口;

G. 使用標準的AXI4-Lite和AXI4-Stream接口實現(xiàn)簡單的握手機制和數(shù)據(jù)流控制;

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

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

J. TXbuffer和RX buffer深度獨立可配置,可配置深度分別為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四個組成部分,其中:

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

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

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

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

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

poYBAGGYHbCAMlT6AADgwzHxUJU523.png

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

pYYBAGGYHbGAazlrAADwzErj3Bg925.png

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

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

pYYBAGGYHbOAesE4AAIpU636n9Q682.png

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

poYBAGGYHbSAaj4mAACyvFs7R94279.png

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

poYBAGGYHbWAQQZzAAFoZlKF2n0781.png

以Initiator接口為例,Xilinx SRIO IP Gen2 V1.0以后的版本提供給用戶的接口時序如下圖所示,這里發(fā)生了一個顯著的變化是在每一包數(shù)據(jù)發(fā)送時tready會先變低一個周期,因此此處的時序要控制好,不然很容易造成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等信息需要用戶根據(jù)數(shù)據(jù)包的類型、優(yōu)先級、源地址、目的地址、讀寫操作地址等信息填入;data部分是我們需要操作當前數(shù)據(jù)包的payload;包尾的CRC等信息為IP核自動插入。

poYBAGGYHbiAY5MrAAIdaut4-fc542.png

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

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

A. LOG接口的時序控制必須精準,否則可能會造成SRIO IP核堵塞;以IREQ接口為例說明:

pYYBAGGYHbmAUw4OAAEJTDyLSyY672.png

B. LOG接口使用組合邏輯來控制時序,在實際上板測試過程中要考慮tready信號 隨時可能變無效的情況,通常我用一個不使能任何輸出寄存器的FIFO來做組合邏輯時序控制,在Gen2 IP使用時我的一個例子如下圖所示;

poYBAGGYHbuAJ5mFAAE9W51Csc4691.png

C. Gen1 IP和Gen2 IP的差別在于:Gen1的控制信號為低有效,Gen2的控制信號為高有效;Gen1使用sof、eof、valid來控制有效數(shù)據(jù)進入IP核,Gen2使用tvalid和tlast來控制有效數(shù)據(jù)進入IP核;Gen1的包頭信息是獨立的接口,sof對應的就是第一個payload數(shù)據(jù),Gen2的包頭信息是作為數(shù)據(jù)寫入tdata接口;

pYYBAGGYHbyAbRP0AAEn8HZl8G0377.png

D. 非法的數(shù)據(jù)包會造成SRIO IP核堵塞,比如數(shù)據(jù)長度和包頭里的size不匹配,比如沒有tlast信號等;

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

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

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

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

審核編輯:湯梓紅

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

    關(guān)注

    71

    文章

    2145

    瀏覽量

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

    關(guān)注

    5

    文章

    1580

    瀏覽量

    149146
  • sRIO
    +關(guān)注

    關(guān)注

    1

    文章

    30

    瀏覽量

    20954
收藏 人收藏

    評論

    相關(guān)推薦

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

    本文介紹一個FPGA常用模塊:SRIO(Serial RapidIO)。SRIO協(xié)議是一種高速串行通信協(xié)議,在我參與的項目中主要是用于FPGA和DSP之間的高速通信。有關(guān)SRIO協(xié)議的
    的頭像 發(fā)表于 12-12 09:19 ?1923次閱讀
    FPGA優(yōu)質(zhì)開源模塊-<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ā)生錯誤

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

    基于SRIO協(xié)議的板級芯片互聯(lián)技術(shù)

    本文介紹了這種基于SRIO互聯(lián)技術(shù)的高速實時數(shù)據(jù)處理硬件平臺,并在該平臺上研究了多DSP之間、DSP與FPGA之間的SRIO通信技術(shù)。
    發(fā)表于 01-10 15:07 ?3808次閱讀
    基于<b class='flag-5'>SRIO</b>協(xié)議的板級芯片互聯(lián)技術(shù)

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

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

    XilinxIP:1024點FFT快速傅立葉變換

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

    Xilinx CORE生成器IP列表名稱及說明詳解

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

    Xilinx FIR IP介紹及仿真

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

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

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

    Xilinx平臺Aurora IP介紹(二)時鐘與復位

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

    Xilinx FFT IP介紹與仿真測試

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

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

    SRIO這種高速串口復雜就復雜在它的協(xié)議上,三層協(xié)議:邏輯層,傳輸層以及物理層。 數(shù)據(jù)手冊會說這三層協(xié)議是干什么的呢?也就是分工(【FPGA】SRIO IP核系統(tǒng)總覽以及端口介紹
    的頭像 發(fā)表于 04-25 11:20 ?1566次閱讀
    <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信號。
    的頭像 發(fā)表于 07-24 11:23 ?4364次閱讀
    <b class='flag-5'>Xilinx</b> Vivado DDS <b class='flag-5'>IP</b>使用方法

    基于FPGA的SRIO協(xié)議設計

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

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

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