【数字IC】深入浅出理解AXI协议

芯片设计验证社区·芯片爱好者聚集地·硬件相关讨论社区·数字verifier星球
四社区联合力荐!近500篇数字IC精品文章收录
【数字IC精品文章收录】学习路线·基础知识·总线·脚本语言·芯片求职·EDA工具·低功耗设计Verilog·STA·设计·验证·FPGA·架构·AMBA·书籍

在这里插入图片描述

深入浅出理解AXI协议

    • 一、写在前面
    • 二、深入浅出理解AXI协议
      • 2.1 全局信号
      • 2.2 写地址通路
      • 2.3 写数据通路
      • 2.4 写回复通路
      • 2.5 读地址通路
      • 2.6 读数据通路
      • 2.7 低功耗接口信号
      • 2.8 必选信号与可选信号区分
        • 2.8.1 主设备
          • 2.8.1.1 读操作相关信号表
          • 2.8.1.2 写操作相关信号表
        • 2.8.2 从设备
          • 2.8.2.1 读操作相关信号表
          • 2.8.2.2 写操作相关信号表
      • 2.9 总结
    • 三、其他数字IC基础协议解读
      • 3.1 UART协议
      • 3.2 SPI协议
      • 3.3 I2C协议
      • 3.4 AXI协议

一、写在前面

终于写到这篇文章了! 完整阅读前述文章的读者到了本篇,基本上可以当作一个复习小资料来看了,里面零零散散的信号95%都在前文中讨论过。本篇文章落地,再讨论一波AXI-lite,一个完整的AXI协议的相关内容就完整的展现在了读者的面前了,当然,AXI-lite支持的特性,AXI都支持,因此,二者之间的比较和联系也不甚困难。

AXI协议相较于UART,SPI,I2C来说,无论是内容还是难度都上了一个层级,放在一篇文章中进行解读未免篇幅过长,因此,有关AXI一些共性的、通用的问题,作者单独以前缀为【AXI】的标题进行小范围的串联,最终再汇总为深入浅出解读AXI协议,与从零开始的Verilog AXI协议设计,此为作者所思所考的推进顺序,单看【AXI】的每一篇,可能很多读者未免感到有些管中窥豹的疑惑,但若等作者更完此专栏再行观看,从头到尾进行阅读,应该就会有有茅塞顿开的收获与领悟。

二、深入浅出理解AXI协议

AXI协议有很多特性,比如说“高带宽”和“低延迟”,比如说向前兼容AHB与APB,比如说非三态实现数据传输等等等等,但是最核心最核心的内容无非是AXI协议的信号,和对于这些信号的理解,单独拿出一个信号来,我们先要明白的是,它是什么的输出又是什么的输入,“比如AWID是主设备产生的,通过总线互联连接到从设备“,其次,我们要清楚它所处哪个数据通路写地址通路”“写数据通路”“写回复通路”“读地址通路”“读数据通路是最核心的五个数据通路,此外,AXI协议还有全局信号和低功耗数据接口,再往后,针对于一个信号,他是AXI协议的必选项还是可选项?比如握手信号是AXI协议所必须要有的信号,是必选项,而低功耗接口的信号就是AXI协议的可选项;最后,我们要知道每一个信号的含义,这部分寻找AXI协议解读的前文就可以找到。每一个信号都通过上面的四个问题进行梳理,AXI协议的全貌就得到了一个充分的认识了。

2.1 全局信号

信号 来源 解释
ACLK 时钟源
ARESETn 复位源 低电平复位

2.2 写地址通路

