一、写在前面
AXI协议相较于UART,SPI,I2C来说,无论是内容还是难度都上了一个层级,放在一篇文章中进行解读未免篇幅过长,因此,有关AXI一些共性的、通用的问题,作者单独以前缀为【AXI】的标题进行小范围的串联,最终再汇总为深入浅出解读AXI协议,与从零开始的Verilog AXI协议设计,此为作者所思所考的推进顺序,单看【AXI】的每一篇,可能很多读者未免感到有些管中窥豹的疑惑,但若等作者更完此专栏再行观看,从头到尾进行阅读,应该就会有有茅塞顿开的收获与领悟。
二、解读AXI协议中的额外信号
2.1 QoS信号(QoS Signaling)
2.1.1QoS信号的意义
QOS信号实际上没有明确的定义,但协议中推荐大家使用QOS信号来展示transaction的优先级,我们在讨论AXI协议的过程中,常常用”Transaction ID相同,顺序执行,Transaction ID不同,乱序执行“来体现AXI协议的执行顺序,增加的QoS信号可以在这句话的基础上进一步指导Transaction的执行顺序,通常情况下,高优先级,QOS信号数值也会大一些。
默认的QoS信号值为0b0000,表示接口未参加QoS优先级排序
因协议对QoS的规定为推荐值,我们也可以用其他的方式解释QoS这组信号
2.1.2 QoS信号列表
很显然,AWQOS是针对于写操作优先级而言的,ARQOS是针对于读操作优先级而言的。
2.2 多区域信号(Multiple region signaling)
2.2.1 REGION信号含义
AXREGION这组信号是配合着AXI协议的地址译码来进行理解的,相当于可以在4Kbyte的标准地址边界外,额外进行更多的地址选择,这个信号存在于读地址通路或写地址通路上,为什么我们需要更多的地址选择呢?这是因为我们希望可以让多片区域共享接口
比如:从设备在不同的位置拥有”主数据路径“和”控制寄存器“我们可以通过REGION信号的不同做切换而不需要decode的帮助
又比如:从设备在不同的区域展示不同的行为, 比如一个从设备可以在某个区域展现读写特性,而在另一个区域仅展现独特性,通过AxREGION进行划分。
2.2.2 REGION信号列表
因为AXREGION共有4bit,因此可以划分出至多16个区域来。
2.3 用户定义信号(User-defined signaling)
2.3.1 User信号含义
User信号在AXI4协议中也没有明确定义,协议中甚至推荐不使用这组信号,因为不同组件User信号之间的连接可能会造成互用性问题。
2.3.2 User信号列表
因为AXI协议对USER信号也没有明确的定义,当然不包括XUSER信号的位宽。
三、其他数字IC基础协议解读
3.1 UART协议
【数字IC】深入浅出理解UART
【数字IC】从零开始的Verilog UART设计
3.2 SPI协议
【数字IC】深入浅出理解SPI协议
【数字IC】从零开始的Verilog SPI设计
3.3 I2C协议
【数字IC】深入浅出理解I2C协议
3.4 AXI协议
【AXI】解读AXI协议双向握手机制的原理
【AXI】解读AXI协议中的burst突发传输机制
【AXI】解读AXI协议事务属性(Transaction Attributes)
【AXI】解读AXI协议乱序机制
【AXI】解读AXI协议原子化访问
【AXI】解读AXI协议的额外信号
【AXI】解读AXI协议的低功耗设计
【数字IC】深入浅出理解AXI协议
【数字IC】深入浅出理解AXI-lite协议