Xilinx Srio详解&IP核使用

SRIO—IP核——1.Rapid IO协议 RapidIO是由Motorola和Mercury等公司率先倡导的一种高性能、低引脚数、基于数据包交换的互联体系结构,是为满足和未来高性能嵌入式系统需求而设计的一种开放式互联技术标准。Rapid IO主要应用于嵌入式系统内部互连,支持芯片到芯片、板与板之间的通讯,可作为嵌入式设备的背板连接。可以得知Rapid IO是一种总线技术,常见的总线技术包括:传统串行总线:UART、SPI、IIC总线等;接口简单,硬件设计简单;协议较简单;传输速度慢。传统并行总线:EMIF、UPP、PCI总线等; 阅读详情
AI摘要

RapidIO是一种高性能、低引脚数的互连体系结构,专为嵌入式系统设计。支持芯片到芯片、板到板间的通讯,适用于嵌入式设备的背板连接。本文介绍了RapidIO的基本概念、与其他协议的比较、协议结构及其在Xilinx IP中的应用。

一.简介

RapidIO是由Motorola和Mercury等公司率先倡导的一种高性能、 低引脚数、 基于数据包交换的互连体系结构,是为满足和未来高性能嵌入式系统需求而设计的一种开放式互连技术标准。RapidIO主要应用于嵌入式系统内部互连,支持芯片到芯片、板到板间的通讯,可作为嵌入式设备的背板(Backplane)连接。
RapidIO协议由逻辑层、传输层和物理层构成。逻辑层定义了所有协议和包格式。这是对终端进行初始化和完成传送的很有必要的信息。传输层为数据包从一个终端到另一个终端通道的必要信息。物理层描述了设备之间接口协议,例如包传装置,流量控制,电特性及低级错误管理等。Rapid IO分为并行Rapid IO标准和串行Rapid IO标准,串行RapidIO是指物理层采用串行差分模拟信号传输的RapidIO标准。
RapidIO行业协会成立于2000年,其宗旨是为嵌入式系统开发可靠的、 高性能、 基于包交换的互连技术,2001 年正式发表其基本的规范。2003 年10 月,国际标准组织(ISO)和国际电工委员会(IEC)一致通过了RapidIO互连规范,即ISO/IEC DIS 18372,这使RapidIO(ISO)成为嵌入式互连技术方面得到授权的唯一标准。RapidIO 的规范发布历史如下:
2001年3月,发布RapidIO 1.1规范;
2002年6月,发布RapidIO 1.2规范;
2005年2月,发布RapidIO 1.3规范;
2007年6月,发布RapidIO 2.0规范;
2009年8月,发布RapidIO 2.1规范;
2011年5月,发布RapidIO 2.2规范。
RapidIO 1.x标准支持的信号速率为1.25GHz、2.5GHz和3.125GHz;RapidIO 2.x标准在兼容Rapid IO 1.x标准基础上,增加了支持5GHz和6.25GHz的传输速率 。
RapidIO 已有超过10 年的历史,仍然生机勃勃,它还在继续为开发人员提供高速、先进的通讯技术:可对许多集成电路、板卡、背板及计算机系统供应商提供支持,支持RapidIO 标准的厂商有:Mercury Computer Systems、Freescale Semiconductor、Lucent-Alcatel、PMC-Sierra、Texas Instruments、Tundra Semiconductor、WindRiver、AMCC、Curtiss-Wright Controls、GE Fanuc 等,也就是说世界上几乎所有的嵌入式主流厂商都已经支持RapidIO 技术,显然,RapidIO 势在必行。发展至今,开发人员有100 多种基于RapidIO 的产品可供选择,这些产品涵盖了各种开发工具、嵌入式系统、IP、软件、测试与测量设备及半导体(ASIC、DSP、FPGA)等。

 二.其他协议相比较

            随着高性能嵌入式系统的不断发展,芯片间及板间互连对带宽、成本、灵活性及可靠性的要求越来越高,传统的互连方式,如处理器总线、PCI总线和以太网,都难以满足新的需求 。

处理器总线主要用作外部存储器接口,如德州仪器(TI) C6000系列DSP的外部存储器接口,可支持外接同步SDRAM、SBSRAM及FIFO,也可支持异步SRAM、FLASH等。外部存储器接口也可用作与板内FPGA或ASIC芯片互连,这种情况下,FPGA或ASIC模拟一个DSP支持的存储器接口,DSP则把FPGA或ASIC当作存储器来访问。这类同步接口带宽可达10Gbps,如德州仪器TMS320C6455 DSP的DDR2接口最大带宽为17.066Gbps,SBSRAM接口最大带宽为8.533Gbps。然而,这种接口也存在一些局限性:

  1. 接口管脚多,硬件设计困难。常见的DDR2接口有70~80个管脚;
  2. 只能用于板内互连,无法用于板间互连;
  3. 不是点对点的对等互连,DSP始终是主设备,其它器件只能做从设备。

