数据总线
本章描述了 AXI 读写数据总线上不同大小的传输,以及接口如何使用字节不变字节序来处理混合字节序传输。
它包含以下部分:
- 数据总线
- 写选通
- 窄传输
- 字节不变性
9.1 关于数据总线
AXI协议有两条独立的数据总线,一条用于读数据,一条用于写数据。 因为这些数据总线有自己独立的握手信号,所以有可能同时在两条总线上进行数据传输。
Master产生的每个传输必须与传输的数据总线宽度相同或更窄。
9.2 写选通
写选通信号 WSTRB 可以使能写数据总线上的稀疏数据传输。 每个写选通信号对应写数据总线的一个字节。 置位时,写选通指示数据总线的相应字节通道包含要在内存中更新的有效信息。
写数据总线的每8位有一个写选通,所以WSTRB[n]对应WDATA[(8×n)+7:(8×n)]。 图 9-1 显示了 64 位数据总线上的这种关系。
Master必须确保写选通仅针对可以包含由事务的控制信息确定的有效数据的字节通道。
9.3 窄传输
当Master产生比其数据总线窄的传输时,地址和控制信息决定传输使用哪些字节通道。 在递增或回环突发时,不同的字节通道在突发的每个节拍上传输数据。 在固定突发中,地址保持不变,可以使用的字节通道也保持不变。
图 9-2 和图 9-3 给出了两个字节通道使用示例。
在图 9-2 中:
- 突发有五次传输
- 起始地址为 0
- 每次传输为八位
- 传输在 32 位总线上进行
在图 9-3 中:
• 突发具有三个传输
• 起始地址为 4
• 每次传输都是 32 位
• 传输在 64 位总线上进行。
9.4 字节不变性
为了访问保存在同一内存空间中的混合端数据结构,AXI 协议使用字节不变端方案。
字节不变的字节序意味着到给定地址的字节传输会将相同数据总线上的八位数据传递到相同的地址位置。
只有一种传输宽度的组件必须将其字节通道连接到数据总线的相应字节通道。支持多种传输宽度的组件可能需要更复杂的接口来转换不是自然字节不变的接口。
大多数小端组件可以直接连接到字节不变的接口。仅支持大端传输的组件需要一个用于字节不变操作的转换函数。
图 9-4 是一个需要字节不变访问的数据结构示例。标头信息(例如源和目标标识符)可能采用小端格式,但有效负载是大端字节流。
文章来源:https://www.toymoban.com/news/detail-441435.html
字节不变性确保对部分标头信息的小端访问不会破坏结构中的其他大端数据。文章来源地址https://www.toymoban.com/news/detail-441435.html
到了这里,关于AXI协议详解(9)-数据总线的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!