1. XDMA核架构深度解析
第一次接触Xilinx的XDMA核时,我盯着文档里那些缩写词发懵——H2C、C2H、RQ、RC、CQ、CC,简直像在破译密码。后来在实际项目中摸爬滚打才发现,理解这些通道的关系就像搞明白快递站的收发流程。XDMA核本质上是个智能分拣中心,负责在PCIe协议和用户逻辑之间高效转运数据。
1.1 数据通道的物流模型
想象你经营一家跨境电商仓库,XDMA核就是你的智能物流中枢。它有两条主干道:
-
DMA通道(快递专线):专门处理大批量货物
- H2C(Host to Card):相当于进口清关通道,主机发往FPGA的数据走这里
- C2H(Card to Host):相当于出口报关通道,FPGA发往主机的数据走这里
- 每个方向最多4条独立车道(通道),实测x8 Gen3下四通道并发传输能跑满28Gbps
-
桥接通道(行政通道):处理配置和管控事务
- 就像仓库的行政办公室,处理设备注册、税务申报等手续
- 通过AXI-Lite接口连接配置寄存器,位宽固定32bit
1.2 四大物理通道详解
在PG195文档里,这四个字母组合最让人头疼。我用快递站的例子来具象化:
| 通道代号 | 全称 | 类比场景 | 位宽限制 |
|---|---|---|---|
| RQ | Requester Request | 快递员提交取件申请 | 最大256B/请求 |
| RC | Requester Completion | 快递员带回的包裹 | 需对齐128bit边界 |
| CQ | Completion Queue | 客户签收确认单 | 必须64B对齐 |
| CC | Completion Credit | 仓库发出的发货确认 |
