VL12 4bit超前进位加法器电路
通过本题可理解半加器,全加器,超前进位加法器的原理。
题解
半加器
半加器是最简单的加法器。它不考虑进位输入。其中A和B是两个加数,S是和,C_out是进位输出。
assign S = A ^ B;
assign C_out = A & B;
全加器
在半加器的基础上多了一个进位输入,可以进行多bit的相加,C为进位输入
S=A⊕B⊕C
C_out =AB | BC | AC =AB+C (A⊕B)
超前进位加法器
上式全加器为1位上计算的通式,超前进位加法器是在多位上计算如大小为4的数组相加,每一位的和与进位输入通式都如上所示。
代码
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;
assign S[0] = A_in[0] ^ B_in[0] ^ C_1;
assign S[1] = A_in[1] ^ B_in[1] ^ C[0];
assign S[2] = A_in[2] ^ B_in[2] ^ C[1];
assign S[3] = A_in[3] ^ B_in[3] ^ C[2];
assign C[0] = (A_in[0] & B_in[0]) || ((A_in[0] ^ B_in[0]) & C_1);
assign C[1] = (A_in[1] & B_in[1]) || ((A_in[1] ^ B_in[1]) & C[0]);
assign C[2] = (A_in[2] & B_in[2]) || ((A_in[2] ^ B_in[2]) & C[1]);
assign C[3] = (A_in[3] & B_in[3]) || ((A_in[3] ^ B_in[3]) & C[2]);
assign CO = C[3];
endmodule
如有侵权,联系必删。