前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >RapidIO维护操作与包格式

RapidIO维护操作与包格式

作者头像
数字芯片社区
发布2020-09-03 17:08:40
1.2K0
发布2020-09-03 17:08:40
举报
文章被收录于专栏:数字芯片数字芯片

第8类事务维护事务用于访问 RapidIO能力寄存器(CARs,Capability Registers)、命令和状态奇存器( CSRs,Command and Status Register) ,本地定义的寄存器(Locally-Refined Registers)以及数据结构(Data Structures)。与其他的请求格式不同,维护操作的请求和响应包格式都是第8类包格式。第8 类包不含地址字段,只含写请求和读响应的数据载荷。

  WRSIZE字段规定了多双字事务数据载荷的最大长度。数据载荷的长度不能超过这个最大长度,但是如果需要的话,可以比这个最大长度小。维护读请求和维护请求都产生正确的维护响应 。

  维护事务的请求包格式如下图所示

  维护事务的响应包格式如下图所示

  维护事务包格式中逻辑层各个字段(Hopcount字段不属于逻辑层,下表同样列出它的含义)的含义如下表所示

字段

含义

Ftype

8

第8类事务代表维护类事务,维护类事务中这个字段固定为8

Ttype

4’b0000

指定一个维护读请求

4’b0001

指定一个维护写请求

4’b0010

指定一个维护读响应

4’b0011

指定一个维护写响应

4’b0100

指定一个维护写端口请求

4’b0101~4’b1111

保留

Hopcount

跳数是一个8-bit字段,用于确定维护事务的目标交换器件。RapidIO交换器件没有器件ID,跳数是可供选择的寻址交换器件机制

Config Offset

用于读写CAR/CSR寄存器的双字偏移量

Src TID

维护请求包的事务ID

Target TID

维护响应包的事务ID

Status

4’b0000

DONE状态:表明请求的事务成功完成

4’b0001~4’b0110

保留

4’b0111

ERROR状态:检查到不可恢复的错误

4’b1000~4’b1011

保留

4’b1100~4’b1111

用户定义

维护操作由维护请求事务和维护响应事务组成,处理器可以通过这类事务访问CARs/CSRs等寄存器中的数据。如果发起的维护请求事务需要一个响应,那么目标方正确处理了维护请求事务以后会给请求方反馈一个维护响应包而不是由NWRITE_R事务或NREAD事务产生的正常响应包。它支持读取配置寄存器的操作执行长度是字(4字节),也可以是双字( 8字节)或设计者自已指定的双字的整数倍长,但执行长度最多不得超过64 字节。所有写配置寄存器的操作的执行长度规定与读操作相同。维护操作的示意图如下图所示

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-08-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数字ICer 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档