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