题解 | #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 [2:0] w; son_module a1( .a(A_in[0]), .b(B_in[0]), .c1(C_1), .C(w[0]), .s1(S[0]) ); son_module a2( .a(A_in[1]), .b(B_in[1]), .c1(w[0]), .C(w[1]), .s1(S[1]) ); son_module a3( .a(A_in[2]), .b(B_in[2]), .c1(w[1]), .C(w[2]), .s1(S[2]) ); son_module a4( .a(A_in[3]), .b(B_in[3]), .c1(w[2]), .C(CO), .s1(S[3]) ); endmodule module son_module( input a, input b, input c1, output wire C, output wire s1 ); wire p,g; assign p=a^b; assign g=a&b; assign C=g|(p&c1); assign s1=p^c1; endmodule
这里使用了模块的例化,超前进位就是不等后级把进位算完再传过来,我们直接通过输入的数据把这个进位直接算出来发给每一级