PCI是广泛用于计算机内器件互连的技术。传统PCI技术也采样类似于上述存储器接口的并行总线方式,如TMS320C6455 DSP的PCI接口,有32bits数据总线,最高时钟速度为66MHz,共有42个管脚。最新的串行PCI Express技术采用与串行RapidIO(SRIO, Serial RapidIO)类似的物理层传输技术,使得带宽达到10Gbps左右。但由于其主要的应用仍是计算机,而且为了兼容传统PCI技术,使得它在嵌入式设备方面的应用具有一定的局限性,如不支持点对点对等通信等。
众所周知,以太网是使用最广泛的局域网互连技术,它也被扩展应用到嵌入式设备互连,但它的局限性也是显而易见的:

  1. 不支持硬件纠错,软件协议栈开销较大;
  2. 打包效率低,有效传输带宽因此而减小;
  3. 只支持消息传输模式,不支持对对端设备的直接存储器访问(DMA, Direct Memory Access)。

针对嵌入式系统的需求以及传统互连方式的局限性,RapidIO标准按如下目标被制定:

  1. 针对嵌入式系统机框内高速互连应用而设计。
  2. 简化协议及流控机制,限制软件复杂度,使得纠错重传机制乃至整个协议栈易于用硬件实现。
  3. 提高打包效率,减小传输时延。
  4. 减少管脚,降低成本。
  5. 简化交换芯片的实现,避免交换芯片中的包类型解析。
  6. 分层协议结构,支持多种传输模式,支持多种物理层技术,灵活且易于扩展。

三.协议的三层结构

为了满足灵活性和可扩展性的要求,RapidIO协议分为三层:逻辑层、传输层和物理层。



和以太网一样,RapidIO也是基于包交换的互连技术。如图3所示,RapidIO包由包头、可选的载荷数据和16bits CRC校验组成。包头的长度因为包类型不同可能是十几到二十几个字节。每包的载荷数据长度不超过256字节,这有利于减少传输时延,简化硬件实现。

上述包格式定义兼顾了包效率及组包/解包的简单性。RapidIO交换器件仅需解析前后16bits,以及源/目地器件ID,这简化了交换器件的实现。

逻辑层协议

逻辑层定义了操作协议和相应的包格式。RapidIO支持的逻辑层业务主要是:直接IO/DMA (Direct IO/Direct Memory Access)和消息传递(Message Passing)。

直接IO/DMA模式是最简单实用的传输方式,其前提是主设备知道被访问端的存储器映射。在这种模式下,主设备可以直接读写从设备的存储器。直接IO/DMA在被访问端的功能往往完全由硬件实现,所以被访问的器件不会有任何软件负担。从功能上讲,这一特点和德州仪器DSP的传统的主机接口(HPI, Host Port Interface)类似。但和HPI口相比,SRIO(Serial RapidIO)带宽大,管脚少,传输方式更灵活。

对上层应用来说,发起直接IO/DMA传输主要需提供以下参数:目地器件ID、数据长度、数据在目地器件存储器中的地址。

直接IO/DMA模式又可进一步分为以下几种传输格式:

  1. NWRITE: 写操作,不要求接收端响应。
  2. NWRITE_R: 带响应的NWRITE(NWRITE with Response),要求接收端响应。
  3. SWRITE:流写(Stream Write),数据长度必须是8字节的整数倍,不要求接收端响应。
  4. NREAD: 读操作。

SWRITE是最高效的传输格式;带响应的写操作或读操作效率则较低,一般只能达到不带响应的传输的效率的一半。
消息传递(Message Passing)模式则类似于以太网的传输方式,它不要求主设备知道被访问设备的存储器状况。数据在被访问设备中的位置则由邮箱号(类似于以太网协议中的端口号)确定。从设备根据接收到的包的邮箱号把数据保存到对应的缓冲区,这一过程往往无法完全由硬件实现,而需要软件协助,所以会带来一些软件负担。
对上层应用来说,发起消息传递主要需提供以下参数:目地器件ID、数据长度、邮箱号。


传输层协议

RapidIO是基于包交换的互连技术,传输层定义了包交换的路由和寻址机制。

RapidIO网络主要由两种器件,终端器件(End Point)和交换器件(Switch)组成。终端器件是数据包的源或目的地,不同的终端器件以器件ID来区分。RapidIO支持8 bits 或 16 bits器件ID,因此一个RapidIO网络最多可容纳256或65536个终端器件。与以太网类似,RapidIO也支持广播或组播,每个终端器件除了独有的器件ID外,还可配置广播或组播ID。交换器件根据包的目地器件ID进行包的转发,交换器件本身没有器件ID。

