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

付费下载

下载本文档

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

文档简介

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全加

2、器 .72.2全减器 .73真值表.84逻辑图与仿真 .95软件程序的设计 .136结果分析与总结 .15摘要加法器是数字系统中产生数的和的装置。加数和被加数为输入,和数与进位为输出的装置为半加器。 若加数、被加数与低位的进位数为输入,而和数与进位为输出则为全加器。 例如:为了节省资源, 减法器和硬件乘法器都可以用加法器来构成。但宽位加法器的设计是很耗资源的, 因此在实际的设计和相关饿得设计与开发中需要注意资源的利用率和进位速度两方面的问题, 多位加法器的构成主要有两种: 并行进位和串行进位。 并行进位加法器设有并行进位产生逻辑, 运行速度比串行进位快; 串行进位是将全加器采取并行级联或菊花链

3、式级联构成多位加法器。加法器也是常用作计算机算术逻辑部件, 执行逻辑操作、 移位与指令调用。此外还可以用来表示各种数值,如: BCD、加三码,主要的加法器是以二进制作运算。本文将采用 4 位二进制并行加法器作为折中选择,所选加法器为 74LS283,74LS283是 4 位二进制先行进位的加法器, 它只用了几级逻辑来形成和及进位输出,故由其构成 4 位二进制全加器;而四位全减器可以用加法器简单的改造而来,最后本文采用 VHDL对四位全加器 / 全减器进行仿真。关键字74LS283全加器、四位二进制、迭代电路、并行进位、串行进位、VHDL1 总电路设计1.1 硬件电路的设计该 4 位二进制全加器

4、以 74LS283为核心, 74LS283芯片引脚图如下图,本文采用先行进位方式, 极提高了电路运行速度, 下面是对 4 位全加器电路设计的具体分析。图 1.1 74LS283 芯片引脚图1.2 全加器( full-adder )全加器是针对超过一位的操作数相加, 必须提供位与位之间的进位而设计的一种加法器,具有广泛而重要的应用。它除了有加数位 X 和 Y,还有来自低位的进位 Cin 和输出 S与给高位的进位 Cout, 具体满足下面等式:其中,如果有奇数个1,则 S 为 1;如果输入有2 个或 2 个以上的 1,则C 为 1。全加器的功能表如下:out表 1.2.1 全加器的功能表输入输出输

5、入输出CinABSCoutCIABSCout0000010010001101010101010110010110111111逻辑表达式:实现全加器的电路图如下:图 1.2. 1 全加器等式电路图图 1.2.2 全加器简化模型图1.2.1 四位二级制加法器1.2.1.1 串行进位加法器四位二进制加法器为 4 个全加器的级联, 每个处理一位。 最低有效位的进位输入通常置为 0,每个全加器的进位输出连到高一位全加器的进位输入。图 1.1.2.1.1四位二进制加法器实现流程图输入 InputA3A2A1A0加数输入B3B2B1B0加数输入C进位输入 Cin0输出 OutputS3S2S1S0和数输入C

6、4进位输出Cout1.2.1.2 超前进位加法器为了提高运算速度, 必须设法减小或消除由于进位信号逐级传递所消耗的时间,于是制成了超前进位加法器。优点:与串行进位加法器 相比,(特别是位数比较大的时候)超前进位加法器的延迟时间大大缩短了。但是它的缺点就是电路比较复杂。1.2.1.3 超前位链结构加法器=AB+令产生进位产生传输信号,四位全加器的进位链逻辑可以表示为如下:+1.3 全减器( full-substracter )全减器有两种构造方法:1. 全减器处理二进制算法的一位,其输入位为 X(被减数), Y(减数)和 Bin (借位输入),其输入位为 D(差) 和 Bout (借位输入),根

