
По сути есть та же задача: написать модуль, получающий данные с частотой от 0 до 100MHz (частота константа и определяется в зависимости от состояния регистров в модуле), пишет их в FIFO (меняем клоковый домен/буфер) и далее в DMA/SGDMA и в память (SDRAM).
На картинке примерно изобразил то как я себе представляю структуру модуля:
На входе conduit так как данные получаем из вне.
На выходе Avalon-ST Source, т.к. в спеификации по интерфейсам было написано что этот интерфейс для потоковой передачи данных.
Управления внутренними регистрами модуля осущетвляется через интерфейт Avalon-MM.
Остались вопросы по Avalon-ST как видно на картинке (внизу) есть пропуски циклов, когда данные не пишутся. Подскажите как сконфигурировать Avalon-ST что бы можно было писать в FIFO 1 пачку (32 бита) за 1 такт в течении всего промежутка времени получения данных с интерфейса conduit.
И тема про DMA тоже интересна, прошу выкладывать результаты "трудов" если не жалко на форум, будем учиться вместе)