module dut (
input a, b, c,
output y
);
wire n1;
and_3 andgate (
.a(a),
.b(b),
.c(c),
.y(n1)
);
inv inverter (
.a(n1),
.y(y)
);
endmodule
Иерархия
модулей в Verilog
Имя подключаемого модуля (and_3, inv)
Название примитива. Например, нам может понадобиться 3 копии модуля and_3. Тогда мы сможем подключить 3 экземпляра модуля and_3, используя различные наименования для прототипов (andgate_1, andgate_2 …)
Символ точка, перед наименованием порта отсылает к реальному порту подключаемого модуля (у модуля inverter, порты именуются a, y). В скобках обозначается куда будут подключаться сигналы в top-модуле