题解 | #全加器#
全加器
https://www.nowcoder.com/practice/d04c046febb74e72949baee9aa99d958
`timescale 1ns/1ns
module add_half(
input A ,
input B ,
output wire S ,
output wire C
);
assign S = A ^ B;
assign C = A & B;
endmodule
/***************************************************************/
module add_full(
input A ,
input B ,
input Ci ,
output wire S ,
output wire Co
);
wire S1;
wire S2;
wire C1;
wire C2;
add_half uut1(
.A (A),
.B (B),
.S (S1),
.C (C1)
);
add_half uut2(
.A (Ci),
.B (S1),
.S (S),
.C (C2)
);
assign S = Ci ^ S1;
assign Co = C1 | C2;
endmodule
1、半加器
在数学系统中,二进制加法器是它的基本部件之一。
半加器(半加就是只求本位的和,暂不管低位送来的进位数)的逻辑状态表

其中,A和B是相加的两个数,S是半加和数,C是进位数。
由逻辑状态表可写出逻辑式:

由逻辑式就可画出逻辑图,如下图(a)和(b)所示,由一个“异或“门和一个”与“门组成。半加器是一种组合逻辑电路,其图形符号如下图(c)所示。

两个半加器和一个或门可以组成全加器
2、全加器
当多位数相加时,半加器可用于最低位求和,并给出进位数。第二位的相加有两个待加数和,还有一个来自前面低位送来的进位数。这三个数相加,得出本位和数(全加和数)和进位数。这种就是“全加“,下表为全加器的逻辑状态表。


查看11道真题和解析