课程设计---4位二进制全加器全减器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
组合逻辑电路课程设计之——
4位二进制全加器/全减器
课程设计题目要求:
使用74LS283构成4位二进制全加\全减器。
具体要求:1)列出真值表;
2)画出逻辑图;
3)用Verilog HDL进行仿真。
摘要
加法器是数字系统中的基本逻辑器件。例如:为了节省资源,减法器和硬件乘法器都可由加法器来构成。但宽位加法器的设计是很耗费资源的,因此在实际的设计和相关系统的开发中需要注意资源的利用率和进位速度等两方面问题。多为加法器的构成有两种方式:并行进位和串行进位方式。并行进位加法器设有并行进位产生逻辑,运行速度快;串行进位方式是将全加器级联构成多位加法器。通常,并行加法器比串行加法器的资源占用差距也会越来越大。
本文将采用4位二进制并行加法器作为折中选择,所选加法器为74LS283,74LS283是4位二进制先行进位加法器,它只用了几级逻辑来形成和及进位输出,由其构成4位二进制全加器;而四位的全减器可以用加法器简单的改造而来。采用Verilog HDL对四位的全加器-全减器进行仿真。
关键字
74LS283,全加器,并行进位,串行进位,全减器,Verilog HDL仿真
总电路设计
一、硬件电路的设计
该4位二进制全加器以74LS283(图1)为核心,采用先行进位方式,极大地提高了电路运行速度,下面是对4位全加器电路设计的具体分析。
图1
1)全加器
全加器是针对多于一位的操作数相加,必须提供位与位之间的进位而设计的一种加法器,具有广泛而重要的应用。其除有加数位X和Y,还有来自低位的进位输入CIN,和输出S(全加和)与COUT(送给高位的进位),满足下面等式:
CIN
Y
CIN
X
Y
X
COUT
CIN
Y
X
CIN
Y
X
N
CI
Y
X
N
CI
Y
X
CIN
Y
X
S
⋅
+
⋅
+
⋅
=
⋅
⋅
+
⋅'
⋅'
+'
⋅
⋅'
+'
⋅'
⋅
=
⊕
⊕
=
其中,如果输入有奇数个1,则S为1;如果输入有2个或2个以上的1,则
COUT为1。实现全加器等式的电路如图3所示,逻辑符号见下
图2
图3
2)四位二进制加法器 a) 串行进位加法器
四位二进制加法器可以采用4个一位全加器及连成串行进位加法器,其实现框图如下
输入:
Input : A3A2A1A0 加数输入 B3B2B1B0 加数输入
C0 进位输入(CIN) 输出:
Output S3S2S1S0 和数输出
C4 进位输出 (COUT)
b )超前位链结构加法器
)(11
B A
C AB COUT C B A S i i ++=⊕⊕=-- 令i i i B A G = 产生进位 i i i B A P +=产生传输信
号
四位全加器的进位链逻辑可以表示为如下:
1234123423434440
12312323330
1212220
111C P P P P G P P P G P P G P G C C P P P G P P G P G C C P P G P G C C P G C ++++=+++=++=+=
根据上面对加法器的具体分析,下面给出的是4位二进制全加器的部分真值表:
下面是74LS283四位二进制全加器的逻辑电路图:
以上部分是对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)
即全减器可以通过全加器来实现。
我们将74LS283的B口的四个输入作如上图的改动,添加了一个选择端select,通过他来控制是做加法运算还是减法运算。
做减法运算Select=1时各个与非门的输出与输入相反,达到了去反的目的,此时cin=1,从而实现了减法功能。
做加法运算Select=0时各个与非门的输出与输入相同,达到了保持不变目的,此时cin=外部输入,从而实现了加法功能。
所以总的逻辑电路图如下
总的真值表:即将全加器真值表和全减器真值表合成而得,此处省略。
二、软件程序的设计
本设计采用Verilog HDL 语言的所设计的4位二进制全加器进行仿真,下面
是具体的Verilog HDL 程序:
第一步:建一VHD 程序,半加器的。hadd_v.vhd library ieee;
use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all;
entity hadd_v is
port(a,b: in std_logic; s,c: out std_logic); end hadd_v;
architecture a of hadd_v is
signal temp: std_logic_vector(1 downto 0); begin
10 13 4
1 9