RapidIO的互连拓扑结构非常灵活,除了通过交换器件外,两个终端器件也可直接互连。以德州仪器(TI)的TMS320C6455 DSP为例,它有4个3.125G的SRIO口,它可支持的拓扑结构


物理层协议

RapidIO 1.x 协议定义了以下两种物理层接口标准:

  1. 8/16 并行LVDS协议
  2. 1x/4x 串行协议 (SRIO)

并行RapidIO由于信号线较多(40~76)难以得到广泛的应用,而1x/4x串行RapidIO仅4或16个信号线,逐渐成为主流,所以本文仅介绍串行RapidIO。

串行RapidIO基于现在已广泛用于背板互连的SerDes(Serialize Deserialize)技术,它采用差分交流耦合信号。差分交流耦合信号具有抗干扰强、速率高、传输距离较远等优点。差分交流耦合信号的质量不是由传统的时序参数来衡量,而是通过眼图来衡量,眼图中的“眼睛”张得越开则信号质量越好。下图是一个典型的串行RapidIO信号的眼图。

差分信号的强弱由一对信号线的电压差值表示,串行RapidIO协议规定信号峰-峰值的范围是200mV-2000mV。信号幅度越大,则传输距离越远,RapidIO协议按信号传输距离定义两种传输指标:

  1. 短距离传输(Short Run),<=50厘米,主要用于板内互连,推荐的发送端信号峰-峰值为500mV-1000mV
  2. 长距离传输(Long Run),>50厘米,主要用于板间或背板互连,推荐的发送端信号峰-峰值为800mV-1600mV

为了支持全双工传输,串行RapidIO收发信号是独立的,所以每一个串行RapidIO口由4根信号线组成。标准的1x/4x 串行RapidIO接口,支持四个口,共16根信号线。这四个口可被用作独立的接口传输不同的数据;也可合并在一起当作一个接口使用,以提高单一接口的吞吐量。

德州仪器TMS320C6455 DSP上集成了标准的1x/4x串行RapidIO接口,如图


发送时,逻辑层和传输层将组好的包经过CRC编码后被送到物理层的FIFO中,“8b/10b编码”模块将每8bit数据编码成10bits数据,“并/串转换”模块将10bits并行数据转换成串行bits,发送模块把数字bit转换成差分交流耦合信号在信号线上发送出去。这里的8b/10编码的主要作用是:

  1. 保证信号有足够的跳变,以便于接收方恢复时钟。串行RapidIO没有专门的时钟信号线,接收端靠数据信号的跳变恢复时钟。所以需要把信号跳变少的8bits数据(如全0或全1)编码成有一定跳变的10bits数据。另外,也使得总体数据中0和1的个数均衡,以消除直流分量,保证交流耦合特性;
  2. 8b/10编码可扩大符号空间,以承载带内控制符号。10bits能表示1024个符号,其中256个表示有效的8bits数据,剩下的符号中的几十个被用作控制符号。控制符号可被用作包分隔符,响应标志,或用于链路初始化,链路控制等功能;
  3. 8b/10编码能实现一定的检错功能。1024个符号中,除了256个有效数据符号和几十个控制符号外,其它符号都是非法的,接收方收到非法符号则表示链路传输出错。

接收的过程则正好相反,首先接收方需要根据数据信号的跳变恢复出时钟,用这个时钟采样串行信号,将串行信号转换为10bits的并行信号,再按8b/10b编码规则解码得到8bits数据,最后做CRC校验并送上层处理。

数据被正确的接收时,接收端会发送一个ACK响应包给发送端;如果数据不正确(CRC错或非法的10bits符号),则会送NACK包,要求发送方重传。这种重传纠错的功能由物理层完成,而物理层功能往往由硬件实现,所以不需要软件干预。

串行RapidIO支持的信号速率有三种:1.25GHz,2.5GHz,3.125GHz。但由于8b/10b编码,其有效数据速率分别为:1Gbps, 2Gbps, 2.5Gbps。 4个1x端口或一个4x端口支持的最高速率为10Gbps。

四.xlinx srio ip介绍

Endpoint IP由物理层、传输层及逻辑层组成,自带可配置buffer design、reference clock module、reset module及configuration fabric referencedesign。支持1x、2x、4x lane widths,支持per-lane speeds of 1.25、2.5、3.125、5.0及6.25Gbaud。SRIO Gen2使用AXI4-Stream接口用于高速数据传输。

逻辑层定义了操作协议和包格式。

传输层提供端点器件间传输包所需的路由信息。

物理层定义器件级接口的细节,如包传输机制、流量控制、电气特性和低级错误管理。

1.1SRIO系统预览

图一  Serial RapidIOSystem Overview



2.逻辑层接口介绍

