logo资料库

ARM AXI协议规范 中文.pdf

第1页 / 共13页
第2页 / 共13页
第3页 / 共13页
第4页 / 共13页
第5页 / 共13页
第6页 / 共13页
第7页 / 共13页
第8页 / 共13页
资料共13页,剩余部分请下载后查看
1.1 AXI 协议简介 AMBA AXI 协议以高性能,高频系统设计为目标,提供了很多适合高速亚微型系统 互连的特征。 最新的 AMBA 接口的目标是: 适合高带宽、低延迟的设计 不使用复杂桥的情况下能够进行高频的操作 适应多部件的接口要求 适合高初始访问延迟的访问控制器 为互联结构实现提供灵活性 后向兼容现存的 AHB 和 APB 接口 AXI 协议的关键特征有: 分离的地址/控制和数据通道 采用字节选通的方式支持不对齐数据的传输 基于 burst 交易的数据传输,主机只需提供首地址 分离的读写数据通道,能支持低功耗的 DMA 支持 outstanding 交易 支持乱序交易 易于通过添加寄存器达到时序收敛 除了数据传输协议,AXI 协议还提供可选扩展支持低功耗操作。 1.2 通道结构 AXI 协议是基于 burst 的,每个交易都包括一些地址和控制信息描述了需要传输的 数据的特征,这些地址和控制信息被放在地址通道上。数据在主设备和从设备之间传输, 主设备通过写数据通道写数据到从设备,通过读数据通道从从设备读取数据。写交易中, 所有数据流从主设备流向从设备,AXI 协议提供一个额外的写响应通道,用于从设备通 知主设备写交易完成。 AXI 协议可以实现: 在实际的数据传输之前发出地址信息 支持多个 outstanding 交易 支持乱序交易 图 1-1 所示为一次读交易是如何使用读地址和读数据通道的。 1
图 1-2 所示为一次写交易是如何使用写地址、写数据和写响应通道的。 图 1-1 读通道结构 图 1-2 写通道结构 五个独立的通道都包含一组标记信息的信号,并且使用双向的 VALID 和 READY 信号实现握手机制。 源设备使用 VALID 信号标志通道上的数据合法和控制信息可用,目的设备使用 READY 信号标志可以接收数据。读数据和写数据通道都包含一个 LAST 信号标志一次 交易中最后一个数据传输。 读地址和写地址通道 读交易和写交易都有各自的地址通道,地址通道包含了所有一次交易的所需地 址和控制信息。AXI 协议支持以下机制: 可变长度 burst,每个 burst 的长度可以为 1-16 拍 每拍数据宽度支持 8-1024bits 地址卷回、地址递增和地址固定的 burst 通过独占交易和锁定交易实现原子操作 2
系统级的缓存和缓冲控制 安全访问和特权访问 读数据通道 读数据通道用于传输从从设备返回给主设备的读数据和读响应信息。读数据通 道包含: 数据总线,宽度可以为 8,16,32,64,128,256,512 或 1024bits 读响应标志了读交易完成的信息 写数据通道 写数据通道负责从主设备向从设备传输写数据,其包含: 数据总线,宽度可以为 8,16,32,64,128,256,512 或 1024bits 每 8 个 bit 一个字节选通位,标志总线上的哪个字节可用 写数据通道的信息通常要加缓冲器,以使主设备可以在没有得到从设备先前写交易 确认的情况下继续进行新的写交易。 写响应通道 写响应通道为从设备返回写交易响应的通道。所有的写交易结束都返回完成信 号。 不是每个 beat 返回一个完成信号,而是每个 burst 完成后一起返回一个完成信号。 1.3 基本交易 本部分给出基于 AXI 协议的基本交易的示例。每个示例都使用了 VALID 和 READY 握手机制。地址信息及数据的传输都是在 VALID 和 READY 信号同时为高的时候传输。 示例下面几部分介绍: 1.3.1 读 burst 示例 1.3.2 连续的读 burst 示例 1.3.3 写 burst 示例 本部分也介绍了交易顺序。 1.3.1 读 burst 示例 图 1-4 为一个 4 拍的读 burst 交易的时序图。在这个例子中,主设备发送地址,一 个周期后从设备接收。 主设备在发送地址的同时也发送了一些控制信息标志了 burst 的程度和类型,为了 保持图的清晰性,在此省略这些信号。 地址总线上出现地址之后,在读数据通道上发生数据的传输。从设备一直保持 3
VALID 信号为低,直到读数据准备好。从设备发送 RLAST 信号标志此次 burst 交易中 最后一个数据的传输。 图 1-4 读 burst 交易 1.3.2 连续读 burst 示例 图 1-5 为主设备在从设备接收第一个 burst 交易的地址后发送另一个 burst 交易的地 址的时序图。这样可以保证一个从设备在完成第一个 burst 交易的同时可以开始处理第 二个 burst 交易的数据。 图 1-5 连续读 burst 交易 1.3.3 写 burst 示例 图 1-6 为一次写交易的时序图。当主设备发送地址和控制信息到写地址通道之后, 交易过程开始。然后主设备通过写数据通道发送每一个写数据,当为最后一个需要发送 的数据时,主设备将 WLAST 信号置高。当从设备接收完所有的数据时,从设备返回给 主设备一个写响应标志本次写交易的结束。 4
图 1-6 写 burst 交易 1.3.4 交易顺序 AXI 协议支持交易乱序完成。它给通过 AXI 总线发送的交易分配一个 ID 标签。协 议要求相同 ID 的交易按顺序完成,而对不同 ID 的交易没有顺序限制,可以乱序完成。 乱序交易可以在两个方面提高系统系能: 互连设备可以使快速响应的从设备交易完成早于较慢速度的从设备 复杂的从设备可以乱序返回读数据。例如,较晚访问的数据可能因为来自内部 缓冲器而比先前访问的数据更早获得。 如果以个主设备要求交易完成的顺序要按照发送的顺序,则那些交易要使用相同的 ID 标签。但是若主设备不要求按顺序完成交易,则可以为不同的交易分配不同的 ID, 可以按任何顺序完成交易。 在一个多主设备的系统中,互连设备负责给 ID 添加额外信息保证从所有主设备而 来的 ID 标签是唯一的。ID 就像一个主设备号码,但通过扩展可以使得每个主设备可以 通过提供 ID,访问同一个接口,就像是好多虚拟的主设备一样。 虽然复杂的装置可以利用乱序,但是简单的装置不要求使用。简单的主设备可以为 每个交易分配相同的 ID,简单的从设备可以按序响应交易,不用管 ID。 3.1 握手过程 所有五个通道使用相同的 VALID/READY 握手来传输数据和控制信息。这中双向的 流控制机制可以使得主设备和从设备都可以控制数据和控制信息的传输速率。源设备产 生 VALID 信号标志数据和控制信息有效。目的设备产生 READY 信号标志可以接收数 据和控制信息。只有当 VALID 和 READY 同时为高时,传输进行。 5
不管主设备接口还是从设备接口,在输入和输出信号之间不允许有组合路径。 图 3-1 到图 3-3 为握手时序图。图 3-1 中,源设备发出数据和控制信息同时将 VALID 信号拉高,数据和控制信息一直稳定,直到目的设备可以接收数据和控制信息将 READY 信号拉高时。箭头指示了传输开始的时刻。 图 3-1 VALID 信号早于 READY 信号 图 3-2 中,目的设备将 READY 信号拉高早于数据和控制信号有效。这表示目的设 备可以在 VALID 信号有效后的一个周期内接收数据和控制信息。箭头指示了传输开始 的时刻。 图 3-2 READY 信号早于 VALID 信号 图 3-3 中,源设备和目的设备恰好在同一个周期内可以进行数据和控制信息的传输。 这种情况下,传输会立即进行。箭头指示了传输开始的时刻。 图 3-3 VALID 信号与 READY 信号同时 3.1.1 写地址通道 主设备只有当它发送合法的地址和控制信息的情况下将 AWVALID 信号置为有效, 并且必须保持有效直到从设备接收了地址和控制信息并且返回 AWREADY 信号。 AWREADY 的默认值可以为高,也可以为低。推荐设置为高,尽管这样从设备必须 能在任何合法地址发来的时候予以接收。 AWREADY 的默认值可以为低,但不推荐,因为这样传输至少花费两个周期,一个 6
置高 AWVALID,一个置高 AWREADY。 3.1.2 写数据通道 在一个写 burst 交易中,主设备只有当发送合法地址的时候将 WVALID 信号置为有 效,并且必须保持有效知道从设备接收了写数据并且返回 WREADY 信号。 只有从设备总能在一个周期内接收写数据,WREADY 的默认值可以设置为高。 主设备必须发送 WLAST 信号标志一次写 burst 交易中最后一拍数据传输。 当 WVALID 为低时,WSTRB[3:0]信号可以为任何值,但推荐这个信号置为低或保 持原值。 3.1.3 写响应通道 当写响应有效时,从设备将 BVALID 信号置为有效,并且保持有效直到主设备接收 响应并且返回 BREADY 信号。 只有主设备总能在一个周期内接收写响应,BREADY 的默认值可以设置为高。 3.1.4 读地址通道 主设备只有当它发送合法的地址和控制信息的情况下将 ARVALID 信号置为有效, 并且必须保持有效直到从设备接收了地址和控制信息并且返回 ARREADY 信号。 ARREADY 的默认值可以为高,也可以为低。推荐设置为高,尽管这样从设备必须 能在任何合法地址发来的时候予以接收。 ARREADY 的默认值可以为低,但不推荐,因为这样传输至少花费两个周期,一个 置高 ARVALID,一个置高 ARREADY。 3.1.5 读数据通道 在一次读交易中,只有当从设备数据有效时,从设备将 RVALID 信号置为有效,并 且一直保持有效直到主设备接收数据并且返回 RREADY 信号。即使一个从设备只有一 个读数据,它也必须响应对此数据的访问,将 RVALID 信号置为有效。 主设备使用 RREADY 信号标志可以接收数据。RREADY 的默认值可以设置为高, 但是只有在主设备无论何时进行读交易时都可以立即接收数据的情况下。 从设备必须发送 RLAST 信号标志一次读 burst 交易中最后一拍数据的传输。 3.2 通道之间的关系 地址通道、读数据通道、写数据通道和写响应通道的关系是灵活的。 7
例如,写数据可以在相关的写地址之前出现在总线接口上。当写地址通道包含较多 的寄存器级数多于写地址通道时,会出现这种情况。写数据也可以与相关的写地址同时 有效。 当必须确定目的地址空间或者从设备空间时,互连设备必须重新对齐地址和写数 据。为了确保写数据只相对于其要写入的从设备是有效的,这样做是必要的。 两种关系必须满足: 读数据必须在其相关的地址之后 写响应必须在其相关写交易最后一拍数据写完之后 3.3 通道握手信号的依赖关系 为了防止发生死锁,必须重视握手信号之间的依赖关系。 任何交易中: 一个 AXI 模块的 VALID 信号不能依赖于另一个模块的 READY 信号 READY 信号可以等 VALID 信号 可以在发送 VALID 信号之后发送 READY,也可以在发送 VALID 信号之前将 READY 信号置为默认值,这样做可以得到更高效的设计。. 图 3-4 和图 3-5 为各握手信号之间的依赖关系图。一个箭头表示箭头两端的信号先 后没有规定。双箭头表示箭头指向的信号只能在箭头前的信号之后。 图 3-4 为一次读交易中: 从设备可以在 ARVALID 之后发送 ARREADY 从 设 备 在 置 RVALID 信 号 有 效 返 回 读 数 据 之 前 必 须 等 待 ARVALID 和 ARREADY 信号有效之后。 图 3-4 读交易中握手信号的依赖关系 图 3-5 为一次写交易中: 主设备发送 AWVALID 和 WVALID 信号前不等从设备发送 AWREADY 和 WREADY 从设备可以在发送 AWREADY 信号之前等 AWVALID 或者 WVALID,或两者 一起 8
分享到:
收藏