Zynq + Microblaze совместно использует карту адресов памяти DDR, несовместимую в SDK - PullRequest
0 голосов
/ 16 февраля 2019

У меня есть блочный дизайн с Zynq и Microblaze на плате Xilinx Zed.

Я хочу, чтобы microblaze имел доступ к памяти DDR, совместно используемой с ядрами arm в PS.Мой микроблейз использует кеш.Есть два порта AXI на микроблазере M_AXI_DC, M_AXI_IC, которые необходимо подключить, чтобы иметь доступ к памяти PS DDR.

Память DDR PS доступна через два отдельных интеллектуальных межсоединения:

     mb M_AXI_DC <-smart interconnect 1-> S_AXI_HP0 zynq 

     mb M_AXI_IC <-smart interconnect 2-> S_AXI_HP1 zynq

Редактор адресов отображает следующую карту адресов

enter image description here

Эта схема синтезируется без ошибок.Когда я экспортирую этот дизайн в SDK, файл hdf показывает другую структуру памяти:

enter image description here

  1. Почему разница?

Карта адресов PS в файле hdf показывает, что память DDR начинается с 0x0010_0000

enter image description here

Предположим, что DDR является картой адресов дляmicroblaze имел память DDR по адресу смещения 0x2000_0000.Означает ли это, что если я хочу обратиться к памяти DDR по адресу 0x00000001:

На микроблейз пишу в 0x2000_0001 На Zynq я пишу в 0x0010_0001
...