由图一可以看到逻辑层有三种接口:ConfigurationFabric Interface,具体如下:

图二    逻辑层接口

User Interface

主要包含一系列I/O ports和三类可选的ports,主要是用来发包和收包解析。对于使用哪些接口,在FPGA开发过程中,可以在IP core进行配置,实现时,每种事物根据事物的类型接入对应的port中。

其中,任何支持I/O事物传输的都将在I/O ports收发,如NWRITEs、NWRITE_Rs、SWRITEs、NREADs和RESPONSEs等事物;MESSAGE事物则可以在I/O ports传输,也可以在专用的messaging port传输;DOORBELL事物不管有没有message port,都将使用IO port进行传输;如果定义了maintenance接口,那么maintenance事物将通过maintenance接口进行传输;如果使用了User-defined接口的话,那么用户自定义的、系统不支持的或者未指明接口的事物将可以采用这种User-defined接口,如果未使能User-defined接口,那么上面提到这3种事物包将被丢弃。

必备的I/O Port

IO port支持2种格式:HELLO format 和SRIOstream。对于模式和包格式的选择都需要在创建IPcore的时候选定好,并且IO ports里面所有的channels都必须使用相同的包格式。

IO ports配置成condensedIO模式主要是为了减少channels数,此时只有一个AXI4-stream 用来收发数据。在这种模式下,SRIO的IO port很接近于PCIE的AXI总线。(注意端口命名的参考是LOG层).

initiator/Target允许在远端的initiator发起事物并把本地的endpoint作为事物传送目标。从下面其接口图可以看出,其实感觉有点类似IIC,规定什么时候谁为master,向slave发起操作,故具备了2套独立的AXI4-stream用来收发数据。





s_axis_ireq* are associated with INITIATOR_IREQ.

m_axis_iresp* are associated with INITIATOR_IRESP.

m_axis_treq* are associated with TARGET_TREQ.

s_axis_tresp* are associated with TARGET_TRESP.

可选的Messaging Port

为什么是可选的呢,因为message也可以作为普通的wrtie事物通过I/O prot进行传输,IP core 产生时可以对这个进行选择。默认是和I/O port复用的,但是如果作为独立的port也是可以的,接口类型和initiator/Target一样。

可选的Maintenance Port

虽然说这个是可选的,可是在xilinx的IP core配置上,这个好像是一定存在的,并且还被推荐配置成AXI4-Liteinterface,当然也可以配置成AXI4-Stream。这2种interface的区别主要在于AXI4-Lite interface不仅可以让用户app target本地的配置空间,还可以target远端的配置空间,而AXI4-Stream interface只能配置远端的配置空间。

可选的User-Defined Port

User-definedport采用的是SRIO stream format,并且拥有2个AXI4-Stream channels。





3.BUF接口

BUF层夹杂在LOG层和PHY层中间,为包的传送和流控制提供了保证。当然收发的buffer大小是可配的,值得注意的是,这里说的大小不是说fifo size或深度之类的,而是max sized packets的个数,即按最大size包的个数进行管理的。




上面的和LOG和PHY层的interface是AXI4-Stream,而cfgb则是AXI4-Liteinterface接口,实现进入BUF层的配置空间。

该层主要包含以下一些接口:

(1)clock andresetinterface

(2)transport interface

(3)link interface

(4)BUF configurationfabric interface

4.物理层接口

RapidIO串行物理层,通常称为串行RapidIO,针对板上或通过背板的器件间的电气连接。串行物理层定义器件间的全双工串行链路,在每个方向上使用单向差分信号。RapidIO串行物理层支持RapidIO器件间的包传送,包括包和控制符号的传送、流量控制、错误管理和其他器件到器件的功能。

由于串行RapidIO规范仅在物理层定义(RapidIO技术定于物理层为电气接口和器件到器件的链路协议),多数RapidIO控制器的逻辑是相同的。因此,串行RapidIO规范保留了许多已有的设计经验和经过证实的基础结构,简化了并行与串行链路间的系统级交换操作。

RapidIO串行物理层有如下特征:

(1)采用8B/10B编码方案将发送时钟嵌入到数据中;

(2)在每个方向上支持一个串行差分对,称为1通道;或支持四个并列的串行差分对,称为4通道;

(3)使用专用的8B/10B码来管理链路,管理内容包括流量控制、包定界和错误报告;

(4)允许在RapidIO1x/4xLP-Serial(串行RapidIO)端口和RapidIO物理层8/16 LP-LVDS(并行RapidIO)端口之间进行包传输而无需包处理;

(5)使用与并行RapidIO物理层相似的重传和错误恢复协议;

(6)支持每通道1.25G、2.5G和3.125G波特率(数据流为1.0Gbps、2.0Gbps和2.5Gbps)的传送速率。(现在支持的应该更多了,可以高达6.25G了)




