Доброго всем времени суток.
Несколько дней как начал изучать IP integrator и встроенный ARM в Zynq. Что-то (hello world) начало получаться, сделал схему сложнее и возникло непреодолимое препятствие. Проц имеет свой 1 ГБ DDR, который мэппится в 0x00000000-0x3FFFFFFF. Через Gen.Purp. Master AXI порт проц соединяется с AXI Interconnect, в который воткнута всякая мелочь для отладки типа GPIO Switch, GPIO Leds. Адреса в Address Editor меняются как угодно, главное, чтобы были старше 0x40000000. Поигравшись с простой схемой, я наворотил в IP Integrator'е что-то, напоминающее будущий проект, в том числе MIG (вторая планка DDR, не ARMовская, а ПЛИСовая) и через AXI Interconnect этот, второй DDR также виден процу. Так вот, назначение адреса на 2-й DDR не происходит, т.к. САПР утверждает, что и для этого DDR адреса должны начинаться с 0x00000000. Странная вещь, почему нельзя назначить после 0x40000000? Получается, что без трансляции (переноса) адресов второй DDR я не могу соединить с процом. Конечно, я могу сделать custom ip block, который меняет старшие битики адреса, но мне кажется, что моя задача настолько стандартная, что уже решена. Может кто-то сможет подсказать как её решить и пояснить, почему нельзя менять адреса для MIG-DDR, а для остального можно?
--------------------
IPSA SCIENTIA POTESTAS EST
|