Я думаю, что вы можете удалить свой complementor
модуль, а затем изменить twos_complement_of_8bits
следующим образом:
module twos_complement_of_8bits (output [7:0] out, input [7:0] in);
assign out = ~in + 1;
endmodule
Если это не дает желаемого результата, пожалуйста, покажите некоторые ожидаемые выходные значения.
В более сложных ситуациях вы можете разместить массивы экземпляров модулей или использовать блок generate
.
ОБНОВЛЕНИЕ : Вот пример использованияgenerate
блок:
module twos_complement_of_8bits (output [7:0] out, input [7:0] in);
wire [7:0] out_ones;
genvar i;
generate
for (i=0; i<=7; i=i+1) begin
complementor C[i] (out_ones[i], in[i]);
end
endgenerate
assign out = out_ones + 1;
endmodule