课程设计---4位二进制全加器全减器_第1页
课程设计---4位二进制全加器全减器_第2页
课程设计---4位二进制全加器全减器_第3页
课程设计---4位二进制全加器全减器_第4页
课程设计---4位二进制全加器全减器_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 组合逻辑电路课程设计之4位二进制全加器/全减器作者:姓名:周志敏 学号: 姓名:王光甫 学号: 姓名:沈俊楷 学号:课程设计题目要求:使用74LS283构成4位二进制全加全减器。具体要求:1)列出真值表;2)画出逻辑图;3)用Verilog HDL进行仿真。摘要加法器是数字系统中的基本逻辑器件。例如:为了节省资源,减法器和硬件乘法器都可由加法器来构成。但宽位加法器的设计是很耗费资源的,因此在实际的设计和相关系统的开发中需要注意资源的利用率和进位速度等两方面问题。多为加法器的构成有两种方式:并行进位和串行进位方式。并行进位加法器设有并行进位产生逻辑,运行速度快;串行进位方式是将全加器级联构成多

2、位加法器。通常,并行加法器比串行加法器的资源占用差距也会越来越大。本文将采用4位二进制并行加法器作为折中选择,所选加法器为74LS283,74LS283是4位二进制先行进位加法器,它只用了几级逻辑来形成和及进位输出,由其构成4位二进制全加器;而四位的全减器可以用加法器简单的改造而来。采用Verilog HDL对四位的全加器-全减器进行仿真。关键字74LS283,全加器,并行进位,串行进位,全减器,Verilog HDL仿真总电路设计一、硬件电路的设计该4位二进制全加器以74LS283(图1)为核心,采用先行进位方式,极大地提高了电路运行速度,下面是对4位全加器电路设计的具体分析。 图11)全加

3、器全加器是针对多于一位的操作数相加,必须提供位与位之间的进位而设计的一种加法器,具有广泛而重要的应用。其除有加数位X和Y,还有来自低位的进位输入CIN,和输出S(全加和)与COUT(送给高位的进位),满足下面等式:其中,如果输入有奇数个1,则S为1;如果输入有2个或2个以上的1,则COUT为1。实现全加器等式的电路如图3所示,逻辑符号见下 图2 图32) 四位二进制加法器 a) 串行进位加法器四位二进制加法器可以采用4个一位全加器及连成串行进位加法器,其实现框图如下输入:Input: A3A2A1A0 加数输入 B3B2B1B0加数输入 C0 进位输入(CIN)输出:Output S3S2S1

4、S0 和数输出 C4 进位输出 (COUT)b)超前位链结构加法器 令 产生进位 产生传输信号四位全加器的进位链逻辑可以表示为如下:根据上面对加法器的具体分析,下面给出的是4位二进制全加器的部分真值表:A3A2A1A0B3B2B1B0CINS3S2S1S0COUT000000000000000000000010001000010001000100001000010001100011000110101000110010001010010000001010100010001000100001110000110000010100001011001000100000000110001000100011

5、1001001101100010010100011010100001100111001000011011111010101001000111101010011010011000100100001110001001100101.下面是74LS283四位二进制全加器的逻辑电路图:以上部分是对4位二进制全加器电路硬件的详细设计。3) 全减器 全减器有两种构造方法方法一:全减器处理二进制算法的一位,其输入位为X(被减数),Y(减数)和BIN(借位输入),其输出位为D(差)和BOUT(借位输入)。根据二进制减法表,可以写出如下等式:D=XYBINBOUT=X* Y + X* BIN + BIN这些等式非

6、常类似于全加器中的等式,应该不足为奇。所以我们可以按照全加器的构成思路来构造全减器。方法二:根据二进制补码的减法运算,X-Y可以通过加法操作来完成,也就是说,可以通过把Y的二进制补码加到X上来完成。Y的二进制补码等于Y+1,其中Y等于Y的各个位取法。所以X-Y=X +(-Y)= X +(Y+1)即全减器可以通过全加器来实现。B4B3B2B1CINSELECT我们将74LS283的B口的四个输入作如上图的改动,添加了一个选择端select,通过他来控制是做加法运算还是减法运算。做减法运算Select=1时各个与非门的输出与输入相反,达到了去反的目的,此时cin=1,从而实现了减法功能。做加法运算

7、Select=0时各个与非门的输出与输入相同,达到了保持不变目的,此时cin=外部输入,从而实现了加法功能。全减器的真值表(利用74ls283构成)A3A2A1A0B3B2B1B0CINS3S2S1S0COUT000000000000000000000010001000010001000100001000010001100011000110101000110010001010010000001010100010001000100001110000110000010100001011001000100000000110001000100011100100110110001001010001101

8、0100001100111001000011011111010101001000111101010011010011000100100001110001001100101.所以总的逻辑电路图如下SUM_410SUM_313SUM_14SUM_21C49B411A412B315A314B22A23B16A15C07137B4B3B2B1a2a1a374LS28324CINSELECT总的真值表:即将全加器真值表和全减器真值表合成而得,此处省略。2、 软件程序的设计本设计采用Verilog HDL语言的所设计的4位二进制全加器进行仿真,下面是具体的Verilog HDL程序:第一步:建一VHD程序

9、,半加器的。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 temp=(0&A)+B; s=temp(0); c=temp(1); end a;编译通过 第二步:建一VHD

10、程序,全加器。fadd_v.vhd library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity fadd_v is port(a,b,ci :in std_logic; s,co :out std_logic); end fadd_v; architecture a of fadd_v is signal temp :std_logic_vector(1 downto 0); begin temp=(0&a)+b+ci; s=temp(0); coA(0),b=B(0),s=S(0),c=N1); h1: fadd_v port map (a=A(1),b=B(1),ci=N1,s=S(1),co=N2); h2: fadd_v port map (a=A(2),b=B(2),ci=N2,s=S(2),co=N3); h3: fadd_v port map (a=A(3),b=B(3),ci

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论