Я пытаюсь понять или исследовать лучшие практики проектирования ASIC в Verilog. Я работаю над блоком среднего размера с ~ 20 субмодулями (каждый ~ 1000 строк кода). Это кропотливая работа - вручную создать экземпляры всех подмодулей и выполнить подключение к порту для создания RTL верхнего уровня.
Я хочу написать сценарий для автоматизации этого. Пока мы можем определить входы / выходы всех подмодулей и то, как каждый подмодуль связан друг с другом, не должно быть очень сложно автоматически сгенерировать верхний уровень. Однако у меня недостаточно опыта в автоматизации проектирования. Мне было интересно, может ли кто-нибудь подсказать мне, с чего начать.
- Есть ли какой-нибудь инструмент с открытым исходным кодом для достижения того, что я пытаюсь сделать? Пока не нашел.
- Есть ли какой-нибудь стандартизованный способ генерировать синтезируемый код такого рода?
Я буду очень признателен за любой вклад или совет.
.*
неявные соединения портов, если патентный модуль имеет те же переменные, что и имена портов в подмодуле. Но используйте его осторожно. - person rahulcodesinverilog   schedule 08.04.2016module #(...) (input logic ..., output logic ...);
, а затем добавьте имя экземпляра и удалите все направления и типы портов. Теперь используйте функцию записи макроса в редакторе, чтобы сделать это:CUT . PASTE ( PASTE )
. Затем дважды щелкните имя каждого порта, чтобы выделить его, а затем выполните макрос. Это изменитsome_name
на.some_name(some_name)
. Если порт и имя подключения совпадают, значит, работа выполнена. Если нет, легко сделать еще немного двойного щелчка, копирования и вставки. Мне не нравится.*
. - person Matthew Taylor   schedule 08.04.2016