Как определить модуль с параметром в Verilog?

Я хочу определить модуль add, у которого есть параметр, но мое объявление нового экземпляра не работает.

Я хочу определить экземпляр этого модуля:

module add #(parameter wd=1) (input wire [wd-1:0] a,b, output wire [wd-1:0] o);

   assign o = a + b;

endmodule

Я пробовал эту строку, но получаю сообщение об ошибке:

 add len_plus_1 #(8)(.a(len),.b(8'h1),.o(lenPlus1));

person 0x90    schedule 29.12.2011    source источник


Ответы (1)


Имя экземпляра должно идти после спецификатора параметра:

add #(8) len_plus_1 (.a(len),.b(8'h1),.o(lenPlus1));

Этот синтаксис указан в стандарте IEEE (например, 1800-2009).

person toolic    schedule 29.12.2011