组合逻辑课程设计4位二进制全加器全减器原创_第1页
组合逻辑课程设计4位二进制全加器全减器原创_第2页
组合逻辑课程设计4位二进制全加器全减器原创_第3页
组合逻辑课程设计4位二进制全加器全减器原创_第4页
组合逻辑课程设计4位二进制全加器全减器原创_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、组合逻辑电路课程设计4位二进制全加器/全减器作者: 学号: 课程设计题目要求:1) 使用74LS283构成4位二进制全加/全减器。2) 阐述设计思路。3) 列出真值表。4) 画出设计的逻辑图。5) 用VHDL对所画电路进行仿真。目录摘要11总电路设计21.1硬件电路的设计21.2全加器(full-adder )31.2.1四位二级制加法器41.2.1.1串行进位加法器41.2.1.2超前进位加法器51.2.1.3超前位链结构加法器51.3全减器(full-substracter )51.4总电路设计62设计思路72.1全加器72.2全减器73真值表84逻辑图与仿真95软件程序的设计126结果分

2、析与总结12摘要 加法器是数字系统中产生数的和的装置。加数和被加数为输入,和数与进位为输出的装置为半加器。若加数、被加数与低位的进位数为输入,而和数与进位为输出则为全加器。例如:为了节省资源,减法器和硬件乘法器都可以用加法器来构成。但宽位加法器的设计是很耗资源的,因此在实际的设计和相关饿得设计与开发中需要注意资源的利用率和进位速度两方面的问题,多位加法器的构成主要有两种:并行进位和串行进位。并行进位加法器设有并行进位产生逻辑,运行速度比串行进位快;串行进位是将全加器采取并行级联或菊花链式级联构成多位加法器。加法器也是常用作计算机算术逻辑部件,执行逻辑操作、移位与指令调用。此外还可以用来表示各种

3、数值,如:BCD、加三码,主要的加法器是以二进制作运算。本文将采用4位二进制并行加法器作为折中选择,所选加法器为74LS283,74LS283是4位二进制先行进位的加法器,它只用了几级逻辑来形成和及进位输出,故由其构成4位二进制全加器;而四位全减器可以用加法器简单的改造而来,最后本文采用 VHDL对四位全加器/全减器进行仿真。关键字74LS283全加器、四位二进制、迭代电路、并行进位、串行进位、VHDL 1总电路设计1.1硬件电路的设计 该4位二进制全加器以74LS283为核心,74LS283芯片引脚图如下图,本文采用先行进位方式,极大地提高了电路运行速度,下面是对4位全加器电路设计的具体分析

4、。 图1.1 74LS283芯片引脚图1.2全加器(full-adder )全加器是针对超过一位的操作数相加,必须提供位与位之间的进位而设计的一种加法器,具有广泛而重要的应用。它除了有加数位X和Y,还有来自低位的进位Cin和输出S与给高位的进位Cout, 具体满足下面等式:S=XYCin=XY'Cin'+X'YCin'+X'Y'Cin+XYCinCout=XY+XCin+YCin其中,如果有奇数个1,则S为1;如果输入有2个或2个以上的1,则Cout为1。全加器的功能表如下:表1.2.1全加器的功能表输 入输 出输 入输 出Cin A B S C

5、outCI A B S Cout0 0 00 0 10 1 00 1 10 01 01 00 11 0 01 0 11 1 01 1 11 00 10 11 1逻辑表达式:S=ABCin=AB' Cin'+A' BCin'+A'B'Cin+AB Cin Cout=A+BCin+AB实现全加器的电路图如下:图1.2. 1全加器等式电路图 图1.2.2全加器简化模型图 1.2.1四位二级制加法器1.2.1.1串行进位加法器四位二进制加法器为4个全加器的级联,每个处理一位。最低有效位的进位输入通常置为0,每个全加器的进位输出连到高一位全加器的进位输入。

6、图1.1.2.1.1四位二进制加法器实现流程图输入InputA3A2A1A0加数输入B3B2B1B0加数输入C0进位输入Cin输出OutputS3S2S1S0和数输入C4进位输出Cout1.2.1.2超前进位加法器为了提高运算速度,必须设法减小或消除由于进位信号逐级传递所消耗的时间,于是制成了超前进位加法器。优点:与串行进位加法器相比,(特别是位数比较大的时候)超前进位加法器的延迟时间大大缩短了。但是它的缺点就是电路比较复杂。1.2.1.3超前位链结构加法器S=ABCi-1 Cout=AB+Ci-1(A+B)令Gi=AiBi 产生进位Pi=Ai+Bi产生传输信号,四位全加器的进位链逻辑可以表示

7、为如下:C1=G1+P1C0 C2=G2+P2G2+P2P1C0 C3=G3+P3G2+P3P2C1+P3P2P1C0 C4=G4+P4G3+P4P3G2+P4P3P2G1+P4P3P2P1C01.3全减器(full-substracter )全减器有两种构造方法:1. 全减器处理二进制算法的一位,其输入位为X(被减数),Y(减数)和Bin(借位输入),其输入位为D(差)和Bout(借位输入),根据二进制减法表,可以写出如下等式:Bout=X'×Y+X'×Bin+Bin这些等式非常类似于全加器中的等式,但不足为奇。所以我们可以按照全加器的构造思路来构造全加器

