1

我在 Xilinx Zed 板上有一个带有 Zynq 和 Microblaze 的块设计。

我希望 microblaze 能够访问与 PS 中的 arm corer 共享的 DDR 内存。我的 microblaze 使用缓存。microblaze M_AXI_DC、M_AXI_IC 上有两个 AXI 端口需要连接,以便它们可以访问 PS DDR 存储器。

  1. microblaze 端口是 AXI4,Zynq 使用 AXI3。M_AXI_DC、M_AXI_IC如何连接?

2.1。I2C 和 DC 端口的共享智能互连?

     mb M_AXI_DC, M_AXI_IC <-smart interconnect-> S_AXI_HP0

或者

2.2. 两个独立的端口智能互连?

     mb M_AXI_DC <-smart interconnect 1-> S_AXI_HP0 zynq 

     mb M_AXI_IC <-smart interconnect 2-> S_AXI_HP1 zynq

或者可能

2.3. 一个连接到 HP0 和 HP1 的智能互连:

     mb M_AXI_DC                         S_AXI_HP0 zynq
              <-smart interconnect 1->            
     mb M_AXI_IC                         S_AXI_HP1 zynq

2.3. 方法 2.1、2.2 或 2.3 的性能是否不同?

4

1 回答 1

2

方法 2.3 最有效地使用 PL 资源进行缓存访问。将互连视为路由器。您需要一个用于高速缓存端口,另一个用于外围设备。

您似乎遗漏的是 DP 端口。该端口是数据从 DDR 移动到 mb 的方式。如果您移动大量数据,那么您必须使用 DMA。

请参阅xapp1093第 3 页 图 1. 有一个图表,显示了带有代码的完整设计。

于 2019-02-26T21:04:44.110 回答