AXI4-Lite小记

发布时间 2023-07-19 00:39:38作者: NOSAE

定义

AXI4-Lite的主要特性:

  • 突发传送长度为1,即AxLEN=1
  • 传输数据大小与数据总线宽度相等,即没有窄传输,支持32或64位宽度数据总线
  • 所有的存取都是non-modifiable、non-bufferable的
  • 不支持独占访问

信号一览

由于AXI4-Lite是用于简单的register-style控制接口,很多功能都被阉割了,比如缓存、原子操作、突发传输等,因此同时阉割了很多用于支持这些功能的信号。以下是AXI4-Lite接口信号:

image-20230718183100152

其中RRESP和BRESP两个信号在AXI4-Lite中不支持EXOKAY

总线宽度

数据总线宽度是固定的32或64位,传输数据大小与数据总线宽度相等,即不允许窄传输。对于总线宽度的选择应用如下规则:

  • 一般的组件使用32位
  • 只有支持64位原子操作的组件才使用64位的总线宽度

32位主机可以访问64位组件,但是必须保证所有传输对组件来说都是64位的传输事务,即组件对32位的访问是无感知的,只知道自己是传输64位的数据

写strobe

AXI4-Lite支持WSTRB,从机可以使用WSTRB、忽略WSTRB、检测不支持的WSTRB并且响应错误。如果从机支持内存访问的话不能忽略WSTRB,如果是内存映射的话可以按照实际需求加些使用上的限制。

可选信号

AXI4-Lite支持多个未处理的事务(outstanding transactions),当然从机也可以根据实际需求通过握手信号来作出限制。

AXI4-Lite不支持AXI IDs,因此所有的事务都必须是按序处理的,所有事务都使用同一个ID,换句话说AXI4-Lite不支持乱序事务。

虽然AXI4-Lite明确不支持乱序事务,但从机可以实现成支持AXI ID,这样这个从机设备既可以工作在AXI4-Lite下也可以工作在AXI4。

互操作性(interoperability)

这部分介绍AXI与AXI4-Lite互连时的兼容性

image-20230719002106589

可以看到只有第二种情况需要一些特殊处理,由于本人暂时不考虑两种协议兼容的情况,因此简单总结一下,有两种方案:

  • 当传输的数据不能兼容的时候,需要用其他手段去转换数据或者说适配。具体查看文档B1的后面几个小节,看了一眼B1后面几乎全是介绍conversion的了。
  • 当AXI4主机保证传输的数据可以兼容AXI4-Lite的时候,AXI4-Lite从机直连即可。