7、据二进制减法表,可以写出如下等式:这些等式非常类似于全加器中的等式,但不足为奇。所以我们可以按照全加器的构造思路来构造全加器。2. 根据二进制补码的减法运算, X-Y 可以通过加法操作来完成,也就是说,可以通过把 Y 的二进制补码加到 X 上来完成。Y 的二进制补码等于 Y+1。其中 Y等于 Y 的各个位取反。所以得出下式:即全减器可以通过全加器来实现。其逻辑图如下图:图 1.3.1 全减器 / 全加器设计逻辑图1.4 总电路设计图 1.4 全加器全减器总电路设计2 设计思路2.1 全加器由上面对加法器的具体分析,我们分别假定两个4 位二进制数分别为A3A2A1A0、B3B2B1B0, 利用

8、Verilog HDL软件进行仿真,每个数位上的数值 1、0 用开关的高低电平表示,当开关打到红色点上时表示该位数值为 1,反之如果打到蓝色点上时为 0,输出的四位二进制用 S3S2S1S0 表示,当输出的各位上亮红灯了该位输出为 1,如果为蓝色则表示为 0,Cout 进位输入端, C4 为进位输出端,以此进行仿真。2.2 全减器首先将 74LS283的 B口的四个输入按1.3.1 作优化,添加一个选择端 select 。通过该选择端来控制做加法还是做减法运算。做减法运算时选择端 select=1 ,各个与非门的输出与输入相反, 达到了取反的目的,此时 Cin =1,从而实现了减法器的功能。做

9、加法运算时选择端 select=0 ,各个与非门的输出与输入相同, 达到了保持不变的目的,此时时 Cin =外部输入,从而实现了加法功能。3 真值表根据上面对加法器的具体分析, 下面给出的是 4 位二进制全加器的部分真值表:表3.14位二进制全加器真值表A3A2A1A0B3B2B1B0CinS3S2S1S0Cout0000000000000000000000100010000100010001000010000100011000110001101010001100100010100100000010101000100010001000011100001100000101000010110010

10、001000000001100010001000111001001101100010010100011010100001100111001000011011111010101001000111101010011010011000100100001110001001100101.AAA表3.24位二进制全减器真值表CABBBBCSSSS32103210in3210out0000000000000000000000100010000100010001000010000100011000110001101010001100100010100100000010101000100010001000011

11、100001100000101000010110010001000000001100010001000111001001101100010010100011010100001100111001000011011111010101001000111101010011010011000100100001110001001100101.4 逻辑图与仿真下面是 74LS283四位二进制全加器的逻辑电路图:图 4.174LS283 四位二进制全加器的逻辑电路图图 4.1图 4.2图 4.3图 4.45 软件程序的设计采用 Verilog HDL语言对设计的4 位二进制全加器进行仿真,下面是具体Veril

12、og HDL 程序:第一步:建立一个半加器的VHD 程序。 Hadd_v.vhdlibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.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;编译

13、通过第二步:建立一个全加器的 VHD 程序, fadd_v.vhd library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.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);coA(0),b=B(0),c=

14、N1);h1:fadd_vport map(a=A(1),b=B(1),s=S(1),co=N2);h2:fadd_vport map(a=A(2),b=B(2), s=S(2),co=N3);h3:fadd_vport map(a=A(3),b=B(3), s=S(3),co=cout);end x;结束。6 结果分析与总结由上图可以看出仿真结果与实际的运算结果是相同的。由仿真程序结果可知, 设计的程序完成了四位全加器的功能,因此,该程序正确。首先感老师的严谨教学与悉心指导。通过本次课程设计,我加深了对所学知识的理解,并对某些知识进行很好地应用,如 :全加器、 74LS283 等。同时完成了 74LS283 构成 4 位二进制全加器的电路硬件设计和 VHDL 仿真,完成课程设计的过程中也更加强化了自己查阅资料的能力,这有助于提高我们的自学能力,整个过程中我们还有请教其他同学。 总之,本次课程设计加深了我对数字逻辑设计这门课的理解, 更加激发了我的对数字逻

温馨提示

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

评论

0/150

提交评论