2015-10-24 2 views
0

У меня есть фрагмент кода Verilog, который я пытаюсь синтезировать. Там есть линия,Передача выражения 'generate' при создании экземпляра модуля в verilog

MUX2B_XB gas34 (notPropSig, OECin, generate, notCoutSig); 

экземпляр модуля. Где, модуль реализует простую логическую логику. Но, синтезатор дает ошибку:

Syntax error near "generate".

Я не могу понять использование «генерировать» заявление в связи с этим здесь, а конкретизация, а также, как идти о решении ошибки, не затрагивая требуемую функциональность.

ответ

5

Как представляется, вы используете generate как имя переменной и подключаете эту переменную к третьему порту вашего модуля. Однако generate является ключевым словом Verilog и не может использоваться как имя переменной (в другом примере будет использоваться always как переменная типа logic [1:0] always;, вы не можете использовать такие ключевые слова, как имена переменных). Вам просто нужно изменить имя этой переменной:

logic gen; // Or whatever the type and width of this line should be 
... 
MUX2B_XB gas34(notPropSig, OECin, gen, notCoutSig); 

Если вы на самом деле то, что использовать generate конструкцию для чего-то, вы должны будете предоставить больше контекста, чтобы мы могли помочь.

Смежные вопросы