`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]G; wire [3:0]P; wire [3:0]C; assign G=A_in&B_in; assign P=A_in^B_in; assign C=G^(P&{C[2:0],C_1}); assign S=P^{C[2:0],C_1}; assign CO=C[3]; endmodule