该层主要包含以下一些接口:

(1)clock and reset interface

(2)link interface

(3)serial interface

(4)control and statusinterface

(5)configuration fabricinterface

(6)serial transceiversinterface

(7)configuration fabricreference design interface

五.xlinx srio ip 

在利用Xilinx的IP进行开发时,为了简化报文的解析和组包,SRIO Gen2 usesAXI4-Stream,Xilinx推出了一种简化的报文格式,这样一来,我们可以发现,这样又很接近PCIE的TLP报文格式了。

l HELLO format









引脚示意:

引脚名称

方向

备注

sys_clkp

input

差分时钟(直连板子)

sys_clkn

input

差分时钟(直连板子)

sys_rst

input

可连板或拉低一阵子再拉高

 

 

 

log_clk_out

output

给用户使用always里的时钟

buf_rst_out

output

 

log_rst_out

output

 

gt_pcs_rst_out

output

 

gt_pcs_clk_out

output

 

cfg_rst_out

output

 

deviceid

output

存储在Base DeviceID CSR中的当前值

port_decode_error

output

表示收到不支持的事务,并且由于未启用用户定义的端口而被删除。 当下一个支持的数据包类型到达任何用户界面时,该信号无效。 该信号在log_clk中同步。

 

 

 

s_axis_ireq_tvalid

input

发送数据有效信号

s_axis_ireq_tready

output

IP核准备好接收数据

s_axis_ireq_tlast

input

发送的最后一行数据

s_axis_ireq_tdata

input

数据位

s_axis_ireq_tkeep

input

keep

s_axis_ireq_tuser

input

由源ID(31:16)和目标ID(15:0)组成

 

 

 

m_axis_iresp_tvalid

output

上面的数据线反向使用,这是回应通道!

m_axis_iresp_tready

Input

m_axis_iresp_tlast

output

m_axis_iresp_tdata

output

m_axis_iresp_tkeep

output

m_axis_iresp_tuser

output

 

 

 

m_axis_treq_tvalid

output

用户接收数据使用的axi-stream协议,含义同上,只是方向问题

m_axis_treq_tready

input

m_axis_treq_tlast

output

m_axis_treq_tdata

output

m_axis_treq_tkeep

output

m_axis_treq_tuser

output

 

 

 

s_axis_tresp_tvalid

input

作为回应通道

s_axis_tresp_tready

output

s_axis_tresp_tlast

input

s_axis_tresp_tdata

input

s_axis_tresp_tkeep

input

s_axis_tresp_tuser

input

 

 

 

s_axi_maintr_rst

input

给维护接口复位

s_axi_maintr_awvalid

input

写地址的有效信号

s_axi_maintr_awready

output

写地址的ip核准备好信号线

s_axi_maintr_awaddr

input

写地址的具体地址

s_axi_maintr_wvalid

input

写数据的有效信号

s_axi_maintr_wready

output

写数据的ip核准备好信号线

s_axi_maintr_wdata

input

写数据

s_axi_maintr_bvalid

output

Ip核的回应信号

s_axi_maintr_bready

input

和写数据一起拉高,valid拉高以后,一起再高一个时钟后拉低

s_axi_maintr_bresp

output

可以不看

s_axi_maintr_arvalid

input

要读的地址有效信号

s_axi_maintr_arready

output

Ip核准备好信号

s_axi_maintr_araddr

input

要读的地址是多少

s_axi_maintr_rvalid

output

读出来的数据的有效信号

s_axi_maintr_rready

input

用户准备好要读数据

s_axi_maintr_rdata

output

读出来的数据

s_axi_maintr_rresp

output

 

 

 

 

gt_clk_out

output

 

drpclk_out

output

 

refclk_out

output

 

buf_lcl_response_only_out

output

 

buf_lcl_tx_flow_control_out

output

 

idle2_selected

output

 

idle_selected

output

 

buf_lcl_phy_buf_stat_out

output

 

phy_clk_out

output

 

gt0_qpll_clk_out

output

 

gt0_qpll_out_refclk_out

output

 

phy_rst_out

output

 

sim_train_en

input

给0

phy_mce

input

给0

phy_link_reset

input

给0

force_reinit

input

给0

phy_lcl_phy_next_fm_out

output

 

phy_lcl_phy_last_ack_out

output

 

link_initialized

output

Link初始化成功信号

phy_lcl_phy_rewind_out

output

 

phy_lcl_phy_rcvd_buf_stat_out

output

 

phy_rcvd_mce

output

 

phy_rcvd_link_reset

output

 

port_error

output

 

port_initialized

output

端口初始化成功信号

clk_lock_out

output

 

mode_1x

output

 

port_timeout

output

 

srio_host

output

 

