Перейти к содержанию
    

Параметризируемый модуль и QSYS

Всем доброго здравия.

 

Второй проект с использованием QSYS и решил я что пора сделать универсальный модуль, дабы не плодить сущности из множества разных модулей.

Хотелось бы иметь возможность через параметр задавать кол-во входных и выходных портов, но QSYS, судя по всему, не понимает двумерные массивы.

 

Делать длинный одномерный массив и разруливать внутри модуля конечно можно, но лениво. Да и регистров предполагается больше 200 в каждом разное кол-во входных и выходных портов, основная разрядность 8 бит, но могут быть и с большей/меньшей разрядностью.

 

Сейчас курю документацию на QSYS, но пока не очень удачно, наставьте на путь истинный, если возможно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может не совсем ваш случай, но посмотрите как сделано в альтеровских университетских корах

https://www.altera.com/support/training/uni...s-software.html

В частности Audio & Video -> DMA Controller. Там у них сделано через отдельный TCL скрипт, который получает параметры от GUI, и подставляет их в verilog код. На верхнем уровне у самого модуля заранее описаны все возможные порты, потом лишние убираются при генерации.

 

Приложил файлик

altera_up_avalon_video_dma_controller.zip

Изменено пользователем Burenkov Sergey

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

. Да и регистров предполагается больше 200 в каждом разное кол-во входных и выходных портов, основная разрядность 8 бит, но могут быть и с большей/меньшей разрядностью.

, наставьте на путь истинный, если возможно.

200 регистров - это жить не будет!

Надо заменять на регистровый файл на памяти и проблемы уйдут...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может не совсем ваш случай, но посмотрите как сделано в альтеровских университетских корах

https://www.altera.com/support/training/uni...s-software.html

В частности Audio & Video -> DMA Controller. Там у них сделано через отдельный TCL скрипт, который получает параметры от GUI, и подставляет их в verilog код. На верхнем уровне у самого модуля заранее описаны все возможные порты, потом лишние убираются при генерации.

 

Приложил файлик

Спасибо, я как раз их примеры изучаю.

 

 

200 регистров - это жить не будет!

Надо заменять на регистровый файл на памяти и проблемы уйдут...

 

Спасибо за замечание, учту обязательно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...