4位加减法并行运算电路(包括拓展8位)_第1页
4位加减法并行运算电路(包括拓展8位)_第2页
4位加减法并行运算电路(包括拓展8位)_第3页
4位加减法并行运算电路(包括拓展8位)_第4页
4位加减法并行运算电路(包括拓展8位)_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

1、精选优质文档-倾情为你奉上二一二二一三学年 第一学期电子信息工程系脉冲数字电路课程设计 报告书班 级: 电子信息工程(DB)1004班 课程名称: 脉冲数字电路课程设计 学时: 1 周 学生姓名: 学 号: 指导教师: 廖宇峰 二一二年 九 月 专心-专注-专业一、设计任务及主要技术指标和要求 设计目的1. 掌握加/减法运算电路的设计和调试方法。2. 学习数据存储单元的设计方法。3. 熟悉集成电路的使用方法。 设计的内容及主要技术指标1 设计4位并行加/减法运算电路。2 设计寄存器单元。3 设计全加器工作单元。4 设计互补器工作单元。5 扩展为8位并行加/减法运算电路(选作)。 设计的要求1

2、根据任务,设计整机的逻辑电路,画出详细框图和总原理图。2 选用中小规模集成器件(如74LS系列),实现所选定的电路。提出器材清单。3 检查设计结果,进行必要的仿真模拟。二、方案论证及整体电路逻辑框图 方案的总体设计步骤一 因为参与运算的两个二进制数是由同一条数据总线分时串行传入,而加法运算的时候需要两个数的并行输入。所以需要两个寄存器分别通过片选信号,依次对两个二进制进行存储,分别在寄存器的端口将两个4位二进制数变成并行输出;步骤二 为了便于观察置入两个4位二进制数的数值大小,根据人们的习惯,在寄存器的输出端,利用两个七段译码器将二进制数转化为十进制数;步骤三 通过开关选择加/减运算方式;步骤

3、四 若选择加法运算方式,对所置入数送入加法运算电路进行运算; 即: 【十进制:】 又或: 【十进制:】步骤五 若选择减法运算方式,对所置入数送入减法运算电路进行运算;即: 【十进制:】 又或: 【十进制:】步骤六 为了便于观察最后的计算结果,以及对最后的计算结果的正确性能做出快速的判断,根据人们的习惯,同上,将计算出的结果输入七段译码器进行译码显示。 方案的讨论【细节一】 用片选信号Load A / Load B控制寄存器的时候,片选信号可以由数字开关实现,也可以由时序脉冲实现,考虑到实际器件中的运用,选择数字开关作为片选信号。【细节二】 寄存器应设置有初始化置零(端口)功能,能对运算进行置零

4、处理,增强对加/减寄存器的控制。【细节三】 通过资料【】可以知道,减法可以转化成加法,进行运算,即,所以减法器可以在加法器的基础上完成。将减数通过互补器进行运算,求出补码,即可以在加法器的基础上进行减法的运算。【细节四】 利用数字开关来选择+/-的运算方式。【细节五】 作十以内的加法运算的时候,结果可能是018,然而译码器只能显示09的范围,所以需要增加一篇译码器,显示计算结果的十位,同时对计算的结果需要做一定的处理,使其各位能正常显示。【细节六】 作减法运算的时候,会出现减数A小于被减数B的情况,这个时候结果为负数,所以需要增设一位显示符号的译码器,对负号进行显示。另外个位显示的译码器只需要

5、显示计算结果的绝对值,需要对计算结果进行取反处理。【细节七】作为结果显示的段式数码管有两种接法,根据选择的数码管的种类,决定数码管的连接方式,所以连接电路前,首先要判断数码管是共阴极还是共阳极。 整体电路逻辑框图串行输入的两个二进制数寄存器并行输出的数1并行输出的数2数码管显示十进制结果数码管显示十进制结果开关选择运算方式(+/-)减法器加法器互补器:求数2的反码、补码全加器对数1和数2进行加法运算全加器:对处理后的数据进行加法运算译码显示计算结果三、单元电路设计 寄存器【寄存器的设计思路】同一根总线上的两个四位二进制数要依次存储到2个不同的寄存器中,并行输出。首先得建立一个片选信号Load

6、A / Load B;片选信号利用数字开关实现,将传输线的数据分别通过数字开关Load A和Load B接入到两个寄存器的右移端口,数据传输之间开关先全部保持关闭状态;当输入A的数据时,打开A寄存器的数字开关Load A,4位二进制数即可存储在寄存器A中,并在寄存器的输出端口变成并行输出;当数据A传送完毕后,关掉开关Load A,打开寄存器B的开关Load B,则第二个4位二进制数存储在寄存器中,同理在寄存器B的输出端口变成并行输出。【寄存器利用74LS194实现】图1 74LS194的外引脚排列图表1 74LS194的功能表功能输 入输 出清除00000送数111abcdabcd左移101右

