全减器

更新时间:2023-04-15 17:04:58 阅读: 评论:0


2023年4月15日发(作者:数鸭子伴奏)

课程设计---位二进制全加器

全减器

————————————————————————————————作者:

————————————————————————————————日期:

组合逻辑电路课程设计之——

4位二进制全加器/全减器

作者:姓名:周志敏学号:2907301001

姓名:王光甫学号:2907301007

姓名:沈俊楷学号:2907301004

课程设计题目要求:

使用74LS283构成4位二进制全加\全减器。

具体要求:1)列出真值表;

2)画出逻辑图;

3)用VerilogHDL进行仿真。

摘要

加法器是数字系统中的基本逻辑器件。例如:为了节省资源,减法器和硬件

乘法器都可由加法器来构成。但宽位加法器的设计是很耗费资源的,因此在实际

的设计和相关系统的开发中需要注意资源的利用率和进位速度等两方面问题。多

为加法器的构成有两种方式:并行进位和串行进位方式。并行进四年级英语手抄报简单又漂亮 位加法器设有并

行进位产生逻辑,运行速度快;串行进位方式是将全加器级联构成多位加法器。

通常,并行加法器比串行加法器的资源占用差距也会越来越大。

本文将采用4位二进制并行加法器作为折中选择,所选加法器为74LS2

83,74LS283是4位二进制先行进位加法器,它只用了几级逻辑来形成和及进位

输出,由其构成4位二进制全加器;而四位的全减器可以用加法器简单的改造而

来。

采用VerilogHDL对四位的全加器-全减器进行仿真。

关键字

74LS283,全加器,并行进位,串行进位,全减器,VerilogHDL仿真

总电路设计

一、硬件电路的设计

该4位二进制全加器以74LS283(图1)为核心,采用先行进位方式,极大

地提高了电路运行速度,下面是对4位全加器电路设计的具体分析。

ﻩ图1

1)全加器

全加器是针对多于一位的操作数相加,必须提供位与位之间的进位而设计的

一种加法器,具有广泛而重要的应用。其除有加数位X和Y,还有来自低位的进

位输入CIN,和输出S(全加和)与COUT(送给高位的进位),满足下面等式:

SXYCINXY

CIN

X

YCIN

X

Y

CINXYCIN

COUTXYXCINYCIN

其中,如果输入有奇数个1,则S为1;如果输入有2个或2个以上的1,则

COUT为1。实现全加器等式的电路如图3所示,逻辑符号见下

图2

图3

2)四位二进制加法器

a)串行进位加法器

四位二进制加法器可以采用4个一位全加器及连成串行进位加法器,其实现

框图如下

输入:

Input:A3A2A1A0加数输入

B3B2B1B0加数输入

C0进位输入(CIN)

输出:

OutputS3S2S1S0和数输出

C4进位输出(COUT)

b)超前位链结构加法器

SABC

i1

COUTABC

i1

(AB)

G

i

A

i

B

i

产生进位

P

i

A

i

B

i产生

传输信号

四位全加器的进位链逻辑可以表示为如下:

C1G1P1C0

C2G2P2G1P2P1C0

C3G3P3G2P3P2G1P3P2P1C0

C4G4P4G3P4P3G2P4P3P2G1P4P3P2P1C0

根据上面对加法器的具体分析,下面给出的是4位二进制全加器的部分真值

表:

A3A2A1A0B3B2BB0CIS3S2S1S0COUT

1N

1

1

1

1

1

1

1

1

1

..............................

下面是74LS283四位二进制全加器的逻辑电路图:

...0

0

1

0

0

0

0

1

...0

1

1

1

1

0

0

0

1

0

1

0

...0

0感恩节策划

0

0

0

0

0

0

1

0

0

0

1

1

...

以上部分是对4位二进制全加器电路硬件的详细设计。

3)全减器

全减器有两种构造方法

方法一:

全减器处理二进制算法的一位,其输入位为X(被减数),Y(减数)和BIN(借

位输入),其输出位为D(差)和BOUT(借位输入)。根据二进制减法表,可以写

出如下等式:

D=X○○○YBIN

BOUT=X’*Y+X’*BIN+BIN

这些等式非常类似于全加器中的等式,应该不足为奇。所以我们可以按照全加

器的构成思路来构造全减器。

方法二:

根据二进制补码的减法运算,X-Y可以通过加法操作来完成,也就是说,可以

通过把Y的二进制补码加到X上来完成。Y的二进制补码等于Y’+1,其中Y’

等于Y的各个位取法。所以

