AXI 存储器映射 Bridge 主接口 - 4.0 简体中文

QDMA Subsystem for PCI Express v4.0 产品指南 (PG302)

Document ID
PG302
Release Date
2022-05-20
Version
4.0 简体中文

AXI MM Bridge 主接口用于从主机对 AXI 存储器映射空间进行高带宽访问。此接口支持最多 32 个未完成的 AXI 读取和写入。可将任意物理功能 (PF) 或虚拟功能 (VF) 的一个或多个 PCIe BAR 映射到 AXI-MM Bridge 主接口。此选择必须在设计编译之前完成。在 AXI-MM 接口的 aruserawuser 中都将提供功能 ID、BAR ID、VF 组和 VF 组偏移,以便允许用户逻辑识别每次存储器访问的来源。在 AXI Bridge 主端口中会列出 m_axib_awuser/m_axib_aruser[54:0] 用户位的映射。

虚拟功能组 (VFG) 表示 VF 组编号。它等同于对应 VF 关联的 PF 编号。VFG_OFFSET 表示与特定 PF 相关的 VF 编号。请注意,它并非每个 PF 的 FIRST_VF_OFFSET。

例如,如果 PF0 和 PF1 均有 8 个 VF,则 PF0 和 PF1 的 FIRST_VF_OFFSET 分别为 4 和 11。以下是 VFG 和 VFG_OFFSET 的映射。

表 1. AXI-MM 接口虚拟功能组
功能编号 PF 编号 VFG VFG_OFFSET
0 0 0 0
1 1 0 0
4 0 0 0(因为 PF0 的 FIRST_VF_OFFSET 为 4,所以 PF0 的第一个 VF 从 FN_NUM=4 开始,VFG_OFFSET=0 表示这是 PF0 的第一个 VF)
5 0 0 1(VFG_OFFSET=1 表示这是 PF0 的第二个 VF)
... ... ... ...
12 1 1 0(VFG=1 表示此 VF 与 PF1 关联)
13 1 1 1

每个主机发起的访问均可通过 PCIe 到 AXI BAR 转换单独映射到 64 位 AXI 地址空间。

由于所有功能都共享相同的 AXI 主接口地址空间,因此需要相应机制来将请求从不同功能映射到 AXI 主接口侧的不同地址空间。以下提供的示例演示了如何使用 PCIe 到 AXI 转换矢量。请注意,属于相同 PF 的所有 VF 都共享相同的 PCIe 到 AXI 转换矢量。因此,每个 VF 的 AXI 地址空间都连接在一起。VFG_OFFSET 可用于计算特定 VF 的 AXI 实际起始地址。

总结,m_axib_awaddr 判定方式如下:

  • 对于 PF,m_axib_awaddr = pcie2axi_vec + axib_offset
  • 对于 VF,m_axib_awaddr = pcie2axi_vec + (VFG_OFFSET + 1)*vf_bar_size + axib_offset

其中,pcie2axi_vecPCIe 到 AXI BAR 转换(从 Vivado® IP 目录配置 IP 核时即可设置此转换)。

axib_offset 是请求的目标空间中的地址偏移。