7、移110保持100保持1图2 寄存器单元的设计 加法器【加法器的设计思路】首先,我最先想到的是课本中的全加器的知识,即:两个异或门、两个与门和一个或门组成全加器,可实现一位二进制加逻辑运算。由此联想,可以在一位二进制加逻辑器的基础上,实现4位二进制全加器。也就是四个全加器通过串行进位的方式,将低位的进位输出信号接到高位的进位输入端,四个全加器依次串行连接,并将最低位的进位输入端接逻辑“0”,就组成了一个可实现四位二进制数并行相加的逻辑电路。可是这样的电路需要多个门电路,且电路复杂,有没有直接集成的电路可以实现多位数的加法呢,集成的加法运算电路不仅可以化简电路的接线、计算,而且在实际电路的制作中

8、更可以减少成本,节约资源。通过查阅资料【】,得到可以利用超前进位产生器74LS283实现四位二进制数并行相加。但是加法的结果处理却存在一个问题,在进行了A、B两个数的加法以后,由于译码显示器只能显示09,当 9时不能显示,所以需要用到两个译码器,其中一个表示计算结果的十位,另一个表示计算结果的各位;我的想法是,若 9,超前进位加法器74LS283的进位信号为1,接入到第二个译码器中,使计算结果的十位直接显示为1;表示个位的译码器,可以将计算结果减去10(同于以上的减法器的思想,就是加上二进制数值0110),此时译码器显示的结果等于原本的计算结果的个位。最终使得两片译码器的显示结果即为计算结果。

9、所以针对加法的计算结果大于9的情况,对计算结果加上(0110),即可得修改后的真值表如下:表2 74LS283输出结果的修改真值表输 出对应十进制数数值转换的关系译码器十位显示数字译码器个位显示数字0000000直接对应000001011000100220001103300100044001010550011006600111077010000880100109901010110需要转化100101111111011001121201101113130111011414011111151510000016161000101717100100181810011019无关项101000201010

10、102110110022101110231100002411001025110101261101112711100128111011291111013011111131 (式3)(式4)由式3、式4可得 即:实现功能转化需要两个与门、一个三输入与非门、一个非门既可以实现。【加法运算电路利用74LS283实现】图3 74LS283的外引脚排列图图4 加法运算器单元的设计 互补器【设计互补器的目的】由资料【】知,减法运算的原理是将减法运算变成加法运算进行的。而74LS283既能实现加法运算,又可实现减法运算,从而可以简化数字系统结构。若n位二进制原码为N原,则与它相对应的2的补码为N补=2n -

11、N原 (式1)补码与反码的关系式为 N补=N反+ 1 (式2)当电路的功能为计算两个数A、B相减时,利用式1和式2可得AB = A+B补- 2n = A+B反 + 1 - 2n所以只要求得减数的反码,即可利用加法器对两个数进行减法运算。【互补器的设计思路】首先我想到的是将B逐位求反,然后再与1相加,可是这要用到4个非门,一个全加器,和一个置1的开关;但是这里又有一个麻烦,我们首先必须判断这个数字B前的符号问题,即判断到底是进行何种运算。联想到我们之前有一个加减选择的开关,那么可以置1的开关可以和这个加减选择的开关进行化简,从而直接对B进行转化。因为,所以可以设置一个开关,低电平的时候表示是选择

12、加法运算,高电平选择减法运算,然后这个开关与B输出的每一位数字一次进行异或运算;即当我们选择加法运算的时候,是低电平(也就是0),即数字B与0进行异或运算,所得到的结果仍然是B;当我们选择减法运算的时候,开关是高电平(也就是1),数字B与1进行异或运算,所得的结果则是这样所得到的结果再送入到74LS283中,选择加法时,74LS283的输出结果是;选择减法的时候,将进位输入端接逻辑1(直接接在加/减选择开关上,此时的开关即为1)以实现加1,由此求得B的补码。加法器相加的结果为。【互补运算单元利用异或门74LS86实现】图5 74LS86的内部图74LS86=1=1=1=1 设计结果如下:图6

13、互补运算器单元的设计 减法器图7.1 减法运算器单元的设计:AB时图7.2 减法运算器单元的设计:AB时 译码显示器【译码显示电路的目的】为了让输入的二进制的数值大小和输出结果的输出大小便于观测、做粗略的正确性判断,按照人们的阅读习惯,想设计一个二进制转化成十进制的译码器,并通过数码管之间显示数值的大小。通过查阅资料,得以知道74HC4511可以进行4位二进制的译码,结果直接显示在7段式译码管中。【译码显示单元电路的设计思路】为了让输入的二进制的数值大小和输出结果的输出大小便于观测、做粗略的正确性判断,按照人们的阅读习惯,想设计一个二进制转化成十进制的译码器,并通过数码管之间显示数值的大小。通

14、过查阅资料,得以知道74HC4511可以进行4位二进制的译码,结果直接显示在7段式译码管中。在输入数据的时,直接将两个寄存器的输出端口的对应接在74HC4511的四个端口上,即可直接显示输入的两个四位二进制数值的十进制数值大小;在进行加法运算的时候,由于两位十以内的加法计算结果在018之间,所以输出结果需要两位译码器,一个译码器显示计算结果的十位,一个译码器显示计算结果的个位。因为十位只会显示1,所以可以直接判断计算结果大于9,然后给译码器置1,而各位的显示需要将计算结果减去10,根据同上的减法思想,也就是加上二进制的110进行处理。减法则不需要显示十位(减法的计算结果09)。在进行减法运算的

