1、PCIE地址映射是什么意思?
本文以xinlinx FPGA PCIE为例,选择集成AXI的PCIE结构为例,说明AXI接口读写地址是如何映射成PCIE读写地址的。
2、集成AXI 的PCIE结构
下图所示为集成AXI的PCIE结构图。其中,包含了PCIE CORE,以及AXI bridge以及3个axi接口,AXI Master是axi总线的主端口,AXI4-lite 是slave端口,用于配置PCIE逻辑。AXI slave是从端口,与之相连的逻辑可以通过axi slave接口主动发起读写操作。
本文将说明从AXI slave接口发起的读写地址是如何映射到PCIE端口的。即axi slave端口的awaddr地址是怎么映射到PCIE发送端的。
3、AXI slave接口读写地址到PCIE 串行发送端口的地址映射
使用vivado打开PCIE IP配置界面,可以看到如下图所示的界面,用于配置AXI地址映射的基地址寄存器,即AXI:BARS。
图中配置了3组基地址:每组地址代表了一片地址映射空间。寄存器配置可以自己手动配置,
Aperture high Address和Aperture Base Address决定了axi访问的一片地址空间,AXI to PCIE Translation说明了这片地址空间的最低地址(Aperture Base Address)对应PCIE的哪个地址。
每一片地址映射空间包含三个地址寄存器:16进制,64bit ,其中AXI BAR0配置如下:
Aperture Base Address:0x00000000_12340000
Aperture high Address:0x00000000_1234FFFF (64KB)
AXI to PCIE Translation:0x50000000_56710000 (64kbyte对应的地位为0)
其中AXI BAR1配置如下
Aperture Base Address:0x00000000_ABCDE000
Aperture high Address: 0x00000000_ABCDFFFF (8kbyte)
AXI to PCIE Translation:0x60000000_FEDC0000 (8kbyte对应的地位为0)
其中AXI BAR2配置如下
Aperture Base Address:0x00000000_FE000000
Aperture high Address: 0x00000000_FFFFFFFF (32 Mbytes)
AXI to PCIE Translation:0x70000000_40000000(32Mbyte对应的地位为0)
从AXI slave接口发起的读写地址如果是0x0000_12340ABC,那么映射到PCIE串行发送侧的地址是0x5000000056710ABC。
映射过程如下:
• 0x0000_12340ABC减去Aperture Base Address :0X0000000012340000,得到0xABC
• 所得结果0xABC加上0X5000000056710000,则映射到PCIE的发送侧地址为0x5000000056710ABC
综上所叙:
• Accessing the Bridge AXIBAR_0 with address 0x0000_12340ABC on the AXI bus yields
0x5000000056710ABC on the bus for PCIe.
• Accessing the Bridge AXIBAR_1 with address 0x0000_ABCDF123 on the AXI bus yields
0x60000000FEDC1123 on the bus for PCIe.
• Accessing the Bridge AXIBAR_2 with address 0x0000_FFFEDCBA on the AXI bus yields
0x700041FEDCBA on the bus for PCIe
具体映射图如下所示:
5、地址不发生映射如何配置
如果AXI slave地址不发生映射,可以只是用一组BAR寄存器,其中Aperture high Address不能为全0,最好为全F。如果Aperture high Address为全0,则读写空间为0,则无法正常读写数据。
则应该配置如下:
Aperture Base Address:0x00000000_00000000
Aperture high Address:0xFFFFFFFF_FFFFFFFF
AXI to PCIE Translation:0x00000000_00000000
6、地址映射的注意事项
① 一个AXI slave接口可以使用多组BAR
版权声明:本文为CSDN博主「IC小鸽」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/icxiaoge/article/details/90573811