Здравствуйте!
Очень надеюсь на помощь знающих людей, так как с ПЛИС(Cyclone II) работаю всего ничего, а разобраться нужно.
Так вот, стоит задача организовать вывод изображения (для начала) с SD карты на VGA-монитор. С "чтение с карты --> запись в буфер (внеш. RAM)" вроде проблем нет, а вот с пересылкой данных из буфера в модуль VGA-контроллера возникают вопросы. Допустим в качестве DMA выступает SGDMA:
1. Буферная RAM имеет длину слова 16 бит, но дальше используются блоки по 8 бит (R3G3B2). Как поступить в таком случае - а)поставить на выходе Avalon-ST мастера SGDMA дополнительный буфер (16->8), либо б)соответствующим конфигурированием дескрипторов SGDMA заставить читать память по одному адресу два раза подряд? Рационально ли это?
2. Модуль RAM имеет задержку чтения 2 такта, как в таком случае организовать непрерывный поток данных дальше в ресемплер (скрин SOPC Buider'a внизу)? FIFO, иной буфер? Как вообще такие задачи решаются?
3. Есть ли у кого-то пример использования SGDMA? А то в хендбуке больше спецификация.
Основная тактовая - 50 МГц, для VGA - 25 МГц
Подскажите, пожалуйста, а то уже мозги плавятся..