X-Y=X+(-Y)=X+(Y’+1)

即全减器可以通过全加器来实现。

SELECT

B4

B3

B2

B1

CIN

我们将74LS283的B口的四个输入作如上图的改动,添加了一个选择端

lect,通过他来控制是做加法运算还是减法运算。

做减法运算Select=1时各个与非门的输出与输入相反,达到了去反的目的,

此时cin=1,从而实现了减法功能。

做加法运算Select=0时各个与非门的输出与输入相同,达到了保持不变目的,

此时cin=外部输入,从而实现了加法功能。

全减器的真值表(利用74ls283构成)

A3A2A1A0B3BB1B0CIS3S2S1S0COU

2NT

000

010

100

110

010

010

010

000

000

100

101

111

100

110

100

110

111

101

111

101

..........................................

所以总的逻辑电路图如下

a1

a2

a3

SELECT

B4

B3

B2

B1

CIN

1

7

3

2

4

1210

A4SUM_4

1413

A3SUM_3

31

SUM_2

5

A2

4

A1SUM_1

11

B4

15

B3

2

B2

6

B1

79

C0

C4

74LS283

总的真值表:即将全加器真值表和全减器真值表合成而得,

此处省略。

二、软件程序的设计

本设计采用VerilogHDL语言的所设计的4位二进制全加器进行仿真,下

面是具体的VerilogHDL程序:

第一步:建一VHD程序,半加器的。hadd_v.vhdwps怎么加页码 ﻫlibraryieee;

uieee.std_logic_1164.all;

_logic_unsigned.all;ﻫﻫentityh

add_visﻫport(a,b:instd_logic;

s,c:outstd_logic);

endhadd_v;

ﻫarchitectureaofhadd_vis

signaltemp:s开关插座十大排名 td_logic_vector(1downto0);ﻫ

beginﻫtemp<=('0'&A)+B;ﻫs<=temp(0);ﻫ

c<=temp(1);

enda;ﻫ编译通过

第二步:建一VHD程序,全加器。fadd_v.vhdﻫlibraryieee;

uieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

ﻫentityfadd_vis

port(a,b,ci:instd_logic;

s,co:outstd_logic);

endfadd_v;ﻫﻫarchitectureaoffadd_visﻫsignalt油漆调色

emp:std_logic_vector(1downto0);ﻫbegin

temp<=('0'&a)+b+ci;

s<=temp(0);ﻫco<=temp(1);

enda;ﻫ编译牛排怎么煎好吃 通过。ﻫ第三步:建一VHD程序。为程序包,加入全加,半加两

个实例add_v.vhdﻫLIBRARYieee;ﻫUSEieee.std_logic_1164.ALL;ﻫPAC

KAGEadd_vISﻫCOMPONENThadd_v

ﻫPORT(

a,b:INSTD_LOGIC;

s如沐春风是什么意思 ,c:OUTSTD_LOGI美食记忆 C);ﻫENDC

OMPONENT;

COMPONENTfadd_v

ﻫPORT(

a,b,ci:INSTD_LOGIC;

s,co:OUTSTD_LOGIC);

ENDCOMPONENT;ﻫﻫﻫENDadd_v;ﻫ

第四步:四位加法器程序add4_v.VHD

libraryieee;

useieee.std_logic_116l;

useWork.add_v.all;

entityadd4_visﻫport(A,B:instd_logic_vector(3downto

0);ﻫS:outstd_logic_vector(3downto0);

cout:outstd_logic);ﻫendadd4_v;ﻫarchitecturex

ofadd4_visﻫsignalN1,N2,N3:std_logic;ﻫbegin

h0:hadd_vﻫportmap(a=>A(0),b=>B(0),s=>S(0),c=>N1);

h1:fadd_vﻫportmap(a=>A(1),b=>B(1),ci=>N1,s

=>S(1),co=>N2);ﻫh2:fadd_vﻫportmap(a=>A(2),b

=>B(2),ci=>N2,s=>S(2),co=>N3);

h3:fadd_v

portmap(a=>A(3),b=>B(3),ci=>N3,s=>S(3),co=>cout);ﻫendx;

结束。

结语

通过我们小组成员的共同努力,完成了由74LS283构成的4位二进制全加

器的电路硬件设计和VerilogHDL软件仿真,最终我们的设计成果较好地完成

了设计要求,同时我们也在本次设计过程中进一步掌握了组合逻辑电路的相关知

识以及进一步熟悉VerilogHDL语言的应用。


本文发布于:2023-04-15 17:04:58,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/832098.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

上一篇:手套英语
标签:全减器
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图