AXI 互连模块
1. 概述
AXI4 互连模块实现多个主设备到多个从设备的交叉连接。
2. 架构
2.1 主设备接口
| 主设备 | 描述 |
| CPU | CPU 核心 (I/D Cache) |
| DMA | DMA 控制器 |
2.2 从设备接口
| 从设备 | 地址范围 | 描述 |
| L2 Cache | 0x0000_0000 - 0x0003_FFFF | L2 缓存 |
| SRAM | 0x1000_0000 - 0x101F_FFFF | 片上 SRAM |
| APB Bridge | 0x2000_0000 - 0x2FFF_FFFF | APB 桥接 |
| DDR Controller | 0x4000_0000 - 0x7FFF_FFFF | DDR 控制器 |
3. 接口信号
3.1 写地址通道 (AW)
| 信号 | 方向 | 描述 |
| AWID | Master→Slave | 写 ID |
| AWADDR | Master→Slave | 写地址 |
| AWLEN | Master→Slave | 突发长度 |
| AWSIZE | Master→Slave | 突发大小 |
| AWBURST | Master→Slave | 突发类型 |
| AWVALID | Master→Slave | 有效 |
| AWREADY | Slave→Master | 就绪 |
3.2 写数据通道 (W)
| 信号 | 方向 | 描述 |
| WDATA | Master→Slave | 写数据 |
| WSTRB | Master→Slave | 写选通 |
| WLAST | Master→Slave | 最后数据 |
| WVALID | Master→Slave | 有效 |
| WREADY | Slave→Master | 就绪 |
3.3 写响应通道 (B)
| 信号 | 方向 | 描述 |
| BID | Slave→Master | 响应 ID |
| BRESP | Slave→Master | 响应状态 |
| BVALID | Slave→Master | 有效 |
| BREADY | Master→Slave | 就绪 |
3.4 读地址通道 (AR)
| 信号 | 方向 | 描述 |
| ARID | Master→Slave | 读 ID |
| ARADDR | Master→Slave | 读地址 |
| ARLEN | Master→Slave | 突发长度 |
| ARSIZE | Master→Slave | 突发大小 |
| ARBURST | Master→Slave | 突发类型 |
| ARVALID | Master→Slave | 有效 |
| ARREADY | Slave→Master | 就绪 |
3.5 读数据通道 (R)
| 信号 | 方向 | 描述 |
| RID | Slave→Master | 读 ID |
| RDATA | Slave→Master | 读数据 |
| RRESP | Slave→Master | 响应状态 |
| RLAST | Slave→Master | 最后数据 |
| RVALID | Slave→Master | 有效 |
| RREADY | Master→Slave | 就绪 |
4. 特性
- 支持 AXI4 完整协议
- 支持固定长度突发 (1-16 beats)
- 支持 INCR、WRAP、FIXED 突发类型
- 地址解码和路由
- 多主设备仲裁 (Round-Robin)
5. 实现文件
| 文件 | 描述 |
axi_interconnect.v | 互连顶层 |
axi_master_mux.v | 主设备多路选择 |
axi_slave_demux.v | 从设备解复用 |
axi_addr_decode.v | 地址解码 |
axi_arbiter.v | 仲裁器 |