AXI事务构造(3)---读写响应事务构造

AXI 协议为读写事务都提供了响应信号:

  • 对于读事务,slave在读数据通道上示意响应信息。
  • 对于写事务,在写响应通道上示意响应信息。

响应由以下信号表示:

  • 读传输的 RRESP[1:0]
  • 写传输的 BRESP[1:0]

响应类型包括:

  • OKAY    正常的访问成功。表示正常访问已成功,也可以表示独占访问失败。

  • EXOKAY   独占访问成功。表示独占访问的读写部分已成功。

  • SLVERR   从设备错误。当访问已成功到达从设备,但从设备希望向原始主设备返回错误条件时使用。

  • DECERR   解码错误。通常由互连组件生成,表示在事务地址处没有从设备。

下表显示了 RRESP 和 BRESP 信号的编码对应的响应类型。

RRESP[1:0]BRESP[1:0]响应
0b000b00OKAY
0b010b01EXOKAY
0b100b10SLVERR
0b110b11DECERR

对于写事务,整个突发只起一个响应信号,而不是突发内每次数据传输都起一个响应。

在读事务中,slave可以为一次突发中的不同传输发出不同的响应。例如,在 16 次读传输的突发中,从设备可能对 15 次传输返回 OKAY 响应,而对其中 1 次传输返回 SLVERR 响应。

协议规定,即使报告了错误,也必须执行所需数量的数据传输。例如,如果从slave请求 8 次传输的读取,但该slave有错误条件,slave必须执行 8 次数据传输,每次都带有错误响应。如果slave给出单个错误响应,不会取消突发的其余部分。

1. OKAY,正常访问成功

OKAY 响应指示以下任何一种情况:

  • 正常访问的成功
  • 独占访问的失败
  • 对于不支持独占访问的从设备进行的独占访问

OKAY 是大多数事务的响应。

2. EXOKAY,独占访问成功

EXOKAY 响应表示独占访问的成功。

3. SLVERR,从设备错误

SLVERR 响应表示事务未能成功完成。

为了简化系统监控和调试,本规范建议错误响应仅用于错误条件,而不是用于信号正常的、预期的事件。从设备错误条件的示例包括:

  • FIFO(先进先出队列)或缓冲器溢出或下溢条件。
  • 尝试的传输大小不受支持。
  • 对只读位置尝试写访问。
  • 从设备中的超时条件。
  • 对已禁用或已关闭电源的函数尝试访问。

4. DECERR,解码错误

DECERR 响应表示互连无法成功解码从设备的访问。 如果互连无法成功解码从设备的访问,它必须返回 DECERR 响应。本规范建议互连将访问路由到默认的从设备,并且默认从设备返回 DECERR 响应。

AXI 协议要求即使出现错误条件,事务的所有数据传输也必须完成。提供 DECERR 响应的任何组件都必须满足这一要求。

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值