Как передать параметры в модуль verilog при выполнении синтеза?

У меня есть параметризованный модуль verilog с битовой шириной, которая зависит от значения, указанного в `define WIDTH.

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

Мне было интересно, есть ли способ сделать это?

Например, я хотел бы иметь возможность написать следующее для моего входного файла для компилятора дизайна:

analyze -format sverilog -define WIDTH 10 myverilogfile.v

person Veridian    schedule 28.03.2015    source источник
comment
Это, вероятно, зависит от вашего компилятора дизайна, сначала обратитесь к руководству пользователя. Одна из идей, если эта функция не встроена в компилятор, состоит в том, чтобы написать небольшой сценарий для замены ключевого слова значением, а затем запустить функцию анализа.   -  person N8TRO    schedule 29.03.2015


Ответы (2)


Формат для компилятора дизайна:

analyze -format sverilog -define WIDTH=10,DEPTH=128 myverilogfile.v
person Morgan    schedule 30.03.2015
comment
Что если я использую параметризованные модули? не файл определений - person Veridian; 07.11.2015

Да, большинство компиляторов позволят вам это сделать. Это зависит от инструмента, но для этого нет стандартной спецификации. Наиболее распространенный формат для этого - +define+WIDTH=10; вам нужно будет проверить документацию или помощь для вашего компилятора (или поэкспериментировать)

person BobH    schedule 29.03.2015