Я пытаюсь использовать 1-битный полный вычитатель с помощью 4-битного модуля, поэтому я немного застрял в том, куда идти дальше, я не уверен, что происходит под капотом - я подумал, что, возможно, смогуМы выполняем полную подпрограмму в цикле sub4, перебираем каждый бит и обновляем входные и выходные данные, но я не уверен, как это сделать.
module fullSub(x, y, b_in, diff, b_out);
input x, y, b_in;
output diff, b_out;
assign diff=(x^y)^b_in;
assign b_out = (~(x^y)&b_in) | ((~x)&y);
endmodule
module sub4(x, y, b_in, diff, b_out);
input [3:0] x, y;
input b_in;
output [3:0] diff;
output b_out;
fullSub init[3:0](x, y, b_in, diff, b_out);
assign b_in = b_out;
endmodule