Есть АЦП 8бит 25МГц подключенный к Spartan6 у которого есть Microblaze и LPDDR. Microblaze прекрасно читает и пишет в LPDDR как мастер на шине AXI. Хочется добавить своего максимально простого мастера который будет заполнять память данными из АЦП.
Думаю начать с мастера который просто заполняет память нулями - дальше всё вроде понятно. Опыт написания AXIslave есть.
Вопрос 1: Что производительнее/проще - 1 добавить второй порт к памяти и через отдельную шину AXI4 записывать данные своим мастером? 2 добавить второго мастера на существующую шину?
Вопрос 2:
Какова поледовательность посылки данных мастером?
Если создать AXImaster_burst в визарде, то он предлагает перебросить данные из своего FIFO за 5 манипуляций с регистрами IP: 1. write 0x02 to the control register to perform write operation. 2. write the target address to the address register 3. write valid byte lane value to the be register 4. write 0x0040 to the length register 5. write 0x0a to the go register, this will start the master write operation но как заполнить его FIFO из IP и манипулировать этими регистрами непонятно.
Если создать axi_ext_master_conn, то получаем пустую болванку и что в неё писать - загадка.
Может есть у кого примерчик простенького AXI мастера?
|