phy_lcl_master_enable_out

output

 

phy_lcl_maint_only_out

output

 

gtrx_disperr_or

output

来自串行收发器的每字节不一致错误指示符。 如果位0置位,则gtrx_data [7:0]存在差异错误,依此类推。

gtrx_notintable_or

output

来自串行收发器的每字节不在表错误指示符。 如果位0是

断言,gtrx_data [7:0]有8b / 10b解码错误,依此类推。

phy_debug

output

看手册这个信号200+bits包括了之前所有的输出信号线

 

 

 

srio_txn0

output

直接连板子的数据差分信号

 

 

 

 

直接连板子的数据差分信号

 

 

 

 

直接连板子的数据差分信号

 

 

直接连板子的数据差分信号

srio_txp0

output

srio_rxn0

Input

srio_rxp0

Input

 

 

srio_txn1

 

srio_txp1

 

srio_rxn1

 

srio_rxp1

 

 

 

srio_rxn2

 

srio_rxp2

 

srio_txn2

 

srio_txp2

 

 

 

srio_rxn3

 

srio_rxp3

 

srio_txn3

 

srio_txp3

 

 

 

 

 

 

 

 


SRIO系列-基本概念及IP核使用 RapidIO互连架构是一种高性能的数据包交换、互连技术,旨在与最流行的集成通信处理器、主机处理器和网络数字信号处理器兼容。它解决了高性能嵌入式行业对系统内互连中的可靠性、更高的带宽和更快的总线速度的需求。RapidIO标准被定义为三个层:逻辑、传输和物理。逻辑层定义了总体协议和数据包格式。这是端点启动和完成事务所必需的信息。传输层提供了数据包从端点移动到端点所需的路由信息。物理层描述了设备级的接口细节,如数据包传输机制、流量控制、电气特性和低级错误管理。 阅读详情

相关推荐

SRIO—IP核——4.SRIO配置与示例,协议解析

示例工程目录:包含两个头文件和一堆子模块。文件名称模块功能描述Verilog头文件,定义了一些维护事务,它被包含在srio_quick_start.v模块中Verilog头文件,定义了121个事务,它被包含在srio_request_gen.v模块中srio核心模块,包含IP例化以及时钟和复位;我们使用IP核就是在该模块的基础上进行逻辑设计。生成请求事务的模块,把instruction_list.vh中包含的事务发出去这个模块用来产生有响应事务的响应包。

qq_44932488的博客 8392

何谓SRIO——RapidIO之旅从这里开始

全球领先的低延迟、高带宽、可伸缩性和可靠性的互连标准

太白断水客 3万+

Xilinx平台SRIO介绍(二)SRIO IP核基础知识

使用SRIO IP核必须掌握的基础知识! 理解了这篇,剩下的只是代码罢了。

数字IC/FPGA杂货铺,找一找,或许有你想要的~ 4万+

SRIO学习(1)SRIO介绍以及IP核详解

参考1:https://www.ti.com.cn/general/cn/docs/gencontent.tsp?参考2:https://blog.youkuaiyun.com/qq_33904382/article/details/130330299串行RapidIO针对高性能嵌入式系统芯片间和板间互连而设计。在嵌入式系统应用领域,DSP,FPGA,PowerPC等嵌入式处理器的出现后,工程师将多种处理器组合,形成模块。模块通过背板相连,形成整机,实现更大的系统应用。架构独立,不依赖具体的硬件和软件。

m0_56222647的博客 1万+

Xilinx平台SRIO介绍(汇总篇)

用最简单直白的语言记录复杂的FPGA设计。 ——FPGA大叔·沃自己硕得

数字IC/FPGA杂货铺,找一找,或许有你想要的~ 3万+

从报错到定位:Memtest86 DQ位算法解析与实践指南

本文深入解析了Memtest86内存测试工具报错信息的解读方法,重点介绍了通过地址解析、数据转换、位比对和DQ定位四步算法,精准锁定故障DQ位的实践流程。文章以DDR4和DDR5为例,详细拆解了从十六进制报错到二进制比对的完整步骤,并提供了从单个报错分析到故障模式诊断的进阶指南,帮助用户将抽象的报错信息转化为具体的维修或排查依据。

sre5engineer的博客 486

Xilinx Srio详解&IP核使用

一.简介 RapidIO是由Motorola和Mercury等公司率先倡导的一种高性能、 低引脚数、 基于数据包交换的互连体系结构,是为满足和未来高性能嵌入式系统需求而设计的一种开放式互连技术标准。RapidIO主要应用于嵌入式系统内部互连,支持芯片到芯片、板到板间的通讯,可作为嵌入式设备的背板(Backplane)连接。 RapidIO协议由逻辑层、传输层和物理层构成。逻辑层定义了所有协议和...

Kevin 5402

