四位二进制全加全减器

  • 格式: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(第二版)》 清华大学出版社