• 深入掌握 AXI 五通道握手与时序独立性
  • 理解 ID、突发、乱序返回对微架构的影响
  • 建立 AXI 主从接口的可验证实现框架

11.1 AXI 的本质

AXI 不是一条总线信号,而是 5 条相互解耦的握手通道:

  1. 写地址 AW
  2. 写数据 W
  3. 写响应 B
  4. 读地址 AR
  5. 读数据 R

每条通道都遵循同一握手规则:valid && ready 才完成一次传输。

11.2 握手稳定性规则

主机拉高 valid 后,在握手完成前必须保持 payload 稳定。

always @(posedge aclk) begin
    if (!aresetn) begin
        awvalid <= 1'b0;
    end else if (awvalid && !awready) begin
        awvalid <= 1'b1;  // 继续保持
        awaddr  <= awaddr; // payload 保持稳定(示意)
    end
end

11.3 通道解耦意味着什么

  1. AWW 可乱先后到达。
  2. B 必须对应一笔已接受的写事务。
  3. ARR 独立于写通道并行工作。

实现上不能假设“地址和数据同拍到达”。

11.4 ID 与乱序返回

在多笔并发读写下:

  1. 主机用 ID 区分事务。
  2. 从机可按规则返回(系统可支持同 ID 顺序约束)。
  3. 核心侧需用 scoreboard/队列重组或追踪。

11.5 突发传输要点

  1. LEN/SIZE/BURST 定义突发长度与步进。
  2. WLAST / RLAST 标记突发末 beat。
  3. 地址边界与对齐必须合法。

11.6 与 CPU 流水线的耦合

  1. IF/MEM 发请求后,ready_go 往往与返回通道有效绑定。
  2. 后端阻塞时,AXI 请求发起节奏要受 backpressure 控制。
  3. flush 后需处理在途事务返回的过滤。

11.7 最小验证清单

  1. valid 高且未握手时 payload 不变。
  2. 并发读写时无通道互相阻塞死锁。
  3. 突发末拍 LAST 位置正确。
  4. 读写响应 ID 匹配且计数守恒。

更新时间: