20 lines
800 B
Verilog
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
|
|
|