【FPGA】SRIO IP核系统介绍之事务类型(Transaction)

举报
李锐博恩 发表于 2021/07/15 02:16:19 2021/07/15
【摘要】 RapidIO规范定义了几种事务类型。 每种事务类型执行不同的功能。 IP核的事务支持是通过Vivado®集成设计环境(IDE)设置的。 表3-1列出了已定义的事务类型,并指示事务所属的LOG端口。 如果事务不是表3-1中定义的事务,或者在Vivado IDE中未启用对事务的支持,则认为该事务不受支持。 如果不支持接收的事务,则它将显示在用户定义的端口上。 如果用户定义的端...

RapidIO规范定义了几种事务类型。 每种事务类型执行不同的功能。 IP核的事务支持是通过Vivado®集成设计环境(IDE)设置的。

表3-1列出了已定义的事务类型,并指示事务所属的LOG端口。 如果事务不是表3-1中定义的事务,或者在Vivado IDE中未启用对事务的支持,则认为该事务不受支持。 如果不支持接收的事务,则它将显示在用户定义的端口上。 如果用户定义的端口不存在,则在IP核内丢弃事务并且使能port_decode_error信号。

下标列出了IP核支持的全部事务类型:

下面节选一段话来说明事务类型是如何确定的:(基于SRIO协议设计和实现了DSP与FPGA之间的高速数据通信

SRIO初始化完成后,通过DSP对SRIO端口的读写操作实现和FPGA之间的数据传输。DSP读写支持的操作通过数据包格式中的Ftype和Ttype两个字段描述,I/O逻辑操作是简单实用的传输方式,使用该模式的前提是主设备要知道被访问端的存储器映射,可以直接读写从设备的存储器。I/O逻辑操作在被访问端的功能往往完全由硬件实现,所以被访问的器件不会有任何软件负担。下表所列为I/O操作的几种事务类型。本文使用的读操作事务是NREAD。在3种写操作事务中:NWRITE_R是带响应的写操作,效率较低;SWRITE要求数据载荷长度在8~256字节之间,且为8字节的整数倍。因此本文采用NWRITE写操作,配置简单且易于实现。

FPGAåDSPé´åºäºSRIOçé«ééä¿¡ç³»ç»è®¾è®¡

从这段话可以知道,DSP读写支持的事务类型由数据包格式中的Ftype和Ttype两个字段决定,当然对于FPGA也是一样。

到此,我们节选几个比较重要的事务类型来解释下:

NREAD

Basic read request transaction. Request does not have a data payload. Results in a response with data.

这是一个基本的读请求事务,请求当然不必携带数据(只读而已),但响应结果应该带有数据。

这里的payload为数据包中的数据所在之处。

为了更清楚地认识数据包的格式,给出示意图:

 

NWRITE

Basic write operation. Request has a data payload. Does not result in a response.

基本写操作。 请求具有数据有效负载。 不会导致回复(无需响应)。

NWRITE_R 

Basic write operation. Request has a data payload. Results in a response with no data.

基本写操作。 请求具有数据有效负载。 响应中无数据负载。

SWRITE 

Streaming write operation (uses less header fields than NWRITE). Request has a data payload. Does not result in a response.

流写入操作(使用比NWRITE少的头字段)。 请求具有数据有效负载。 不会导致回复。

DOORBELL

Very short message between processing elements. Request has no data payload. Results in a response with no data.

处理元素之间很短的消息,请求没有数据有效负载,响应也没有数据有效负载。

MESSAGE

Messaging operation – typically used by processors in distributed memory system machines. Message packets always have a data payload.

消息传递操作 - 通常由分布式存储器系统机器中的处理器使用。 消息包始终具有数据有效负载。

ATOMIC with no payload

Read-modify-write operation. Request does not have a data payload. Results in a response with data.

读 - 修改 - 写操作。 请求没有数据有效负载。 响应带有有效数据负载。

下面就不一一赘述了。

 

 

 

 

 

 

文章来源: reborn.blog.csdn.net,作者:李锐博恩,版权归原作者所有,如需转载,请联系作者。

原文链接:reborn.blog.csdn.net/article/details/91354209

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

举报
请填写举报理由
0/200