wolfman
Nov 13 2017, 21:15
Всем доброго здравия.
Второй проект с использованием QSYS и решил я что пора сделать универсальный модуль, дабы не плодить сущности из множества разных модулей.
Хотелось бы иметь возможность через параметр задавать кол-во входных и выходных портов, но QSYS, судя по всему, не понимает двумерные массивы.
Делать длинный одномерный массив и разруливать внутри модуля конечно можно, но лениво. Да и регистров предполагается больше 200 в каждом разное кол-во входных и выходных портов, основная разрядность 8 бит, но могут быть и с большей/меньшей разрядностью.
Сейчас курю документацию на QSYS, но пока не очень удачно, наставьте на путь истинный, если возможно.
Burenkov Sergey
Nov 14 2017, 07:32
Может не совсем ваш случай, но посмотрите как сделано в альтеровских университетских корах
https://www.altera.com/support/training/uni...s-software.htmlВ частности Audio & Video -> DMA Controller. Там у них сделано через отдельный TCL скрипт, который получает параметры от GUI, и подставляет их в verilog код. На верхнем уровне у самого модуля заранее описаны все возможные порты, потом лишние убираются при генерации.
Приложил файлик
iosifk
Nov 14 2017, 08:00
Цитата(wolfman @ Nov 14 2017, 00:15)

. Да и регистров предполагается больше 200 в каждом разное кол-во входных и выходных портов, основная разрядность 8 бит, но могут быть и с большей/меньшей разрядностью.
, наставьте на путь истинный, если возможно.
200 регистров - это жить не будет!
Надо заменять на регистровый файл на памяти и проблемы уйдут...
wolfman
Nov 14 2017, 10:39
Цитата(Burenkov Sergey @ Nov 14 2017, 18:02)

Может не совсем ваш случай, но посмотрите как сделано в альтеровских университетских корах
https://www.altera.com/support/training/uni...s-software.htmlВ частности Audio & Video -> DMA Controller. Там у них сделано через отдельный TCL скрипт, который получает параметры от GUI, и подставляет их в verilog код. На верхнем уровне у самого модуля заранее описаны все возможные порты, потом лишние убираются при генерации.
Приложил файлик
Спасибо, я как раз их примеры изучаю.
Цитата(iosifk @ Nov 14 2017, 18:30)

200 регистров - это жить не будет!
Надо заменять на регистровый файл на памяти и проблемы уйдут...
Спасибо за замечание, учту обязательно.