控制障碍函数(Control Barrier Function,CBF) 一、定义

介绍控制障碍函数

Lyajpunov的博客 2万+

Xilinx SRIO 详解与 IP 核使用指南

Xilinx SRIO 详解与 IP 核使用指南 去发现同类优质开源项目:https://gitcode.com/ 本仓库提供了一份名为“Xilinx Srio详解&IP核使用.docx”的资源文件,该文件详细介绍了Xilinx的SRIO(Serial RapidIO)技术及其IP核的使用方法。 资源文件内容概述 SRIO 技术详解:文件首先对SRIO技术进行了深入的解析,帮助读者理解...

gitblog_06659的博客 498

LinuxMint 22.1(Ubuntu24.04)下通过Wine完美运行同花顺远航版的实战指南

本文详细介绍了在LinuxMint 22.1(Ubuntu24.04)系统下通过Wine完美运行同花顺远航版的实战指南。从基础环境准备到深度优化,包括Wine环境配置、同花顺远航版安装、字体显示调优、任务栏兼容性修复等关键步骤,帮助Linux用户高效使用同花顺远航版进行股票交易和行情分析。

weixin_30919429的博客 571

UniRx之基本语法格式

想要更好的去学习UniRx,我们最好是先理解UniRx 的语法格式。就像我们去学习英语或者汉语一样,理解了基本的语法规则后,再学其他的就信手拈来了。

TxNet 924

SRIO学习笔记之SRIO简介与Xilinx SRIO ip核例程详解

目录 1. 概述 2. 参考文件 3. SRIO协议介绍 3.1 SRIO的数据流 3.2 SRIO的数据协议 3.3 SRIO常用FPGA支持的模式 3.4 SRIO例程代码的时钟计算 4. SRIO的例程代码结构 4.1 SRIO发送模块详解 4.1.1 发送数据部分代码功能说明 4.1.2 接收响应部分的代码功能详解 4.2 SRIO接收模块详解 4.2.1 接收数据部分的代码功能说明 4.2.2 发送响应部分的代码功能说明 5. 疑点 疑点1: 疑点2: 1. 概

yundanfengqing_nuc的专栏 1万+

vue2/3 - 【超详细】最新网站接入使用支付宝支付功能,点击支付跳转新页面后生成订单及支付二维码,实现支付宝在线付款详细的教程(整个支付的完整配置及支付流程,一键复制源码开箱即用)!

vue支付宝付款,vue支付宝支付,vue如何实现支付宝在线付款,vue网页pc项目接入支付宝支付,vue支付宝支付详细教程,vue2支付宝在线支付的详细示例代码,vue如何做支付宝付款,vue怎么实现支付宝的付款功能,vue调用支付宝进行付款支付,vue PC项目实现 支付宝支付,vue h5页面调用支付宝支付,vue页面唤起支付宝支付功能,vue支付宝支付跳转到新页面,vue如何跳转新开一页展示支付宝二维码支付,vue怎么新开页面进行支付宝在线支付,vue新页面支付宝支付功能,前端vue支付宝支付教程,

✅ 精选推荐文章 5729

RapidIO、SelectIO、Serdes、GT、Aurora、GTX、LVDS介绍

包括GTX、GTH、GTP,是Xilinx在高速Serdes基础上,增加了其它模块,如8b/10b编码等形成的一个高速串行收发器,GT是Gigabit Transceiver的意思,它是实现当下一些高速串行接口的基础,如:PCIE、RapidIO等。总结起来,GTX收发器是具体的硬件器件实现,而Aurora协议是一种基于该硬件的数据传输协议,Aurora协议和GTX收发器结合使用,通过GTX提供的高性能物理接口来实现XILINX fpga之间的高速,可靠数据传输。串行/解串器,也可以叫串行收发器。

m0_58878876的博客 1万+

【Ranger】mac下Apache Ranger编译安装

a、编译过程中出现测试用例不通过和文件认证错误错误:带上参数-DskipTests=true -Drat.skip=true 重新编译;b、若编译过程中出现缺少jar包的情况,可能下载不了,需要手动自动添加;c、编译所需的其他工具如maven等安装配置略。采用这个会报错,因此我才用了下面一个命令。初始化设置Ranger Admin:执行。然后进入target目录。

九师兄 2103

在最新版eclipse中配置使用AI AIcoder _AIcoder配置GPUSTACK使用_配置OLLAMA本地AI模型利用_集合---AI场景应用工作笔记

本文介绍了三款实用的编程辅助工具:一款便捷的反编译插件,可直接在插件市场安装使用;GitHub Copilot提供每月2000次代码补全和50条聊天记录的免费额度,支持智能代码提示功能;aicoder支持配置本地模型运行。这些工具都能有效提升开发效率,其中GitHub Copilot的智能补全功能尤为突出。

