Я хочу написать свой NAND_GATE
, используя мой собственный AND_GATE
модуль:
module and_gate(input a, input b, output out);
assign out = a & b;
endmodule
Метод 1
Что я придумал:
module nand_gate(input a, input b, output out);
assign out = and_gate(a, b);
endmodule
Но я думаю, что это неправильно, потому что я не могу вызывать модули как функции с возвращаемыми значениями в других языках программирования, верно?
Метод 2
Итак, я подумал о чем-то вроде этого:
module nand_gate(input a, input b, output out);
assign out = and_gate(a, b, ~out);
endmodule
Но я тоже не знаю, верно ли это?
Метод 3
Другая идея, которая у меня была, была примерно такой:
module nand_gate(input a, input b, output out);
wire temp;
assign temp = and_gate(a, b, out);
assign out = ~temp;
endmodule