【问题标题】:Zynq + Microblaze share DDR memory via smart interconnectZynq + Microblaze 通过智能互连共享 DDR 内存
【发布时间】:2019-02-16 10:14:05
【问题描述】:

我在 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 的性能是否不同?

【问题讨论】:

    标签: fpga xilinx zynq microblaze


    【解决方案1】:

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

    您似乎遗漏了 DP 端口。该端口是数据从 DDR 移动到 mb 的方式。如果您移动了很多数据,那么您已经使用了 DMA。

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

    【讨论】:

    • 确实没有提到DP。 DP 已经连接到一个单独的 axi smartconnect,它连接到 a.o .gpio,
    • 在之前的测试中,我有一个独立的 Microblaze,它有一个互连。在 microblaze 一侧,互连连接到 DP、DC、IC,另一端互连连接到 MIG DDR、gpio、以太网。将 DP 通过与 DC 和 IC 相同的互连路由会产生什么样的影响?
    • 查看 pg059-axi-inteconnect pg.6。每个互连都有一个带有可选互连架构的交叉开关。互连无法知道端口 S00 上的数据仅发往 M00,因此存在一些交换开销。这样做会造成瓶颈,因为程序指令和数据是通过同一互连路由的。最佳配置是将它们分开。另外,请注意,您提供了不完整的设置图片。您是否将 DDR 直接连接到您已经通过 MIG 接口访问的 PL,现在想要访问 Zynq DDR?
    • 抱歉造成混淆,我的意思是在另一个设计中(不是 Zynq,而是 Artix7、Nexys4ddr)我有一个 Microblaze 连接的 MIG DDR,其中 Microblaze 的所有 axi 接口都通过单个互连路由。虽然这有效,但我不知道会产生什么样的性能影响。因此,对于我当前的 Zynq 设计,我将采用 xapp1093 中描述的架构。
    猜你喜欢
    • 1970-01-01
    • 2016-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-25
    • 1970-01-01
    • 1970-01-01
    • 2021-10-03
    相关资源
    最近更新 更多