信号 来源 解释
AWID 主设备 见解读AXI协议乱序机制
AWADDR 主设备 见解读AXI协议中的burst突发传输机制
AWLEN 主设备 见解读AXI协议中的burst突发传输机制
AWSIZE 主设备 见解读AXI协议中的burst突发传输机制
AWBURST 主设备 见解读AXI协议中的burst突发传输机制
AWLOCK 主设备 见解读AXI协议原子化访问
AWCACHE 主设备 见解读AXI协议事务属性
AWPORT 主设备
AWQOS 主设备 见解读AXI协议的额外信号
AWREGION 主设备 见解读AXI协议的额外信号
AWUSER 主设备 见解读AXI协议的额外信号
AWVALID 主设备 常规握手信号
AWREADY 从设备 常规握手信号

2.3 写数据通路

信号 来源 解释
WID 主设备 见解读AXI协议乱序机制
WDATA 主设备 见解读AXI协议中的burst突发传输机制
WSTRB 主设备 见解读AXI协议中的burst突发传输机制
WLAST 主设备 burst的最后一拍的信号
WUSER 主设备 见解读AXI协议的额外信号
WVALID 主设备 常规握手信号
WREADY 从设备 常规握手信号

2.4 写回复通路

信号 来源 解释
BID 从设备 见解读AXI协议乱序机制
BRESP 从设备 见解读AXI协议原子化访问
BUSER 从设备 见解读AXI协议的额外信号
BVALID 从设备 常规握手信号
BREADY 主设备 常规握手信号

2.5 读地址通路

信号 来源 解释
ARID 主设备 见解读AXI协议乱序机制
ARADDR 主设备 见解读AXI协议中的burst突发传输机制
ARLEN 主设备 见解读AXI协议中的burst突发传输机制
ARRSIZE 主设备 见解读AXI协议中的burst突发传输机制
ARBURST 主设备 见解读AXI协议中的burst突发传输机制
ARLOCK 主设备 见解读AXI协议原子化访问
ARCACHE 主设备 见解读AXI协议事务属性
ARPORT 主设备
ARQOS 主设备 见解读AXI协议的额外信号
ARREGION 主设备 见解读AXI协议的额外信号
ARUSER 主设备 见解读AXI协议的额外信号
ARVALID 主设备 常规握手信号
ARREADY 主设备 常规握手信号

2.6 读数据通路

信号 来源 解释
RID 从设备 见解读AXI协议乱序机制
RDATA 从设备 见解读AXI协议中的burst突发传输机制
RRESP 从设备 见解读AXI协议原子化访问
RLAST 从设备 burst的最后一拍的信号
RUSER 从设备 见解读AXI协议的额外信号
RVALID 从设备 常规握手信号
RREADY 主设备 常规握手信号

2.7 低功耗接口信号

信号 来源 解释
CSYSERQ 时钟控制器 见解读AXI协议的低功耗设计
CSYSACK 外围设备 见解读AXI协议的低功耗设计
CACTIVE 外围设备 见解读AXI协议的低功耗设计

2.8 必选信号与可选信号区分

2.8.1 主设备

2.8.1.1 读操作相关信号表

【数字IC】深入浅出理解AXI协议_第1张图片

2.8.1.2 写操作相关信号表

【数字IC】深入浅出理解AXI协议_第2张图片

2.8.2 从设备

2.8.2.1 读操作相关信号表

【数字IC】深入浅出理解AXI协议_第3张图片

2.8.2.2 写操作相关信号表

【数字IC】深入浅出理解AXI协议_第4张图片

2.9 总结

笼统来讲:一个基本的AXI协议,需要有时钟信号,复位信号,握手信号,burst相关信号,AxID信号
Cache相关信号,原子化操作相关信号,Qos User等额外信号和低功耗相关信号是可选项
关于不同信号的默认值/复位值,上文2.8节的表格中也给出了要求值。至此,有关AXI协议的相关内容就告一段落了,AXI协议虽然快,但是面积也大,很多情况下,我们其实不需要AXI协议的全部特性,因此AMBA4中还规定了AXI-lite供人使用,参见深入浅出理解AXI-lite即可

三、其他数字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协议

你可能感兴趣的:(#,AXI协议,fpga开发,verilog,fpga,芯片,架构)