不枉初心,砥砺前行

皮皮祥的博客

欢迎留言,评论

导航

AXI4-lite协议介绍

AXI4-lite协议介绍

AXI4-liteAXI4-full的简化版。用于简单、低吞吐量的内存映射通信。主要用于内核和外设寄存器之间的通信。功能类似STM32中外设与CPU之间的通信时使用的协议,比如当访问串口的数据寄存器时,只访问四个字节的数据,所以使用AXI4-lite就特别合适。再比如,在PL写一个用于PS端操作的外设时,其外设寄存器一般通过AXI4-lite总线和PS交互。
AXI4-lite总线协议的特性如下:

  1. 数据总线只能是32位或者64位。
  2. 每次传输只能传输一个数据。
  3. 所有访问都是不可修改(Non-modifiable),不可缓冲(Non-bufferable)。
  4. Exclusive 访问不支持。

信号线详细描述

AXI4-lite总线协议总共包括21条信号线。每个通道都有其自己的双向握手机制信号线xxVALIDxxREADY,关于双向握手机制,见AXI总线介绍。下面是信号线的详细描述。

  1. 全局信号
    1. ACLK 全局时钟信号,在上升沿时对信号采样。所有的输入信号都通过上升沿采集,所有的输出信号都在上升沿时变化。
    2. ARESETn 全局复位信号,低电平有效。在复位期间,所有的xxVALID信号必须复位为低电平。其他的信号可以是任意值。
  2. 写地址通道信号
    1. 主机(master)控制的信号
      1. AWVALID
      2. AWADDR 地址信号线,传输地址信息。
      3. AWPROT 访问权限信号线,xilinx建议赋值为3'b000.xilinx IP 一般忽略此信号。
    2. 从机(slave)控制的信号
      1. AWREADY
  3. 写数据通道信号
    1. 主机(master)控制的信号
      1. WVALID
      2. WDATA 数据信号线,传输数据信息。
      3. WSTRB 数据总线有效字节控制。比如32位的总线,WSTRB等于4'b0010,那么代表WDATA[15:8]中的数据有效。其他无效。如果要求WDATA[31:0]32位全有效,那么WSTRB就应该等于4'b1111.
    2. 从机(slave)控制的信号
      1. WREADY
  4. 写应答通道信号
    1. 主机(master)控制的信号
      1. BREADY
    2. 从机(slave)控制的信号
      1. BVALID
      2. BRESP 应答类型。AXI4-lite不支持EXOKAY类型的响应。
        1. OKEY 0 正常访问成功
        2. SLVERR 2 从机错误
        3. DECERR 3 解码错误,比如没有从机的地址。
  5. 读地址通道信号
    1. 主机(master)控制的信号
      1. ARVALID
      2. ARADDR 地址信号线,传输地址信息。
      3. ARPROT 访问权限信号线,xilinx建议赋值为3'b000.xilinx IP 一般忽略此信号。
    2. 从机(slave)控制的信号
      1. ARREADY
  6. 读数据通道信号
    1. 从机(slave)控制的信号
      1. RREADY
    2. 从机(master)控制的信号
      1. RVALID
      2. RDATA 数据信号线,传输数据信息。
      3. RRESP 同写应答信号BRESP

读写时序和握手时序

关于AXI4.0-lite的读写时序和握手时序请参看AXI总线介绍

AXI-lite主从交互仿真

  1. vivado创建AXI外设。
  2. 添加主从接口。
  3. 编写仿真tb文件。仿真相关的文件见附件axi-lite.zip

下图是AXI-lite主从交互的时序图,主机先通过总线写数据,然后通过读总线将其写入的数据读了出来。图中画圆圈的地方是每个通道第一次握手的时序(后续的握手时序没有标记)。
时序图

文档参考

  1. IHI0022G_amba_axi_protocol_spec.pdf
  2. IHI0051A_amba4_axi4_stream_v1_0_protocol_spec.pdf
  3. ug761_axi_reference_guide.pdf

 

posted on 2021-12-27 11:08  皮皮祥  阅读(1049)  评论(0编辑  收藏  举报