题解 | #4bit超前进位加法器电路#
4bit超前进位加法器电路
https://www.nowcoder.com/practice/4d5b6dc4bb2848039da2ee40f9738363
`timescale 1ns/1ns module lca_4( input [3:0] A_in , input [3:0] B_in , input C_1 , output wire CO , output wire [3:0] S ); wire [3:0] C; full_adder u0( .A(A_in[0]), .B(B_in[0]), .C(C_1), .Co(C[0]), .S(S[0]) ); full_adder u1( .A(A_in[1]), .B(B_in[1]), .C(C[0]), .Co(C[1]), .S(S[1]) ); full_adder u2( .A(A_in[2]), .B(B_in[2]), .C(C[1]), .Co(C[2]), .S(S[2]) ); full_adder u3( .A(A_in[3]), .B(B_in[3]), .C(C[2]), .Co(C[3]), .S(S[3]) ); assign CO = C[3]; endmodule module full_adder( input A, input B, input C, output Co, output S ); wire Gi; wire Pi; assign Gi = A & B; assign Pi = A ^ B; assign S = Pi ^ C; assign Co = Gi || (Pi & C); endmodule //这样写并不是超前进位加法器 //这样写还是一级一级算出来加上去的?