adder/sum.v

20 lines
800 B
Verilog

module full_adder (
input wire a, // Wejście A (przycisk)
input wire b, // Wejście B (przycisk)
input wire carry_in, // Wejście przeniesienia (przycisk)
output wire sum, // Wyjście suma (dioda)
output wire carry_out, // Wyjście przeniesienia (dioda)
output wire l3, // L3 dla B
output wire l4, // L4 dla carry_in
output wire l5 // L5 dla A
);
assign sum = a ^ b ^ carry_in; // Obliczenie sumy
assign carry_out = (a & b) | (carry_in & (a ^ b)); // Obliczenie przeniesienia
assign l5 = a; // L5 pokazuje stan A
assign l3 = b; // L3 pokazuje stan B
assign l4 = carry_in; // L4 pokazuje stan carry_in
endmodule