四位二进制全加全减器
- 格式:docx
- 大小:85.08 KB
- 文档页数:8
I
数字逻辑设计及应用课程设计
组合逻辑电路课程设计
四位二进制全加/全减器
姓名:
学号:
指导教师:
II
III
一、 任务与要求
使用74LS83构成4位二进制全加/全减器。
具体要求:
1) 列出真值表;
2) 画出逻辑图
3) 用Verilog HDL进行仿真
二、 设计思路
1)原理分析:
74LS83是四位二进制先行加法器,所以直接接入输入可以得到全加器,下面主要讨论四位二进制全减器的构造。对于减法,可以作相应的代数转换编程加法,二进制减法也是如此,原理如下:
这样就把减法变为了加法,而[]=,这里利用补码性质,具体实现方法就是:逐位取反并在最低权一位加上1。在全减器中,进位输入Cin变为借位输出,所以要减去Cin,且全加器的输出端Cout为进位输出,全减器为借位输出,所以将So取反后即可得到全减器的借位输出。在以上分析基础可知,可在全加器的基础上设计全减器。
四位二进制全加/全减器真值表如下:(因原始真值表行数太过庞大,列出部分真值的例子)
IV
真值表
C/B A3 A2 A1 A0 B3 B2 B1 B0 Co Bo S0 S1 S2 S3
0 0 0 1 0 0 1 0 1 0 1 0/1 1/1 1/0 1/1
0 1 0 1 1 1 1 1 0 1 1 1/1 0/1 0/0 1/1
0 0 1 1 0 0 0 1 1 0 0 1/0 0/0 0/1 1/1
0 1 1 1 1 0 0 1 1 1 0 0/1 0/1 1/0 0/0
1 0 0 1 0 0 1 0 1 0 1 1/1 0/1 0/0 0/0
1 1 0 1 1 1 1 1 0 1 1 1/1 0/1 1/0 0/0
1 0 1 1 0 0 0 1 1 0 0 1/0 0/0 1/1 0/0
1 1 1 1 1 0 0 1 1 1 0 0/1 0/0 1/1 1/1
*表格后半部分内容,斜线前为全加结果,斜线后为全减结果*
XOR门的函数为:,所以当EN=A=0时,得到F=B与第二输入相同,当EN=A=1时,F=B’与第二输入相反。利用此性质可以构造补码的取反性质,从而完成减法到加法的转换。
2)逻辑图:
根据原理分析 IC真值表得到逻辑图如下:
V
注:当EN=1时为全减器,当EN为0时为全加器。
三、 Verilog HDL代码
代码如下:
module FULLADDER(s,o,a,b,IN,EN);
output [3:0] s;
output o;
input [3:0] a,b;
input IN,EN;
reg o;
reg [3:0] s,c;
always@(*)
if(EN==0)
begin VI
{o,s}=a+b+IN;
End
else
begin
c=2'b10000-b;
{o,s}=a+c-IN;
o=~o;
end
endmodule
四、 仿真结果
1)波形仿真结果:以真值表作为输入依据
*注:前80ns为全加器仿真,后80ns为全减器仿真。 VII
2) Verilog HDL仿真结果:以真值表作为输入依据
五、 结果分析
仿真波形采用两种方法Ungroup和Group形式显示,由波形图可知,仿真结果与真值表完全吻合,逻辑图电路仿真出结果与代码仿真结果一致,验证了本次设计的可行性和正确性。至此,基于74LS83的四位二进制全加/全减器的设计,分析,仿真完成,并达成预期设计要求。
六、 参考文献
[1] John F.Wakerly 《数值设计原理与实践(原书第四版)》
机械工业出版社 VIII
[2] 潘松 陈龙 黄继业 《EDA技术与Verilog HDL(第二版)》 清华大学出版社