一.认识全加器
(一)半加器
1. 半加器的定义
半加器是一种数字电路,用于实现两个一位二进制的加法运算。其工作原理如下:
(1)半加器有两个输入位,通常标记为A和B。
(2)半加器有一个输出位,称为S(半加和),以及一个进位位,称为C(半加进位)。
(3)当A和B为0或1时,半加器将这两个二进制数的低位进行加法运算,得到的结果位S和进位位C。
(4)如果S的值大于等于2,那么S需要减去2,同时进位C设为1。
(5)半加器没有进位输入,因此它不能处理超过两个二进制数的加法运算3。
(6)半加器在FPGA开发板中经常被用作基本的加法运算单元,例如通过按键作为输入,LED灯作为输出来显示加法结果5。
2.半加器的真值表
A | B | C | S |
0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 |
1 | 0 | 0 | 1 |
1 | 1 | 1 | 0 |
(二)1位全加器
Ain表示被加数,Bin表示加数,Cin表示低位进位,Cout表示高位进位,Sum表示本位和
Ain | Bin | Cin | Cout | Sum |
0 | 0 | 0 | 0 | 0 |
0 | 0 | 1 | 0 | 1 |
0 | 1 | 0 | 0 | 1 |
0 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 0 | 1 |
1 | 0 | 1 | 1 | 0 |
1 | 1 | 0 | 1 | 0 |
1 | 1 | 1 | 1 | 1 |
Sout=A⊕B⊕Cin
Cout=Cin(A⊕B)+AB
其中A,B为要相加的数,Cin为进位输入;S为和,Co是进位输出;
二.输入原理图实现1位加法器
(一)半加器原理图输入
1.绘制过程实现
2.仿真实现
(二)全加器原理图输入
编辑信号
功能仿真结果
时序仿真结果
三.Quatus实验仿真
3.1 1bit全加器
原理图实现
RTL图
仿真实现
代码
module FullAdder_gate(
input a, b, cin,
output sum, cout
);
assign sum = a ^ b ^ cin;
assign cout = (a & b) | ((a^b)&cin);
endmodule
RTL
3.2 4bit全加器
电路图
四.下载测试
(一)输入原理图
(二)Verilog代码