跳至正文

AXI4-Lite协议详解


摘要

本文介绍了AXI4-Lite协议的接口信号,包括信号的源、位宽、默认值与功能描述。

关键词:AXI4-Lite写地址写数据写响应读地址读数据


前言

AXI4-Lite是AXI协议的精简版,它适用于不需要AXI4完整功能的简单控制寄存器样式的接口。

相较AXI4,AXI4-Lite协议的特点是:

  • 所有读写交易的突发长度均为1
  • 仅支持32位或64位的数据总线宽度
  • 所有访问都是不可修改的,不可缓冲的
  • 不支持独占访问

一. AXI4-Lite接口信号

AXI4-Lite协议信号较AXI4少了很多,具体信号如下:

AXI4-Lite协议详解-1

1.1 全局信号

信号 描述
ACLK 时钟源 全局时钟信号,所有输入信号均在ACLK上升沿采样,所有输出信号的更改只能在ACLK上升沿之后。主从接口上的所有输入和输出信号间不允许有组合路径
同AXI4
ARESETn 复位源 全局复位信号,为异步复位同步置位信号,即ARESETn在任意时刻变为低电平可立刻生效,但置位为1时只能在ACLK的下一个上升沿生效
同AXI4

1.2 写地址通道

信号 位宽 默认值 描述
AWID(可选,仅但主机是AXI4而从机是AXI-Lite时需要此信号) 当需要和主机的AXI4协议互联时,从机的AXI-Lite协议增加此信号
AWADDR 可变,协议未定义位宽, Xilinx使用12, 13, … 64,一般为32/64 要写入数据的内存地址
同AXI4
AWPORT 3 写事务的保护属性:特权,安全级别和访问类型
提供用于禁止非法传输事务的访问权限信号
同AXI4
AWVALID 1
AWREADY 1

1.2.1 AxPORT

AxPORT共3位,每一位的值代表不同的意义。一般可设置为3‘b000,表示非特权且安全的数据访问。

AxPROT 功能 描述
[0] 0 Unprivileged access 非特权访问 AXI主站可能支持多个级别的操作特权,并将这种特权概念扩展到内存访问。 AxPROT [0]将访问标识为非特权或特权
[0] 1 Privileged access 特权访问
[1] 0 Secure access 安全访问 AXI主站可能支持安全和非安全操作状态,并将这种安全性概念扩展到内存访问。 AxPROT [1]将访问标识为安全或不安全。 AxPROT [1]可以视为定义了两个地址空间,一个安全地址空间和一个非安全地址空间。该信号可被视为附加地址位。安全和非安全地址空间之间的任何别名都必须正确处理。
[1] 1 Non-secure access 非安全访问
[2] 0 Data access 数据访问 该位指示事务是指令访问还是数据访问。 AXI协议将此指示定义为提示。并非在所有情况下都是准确的,例如,当事务包含指令和数据项的混合时。本规范建议主机将AxPROT [2]设置为LOW,以指示数据访问,除非已知该访问是指令访问。
[2] 1 Instruction access 指令访问

1.3 写数据通道

信号 位宽 默认值 描述
WDATA 32/64 要写入的数据,大部分数据总线为32位。32位主机可访问64位丛机,通常使用64位中的低32位作为有效位宽
WSTRB 4/8 全0 写选通,指示哪些字节通道保存有效数据
WSTRB为高表示数据总线的哪一/几字节是有效数据,
具体的WSTRB [n]为高对应于WDATA [(8n+7:8n]这一字节的数据有效
4位对应32位总线,8位对应64位总线
WVALID 1
WREADY 1

1.3.1 WSTRB

AXI4-Lite协议支持写选通。这意味着可以实现多尺寸寄存器,如8位/16位寄存器。

所有的主机接口和与主机互联的元件都必须支持写选通,而从机被允许:

  • 充分利用写选通信号

  • 忽略写选通信号并将所有写访问视为整个数据总线宽度(我的理解:无论写选通信号是多少,都将数据总线上的所有位视为有效位)

  • 检测不支持的写选通信号并提供错误响应,如一个32位从机仅支持低8位写选通,如果WSTRB为4‘b1000表示高8位写选通,则此时从机不支持并报错。

特殊的:提供内存访问的从站必须完全支持写选通。存储器映射中的其他从机可能支持更有限的写选通选项。

1.4 写响应通道

信号 位宽 默认值 描述
BID可选,仅但主机是AXI4而从机是AXI-Lite时需要此信号) 从机接收到AWID,写响应返回BID,主机的AXI4协议需要BID才能识别从机的写响应
BRESP 2 2‘b00 写响应,指示写事务状态
2’b00 OKAY 正常访问成功
2’b01 EXOKAY 无意义,在AXI4中表示独占访问成功,但AXI4-Lite不支持独占访问
2‘b10 SLVERR 从机反映错误
2’b11 DECERR 互连模块无法成功解码从属访问
BVALID 1
BREADY 1

1.5 读地址通道

信号 位宽 默认值 描述
ARID(可选,仅但主机是AXI4而从机是AXI-Lite时需要此信号) 接收主机AXI4协议的ARID
ARADDR 可变,协议未定义位宽, Xilinx使用12, 13, … 64,一般为32/64 要读取的内存地址
同AXI4
ARRPOT 3 写事务的保护属性:特权,安全级别和访问类型
提供用于禁止非法传输事务的访问权限信号,同AWRPOT
同AXI4
ARVALID 1
ARREADY 1

1.6 读数据通道

信号 位宽 默认值 描述
RID(可选,仅但主机是AXI4而从机是AXI-Lite时需要此信号) 从机接收到ARID,读数据返回RID,主机的AXI4协议需要RID才能识别从机的读数据
RDATA 32/64 读数据
RRESP 2 2‘b00 读响应,指示读事务状态,同BRESP
同AXI4
RVALID 1
RREADY 1

二. AXI4与AXI4-Lite的互联

AXI4协议和AXI4-Lite是可以互联的,唯一需要注意的是当主机是AXI4且从机是AXI4-Lite时,从机的AXI4-Lite协议需增加AXI ID信号以匹配主机的AXI ID

AXI4-Lite协议详解-2


如果本文对你有所帮助,欢迎点赞、转发、收藏、评论让更多人看到,赞赏支持就更好了。

如果对文章内容有疑问,请务必清楚描述问题,留言评论或私信告知我,我看到会回复。


徐晓康的博客持续分享高质量硬件、FPGA与嵌入式知识,软件,工具等内容,欢迎大家关注。

0 0 投票数
文章评分
订阅评论
提醒
0 评论
内联反馈
查看所有评论
0
希望看到您的想法,请您发表评论x
目录