8、。2. 根据二进制补码的减法运算,X-Y可以通过加法操作来完成,也就是说,可以通过把Y的二进制补码加到X上来完成。Y的二进制补码等于Y+1。其中Y等于Y的各个位取反。所以得出下式:X-Y=X+-Y=X+(Y'+1)即全减器可以通过全加器来实现。其逻辑图如下图:图1.3.1全减器/全加器设计逻辑图1.4总电路设计图1.4全加器全减器总电路设计2设计思路2.1全加器由上面对加法器的具体分析,我们分别假定两个4位二进制数分别为A3A2A1A0、B3B2B1B0,利用Verilog HDL软件进行仿真,每个数位上的数值1、0用开关的高低电平表示,当开关打到红色点上时表示该位数值为1,反之如果打

9、到蓝色点上时为0,输出的四位二进制用S3S2S1S0表示,当输出的各位上亮红灯了该位输出为1,如果为蓝色则表示为0,Cout进位输入端,C4为进位输出端,以此进行仿真。2.2全减器首先将74LS283的B口的四个输入按1.3.1作优化,添加一个选择端select。通过该选择端来控制做加法还是做减法运算。做减法运算时选择端select=1,各个与非门的输出与输入相反,达到了取反的目的,此时Cin=1,从而实现了减法器的功能。做加法运算时选择端select=0,各个与非门的输出与输入相同,达到了保持不变的目的,此时时Cin=外部输入,从而实现了加法功能。3真值表根据上面对加法器的具体分析,下面给出

10、的是4位二进制全加器的部分真值表: 表3.1 4位二进制全加器真值表A3A2A1A0B3B2B1B0CinS3S2S1S0Cout0000000000000000000000100010000100010001000010000100011000110001101010001100100010100100000010101000100010001000011100001100000101000010110010001000000001100010001000111001001101100010010100011010100001100111001000011011111010101001000

11、111101010011010011000100100001110001001100101.表3.2 4位二进制全减器真值表A3A2A1A0B3B2B1B0CinS3S2S1S0Cout000000000000000000000010001000010001000100001000010001100011000110101000110010001010010000001010100010001000100001110000110000010100001011001000100000000110001000100011100100110110001001010001101010000110011

12、1001000011011111010101001000111101010011010011000100100001110001001100101.4逻辑图与仿真下面是74LS283四位二进制全加器的逻辑电路图:图4.174LS283四位二进制全加器的逻辑电路图图4.1图4.2图4.3图4.45软件程序的设计采用Verilog HDL语言对设计的4位二进制全加器进行仿真,下面是具体Verilog HDL 程序:第一步:建立一个半加器的VHD程序。Hadd_v.vhdlibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsig

13、ned.all;entity hadd_v isport(a,b: in std_logic;s,c: out std_logic);end hadd_v;architecture a of hadd_v issignal temp: std_logic_vector(1 downto 0);begintemp<=(0&A)+B;s<=temp(0);c<=temp(1);end a;编译通过第二步:建立一个全加器的VHD程序,fadd_v.vhdlibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_u

14、nsigned.all;entity fadd_v isport(a,b,ci: in std_logic;s,co : out std_logic);end fadd_v;architecture a of fadd_v issignal temp : std_logic_vector(1 downto 0);begintemp<=(0&a)+b+ci;s<=temp(0);co<=temp(1);end a;编译通过。第三步:建立一个加入全加器半加器的VHD程序,为程序包 add_v.vhdLIBRARY ieee;USE ieee.std_logic_1164.

15、ALL;PACKAGE add_v IS COMPONENT had_v PORT(a,b :IN STD_LOGIC;s,c :OUT STD_LOGIC); END COMPONENT; COMPONENT fadd_v PORT(a,b,ci :IN STD_LOGIC;s,co :OUT STD_LOGIC); END COMPONENT;END add_v;第四步:四位加法器程序 add4_v.VHD library ieee;use ieee.std_logic_1164.all;use Wore.add_v.all;entity add4_v isport(A,B:in std_

16、logic_vector(3 downto 0);S:out std_logic_vector(3 downto 0);Cout:out std_logic);End add4_v;Architecture x of add4_v isSignal N1,N2,N3:std_logic;begin h0:hadd_v port map(a=>A(0),b=>B(0),c=>N1); h1:fadd_v port map(a=>A(1),b=>B(1),s=>S(1),co=>N2); h2:fadd_v port map(a=>A(2),b=>B(2), s=>S(2),co=>N3); h3:fadd_v port map(a=>A(3),b=>B(3), s=>S(3),co=>cout);end x;结束。6结果分析与总结由上图可以看出仿真结果与实际的运算结果是相同的。由仿真程序结果可知,设计的程序完成了四位全加器的功能,因此,该程序

温馨提示

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

评论

0/150

提交评论