У меня есть блочный дизайн с 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
Редактор адресов отображает следующую карту адресов
Эта схема синтезируется без ошибок.Когда я экспортирую этот дизайн в SDK, файл hdf показывает другую структуру памяти:
- Почему разница?
Карта адресов PS в файле hdf показывает, что память DDR начинается с 0x0010_0000
Предположим, что DDR является картой адресов дляmicroblaze имел память DDR по адресу смещения 0x2000_0000.Означает ли это, что если я хочу обратиться к памяти DDR по адресу 0x00000001:
На микроблейз пишу в 0x2000_0001 На Zynq я пишу в 0x0010_0001