15、时候还会出现被减数A大于减数B的情况,导致计算的结果是负数,这个时候需要再添加一个数码管显示符号。【译码显示单元电路利用74HC4511七段数码管实现实现】图8 74LS4511引脚图表3 74HC4511功能表十进制数或功能输 入输 出abcdefg字形0LHHLLLLHHHHHHL01LHHLLLHLHHLLLL12LHHLLHLHHLHHLH23LHHLLHHHHHHHLH34LHHLHLLLHHLLHH45LHHLHLHHLHHHHH56LHHLHHLLLHHHHH67LHHLHHHHHHLLLL78LHHHLLLHHHHHHH89LHHHLLHHHHHHHH910LHHHLHLLLL

16、LLLL熄灭11LHHHLHHLLLLLLL熄灭12LHHHHLLLLLLLLL熄灭13LHHHHLHLLLLLLL熄灭14LHHHHHLLLLLLLL熄灭15LHHHHHHLLLLLLL熄灭灯测试LHHHHHHH8灭 灯LHLLLLLLL熄灭锁 存HHH*在实际电路中,段显示数码管有两种,一种是共阴极,一种是共阳极,根据其类别的不同,组装方式也不同,如下图所示:图 段式数码管的两种接法四、电路性能仿真调试 实际电路性能仿真调试结果【进行仿真时的完整电路图】【无进位的加法运算】 【十进制:】【有进位的加法运算】 【十进制:】【时的减法运算】 【十进制:】【时的减法运算】 【十进制:】五、完整电

17、路图及元器件列表 整体电路图 元件、器件明细表器件型号器件功能器件数量备注单刀双掷开关片选信号选择开关初始化置零加减法选择器(数字的置入)1074LS194移位寄存器274LS283超前进位加法器274LS86异或门974LS04非门274LS08与门27402或非门17427三输入同或门1DCD_HEX_BLUE七段式数码显示管5导线若干电源15V六、设计总结 设计成果的评价本次课程设计的结果比较满意。不仅独立设计出每个单元电路,并且经过整合化简,完成了完整的电路图。并对整体电路进行了仿真,通过数码管,使输入数以及计算结果都一目了然,可以便于观察,并做粗略的正确性判断。 设计的特点通过右移寄

18、存器将同一总线上的两个四位二进制数据依次存储,并变成并行输出;寄存器设置了清零端口,并可以通过片选信号Load A / Load B选择存储数据A和数据B的时间、顺序;利用超前进位加法器进行两个四位二进制数的加法,使加法电路大大简化;利用了减法与加法的转换关系,通过对减数进行处理,用加法的方式作减法运算,同样利用超前进位加法器,利于电路的简化;巧妙地利用了开关个门电路,实现了加减法运算的选择、减数的求反码、求补码的运算、符号的生成;设置了进位端口,可以表示出两位数计算结果的十位,并可以表现出负数的计算结果的符号;设置了数码管对输入的数据以及最后的计算结果进行了显示,可以直观表示参与运算的数和运

19、算结果,符合一般人的观察习惯。亦便于粗略判断结果的正确性。 设计存在的问题在实际仿真的过程中,利用开关总线置入数据,非常的麻烦,需要考虑的时间脉冲,必须精确地控制输入的频率。所以在仿真的时候,直接采用的是开关置数的方法,对寄存器实现串行、并行的功能没有进行考证。另外输入数据的时候,我预设了是进行的10以为的两位数的加/减法,而实际上,四位二进制的范围是015. 设计心得这一次的课程设计做的非常的幸苦和曲折,首先我一共学习了三款仿真软件:Atium Designer 、proteus、Multisim,最先选择Atium Designer的原因是它是Protel的升级,基于一个软件集成平台,把为

20、电子产品开发提供完整环境所需的工具全部整合在一个应用软件中。并且Altium Designer 包含所有设计任务所需的工具:原理图和HDL 设计输入、电路仿真、信号完整性分析、PCB 设计、基于FPGA 的嵌入式系统设计和开发。另外可对Altium Designer 工作环境加以定制,以满足用户的各种不同需求。然而功能强大的Altium Designer却让我无从下手,连元器件的查找都十分的困难,最后只得放弃,选择了proteus。proteus的单片机仿真能力很强,但是,在我完成了我全部的设计进行仿真的时候,我却又遇到了困难,存在着错误,后来经过仔细排查,终于一一,然而当出结果的时候,我却发现无论如何显示运算结果的两个数码管中的显示十位的部分无法显示,通过在仿真的过程中,观测每一个节点的高低电位,我发现是最后一个连接十位的数码显示管的异或门出现了问题,当两个输入都是低

温馨提示

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

评论

0/150

提交评论