添柴程序猿的专栏 1240

SRIO IP介绍 (一) SRIO IP概述

RapidIO互连架构旨在与最流行的集成通信处理器、主机处理器和网络数字信号处理器兼容,是一种高性能的分组交换互连技术。它满足了高性能嵌入式行业对系统内互连的可靠性、更高带宽和更快总线速度的需求。SRIO Gen 2终端支持1x、2x和4x通道宽度,支持1.25、2.5、3.125、5.0和6.25 Gbaud的每通道速度。RapidIO标准分为三层:逻辑层、传输层和物理层。逻辑层定义整个协议和数据包格式。这是端点发起和完成事务所必需的信息。传输层提供数据包从一个端点移动到另一个端点所需的路由信息。

duhiei的博客 6459

java技术专家【面试】Java程序员英语面试整个流程

java技术专家【面试】Java程序员英语面试整个流程

大壮 754

【高速接口-RapidIO】1、RapidIO协议概述

一、RapidIO背景介绍 RapidIO是由Motorola和Mercury等公司率先倡导的一种高性能、 低引脚数、 基于数据包交换的互连体系结构,是为满足和未来高性能嵌入式系统需求而设计的一种开放式互连技术标准。RapidIO主要应用于嵌入式系统内部互连,支持芯片到芯片、板到板间的通讯,可作为嵌入式设备的背板(Backplane)连接。   RapidI0采用三层分级体系结构...

weixin_30301449的博客 3577

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

SRIO & RapidIO 笔记

host cpu 中的 RapidIO 驱动进行枚举;host 配置路由表,建立最佳路径路由;host 映射存储空间给每一个 RapidIO 端点;主机器件:host cpu 端点器件,初始化时器件ID配置为 0x00;引导代码器件(可以不考虑):保存 cpu 系统镜像的 rapidIO 端点器件, 初始化时器件 ID 配置为 0xFE;既非主机器件也非引导代码器件:初始化时器件 ID 配置为 0xFF;RapidIO 驱动初始化执行完成之后,每一个器件都会拥有唯一的器件 ID 值。

尝尝你工人爷爷的铁拳 2922

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

基于FPGA的SRIO的相关介绍和实现

关于srio的基本认识及相关协议介绍;

weixin_50835177的博客 5991

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

简要讲解Xilinx SRIO IP(高速收发器二十八)

本文概述了串行RapidIO(SRIO)技术,一种基于SERDES的高速串行总线,相较于传统并行总线在高速传输中具有优势。SRIO通过CRC和8B10B编码确保数据可靠性,并采用CDR技术进行时钟恢复。Xilinx提供的SRIO IP核支持1至4通道,建立在GT收发器之上,包含逻辑层、BUFFER层和PHY层。逻辑层支持多种事务类型和数据包格式。

详解FPGA及硬件电路开发 7362

史上最详细SRIO介绍及使用

2个开发板进行回环:每个板子都调用1个SRIO IP核,板内部通过SRIO用户接口以AXI4-stream形式与数据模块进行交互,两板之间通过高速收发器进行传输,通过SRIO选择的lane的个数(1x、2x、4x),使用对应个数的高速收发器进行传输。主要有8bit的ID、4bit的FTYPE和4bit的TTYPE共同决定了它的事务类型、8bit的净荷量(0-255字节)、34bit的地址,剩下还有3bit的保留位,1bit响应,2bit优先级。

2302_81858582的博客 1万+

RapidIO介绍

RapidIO:这是最初的技术名称,指的是一种高性能、低延迟的互连技术。SRIO:这是Serial RapidIO的缩写,强调了RapidIO技术的串行传输特性。DSP6678支持的速率最快为5GHz,以及xlinx7系列的fpga,ip核支持6.25GbpsF Type和T Type的组合决定了 RapidIO 包的具体类型和用途。不同的F Type值对应不同的包格式,而T Type值则进一步细化了具体的事务类型。这些字段的合理使用有助于确保数据在 RapidIO 网络中的正确传输和处理。

dc爱傲雪和技术 2965

SRIO传输协议学习

本文仅为翻译手册,留以自己查看,若需要深入交流,可以在个人分类中查找解析与实践内容(可能未发布),或与作者联系 概述 SRIO KeyStone设备中使用的RapidIO外设称为串行RapidIO(SRIO) RapidIO是一种非专有的高带宽系统级互连。它是一种分组交换互连,主要用作以每秒千兆字节性能级别进行芯片到芯片和板对板通信的系统内接口。该架构可用于连接的微处理器,内存和内存映射...

5万+
上一篇: FPGA访问SRAM
下一篇: FPGA构造spi时序——AD7176为例
fzhykx
博客等级 码龄9年 458粉丝 17原创
评论 10
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值