响应信号
本章描述了 AXI 读写事务中的四个从响应。 它包含以下部分:
- 关于响应信令
- 响应类型
7.1 关于响应信号
AXI 协议允许读取和写入事务的响应信号。 对于读取事务,来自Slave的响应信息与读取数据本身一起传递,但是对于写入,响应信息沿写入响应通道传送。
AXI 协议响应为:
- OKAY
- EXOKAY
- SLVERR
- DECERR
表 7-1 显示了 RRESP[1:0] 和 BRESP[1:0] 信号的编码。
对于写事务,整个突发只给出一个响应,而不是突发内的每个数据传输。(一个突发一个响应,而不是突发中每个数据每个响应)
在读事务中,Slave可以对突发内的不同传输给出不同的响应。 例如,在 16 次读取传输的突发中,Slave可能会为 15 次传输返回 OKAY 响应,并为其中一次传输返回 SLVERR 响应。
该协议定义了必须执行所需数量的数据传输,即使报告了错误。 例如,如果从Slave请求读取 8 次传输,但Slave有错误情况,则Slave必须执行 8 次数据传输,每次传输都有错误响应。 如果Slave给出单个错误响应,则不会取消突发的剩余部分。
该协议对可以发出多个未完成地址并且还必须支持精确错误信号的Master施加了限制。 这样的Master必须能够处理较早传输的错误响应,而较晚的传输已经在进行中。
7.2 响应类型
本节介绍四种 AXI 协议响应类型:
- 正常访问成功
- 独占访问
- Slave错误
- 解码错误
7.2.1 正常访问成功
OKAY 响应表明:
- 正常访问成功
- 独占访问失败
- 对不支持独占访问的Slave独占访问
OKAY 是大多数事务的响应。
7.2.2 独占访问
EXOKAY 响应指示独占访问成功。
7.2.3 Slave 错误
SLVERR 响应指示不成功的事务。 Slave错误条件的示例是:
- FIFO/缓冲区溢出或欠载情况
- 尝试的传输大小不受支持
- 尝试对只读位置进行写访问
- Slave超时条件
- 尝试访问不存在寄存器的地址
- 尝试访问禁用或关闭的功能
为了简化系统监控和调试,建议错误响应仅用于错误条件,而不是用于发出正常、预期事件的信号。
7.2.4 译码错误
在没有完全解码地址映射的系统中,可能存在没有Slave响应事务的地址。 在这样的系统中,互连必须提供合适的错误响应以将访问标记为非法,并防止系统通过尝试访问不存在的Slave而锁定。
当互连无法成功解码Slave访问时,它会有效地将访问路由到默认Slave,并且默认Slave返回 DECERR 响应。
一个实现选择是让默认Slave也记录解码错误的详细信息,以便以后确定错误是如何发生的。 这样,默认Master可以大大简化调试过程。文章来源:https://www.toymoban.com/news/detail-596055.html
响应。
一个实现选择是让默认Slave也记录解码错误的详细信息,以便以后确定错误是如何发生的。 这样,默认Master可以大大简化调试过程。
AXI 协议要求完成事务的所有数据传输,即使出现错误情况也是如此。 因此,任何提供 DECERR 响应的组件都必须满足此要求。文章来源地址https://www.toymoban.com/news/detail-596055.html
到了这里,关于AXI协议详解(7)-响应信号的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!