数电课程设计-简单加减运算电路的设计模板.doc
- 文档编号:14764299
- 上传时间:2023-06-27
- 格式:DOC
- 页数:35
- 大小:1.61MB
数电课程设计-简单加减运算电路的设计模板.doc
《数电课程设计-简单加减运算电路的设计模板.doc》由会员分享,可在线阅读,更多相关《数电课程设计-简单加减运算电路的设计模板.doc(35页珍藏版)》请在冰点文库上搜索。
简单加/减运算电路
沈阳工程学院
┊┊
课程设计
设计题目:
简单加/减运算电路
系别自控系班级测控本091
学生姓名学号
指导教师职称讲师
起止日期:
2011年8月29日起——至2011年9月4日止
沈阳工程学院
课程设计任务书
课程设计题目:
简单加/减运算电路
系别自控系班级测控本091
学生姓名学号
指导教师职称讲师
课程设计进行地点:
B222
任务下达时间:
2011年8月29日
起止日期:
2011年8月29日起——至2011年9月4日止
教研室主任2011年8月29日批准
简单加/减运算电路的设计
1简单加/减运算电路
1.1设计目的
(1)掌握1位十进制数加法运算电路的构成、原理与设计方法;
(2)熟悉QuartusII的仿真方法。
1.2基本要求
(1)实现二进制数的加/减法;
(2)设计加数寄存器A和被加数寄存器B单元;
(3)实现4bit二进制码加法的BCD调整;
(4)根据输入的4bitBCD编码自动判断是加数还是被加数。
1.3发挥部分
(1)拓展2位十进制数;
(2)MC存储运算中间值;
(3)结果存储队列;
(4)其他。
2设计过程及论文的基本要求
2.1设计过程的基本要求:
(1)基本部分必须完成,发挥部分可以在已给的范围或自己寻找资料的范围内任选;
(2)符合要求的设计报告一份,其中包括逻辑电路图、实际接线图各一份;
(3)设计题目必须仿真通过,设计过程的资料草稿上交;
(4)成绩的组成:
考勤、每天任务的完成工作量、答辩情况、报告;
2.2课程设计论文的基本要求:
(1)蓝黑色或黑色钢笔或碳素笔书写,不允许用圆珠笔。
项目齐全、字迹工整,有条件的可以打印。
(2)装订顺序:
封面、任务书、成绩评定表、中文摘要、关键词、目录、正文(正文的具体要求按老师讲课要求)、总结及致谢、参考文献、附录(逻辑电路图与实际接线图)。
3时间进度安排
顺序
阶段日期
计划完成内容
备注
1
2011.8.29
讲解主要设计内容,学生根据任务书做出原始框图
打分
2
2011.8.30
检查框图及初步原理图完成情况,讲解及纠正错误
打分
3
2011.8.31
检查逻辑图并指出错误及纠正;讲解接线图绘制及报告书写
打分
4
2011.9.1
继续修正逻辑图,指导接线图绘制方法,布置答辩
打分
5
2011.9.2
答辩、写报告
打分
沈阳工程学院
数字电子技术课程设计成绩评定表
系(部):
自控系班级:
测控本091班学生姓名:
指导教师评审意见
评价
内容
具体要求
权重
评分
加权
分
调研
论证
能独立查阅文献,收集资料;能制定课程设计方案和日程安排。
0.1
5
4
3
2
工作
能力
态度
工作态度认真,遵守纪律,出勤情况是否良好,能够独立完成设计工作。
0.2
5
4
3
2
工作
量
按期圆满完成规定的设计任务,工作量饱满,难度适宜。
0.2
5
4
3
2
说明
书的
质量
说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。
0.5
5
4
3
2
指导教师评审成绩
(加权分合计乘以12)
分
加权分合计
指导教师签名:
年月日
评阅教师评审意见
评价
内容
具体要求
权重
评分
加权
分
查阅
文献
查阅文献有一定广泛性;有综合归纳资料的能力。
0.2
5
4
3
2
工作
量
工作量饱满,难度适中。
0.5
5
4
3
2
说明
书的
质量
说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。
0.3
5
4
3
2
评阅教师评审成绩
(加权分合计乘以8)
分
加权分合计
评阅教师签名:
年月日
课程设计总评成绩
分
中文摘要
数字电子技术的迅速发展,为人们的文化、物质生活提供了优越的条件,空调、电子计算机等,都是典型的技术应用实例。
计算机的普及,为大学生提供很好的学习平台。
经过对数字电子技术基础一学期的学习,掌握了一些理论上的知识。
而课程设计正好帮我们好好的整理和实践了这些知识。
从古至今,算术是人们生活当中所不可缺少的部分。
计算时间、比较大小、经营生意等等。
加/减运算虽然简单,但是是所有计算的基础,我们应当对它充分认识和掌握。
随着现代科学技术的发展,计算机也随着出现并发展得越来越快。
虽然如此,算术运算仍是数字系统的基本功能,更是计算机中不可缺少的组成单元。
通过实验可以更加了解并掌握二进制数的算术运算,对实现加法运算和减法运算的逻辑电路也掌握得非常好。
设计简单加减法运算电路图时,必须考虑到是否进位的问题。
所以,在逻辑电路图中必须应用全加器,或者更高的要求。
加/减法运算电路,表面上看起来很简单。
可如果深入研究之后,会发现许多奥妙无穷的东西,让我们获益匪浅。
譬如说怎么巧妙地利用异或门实现数据的原码和反码之间的转换,以及当被减数小于减数时该怎样处理他的减法等等一系列的问题。
这些方方面面的问题都是我们在设计过程中自己去发现并给予解决,为以后在工作中崭露头角打好基础。
有一句好说得非常好:
凡事从简单做起。
所以加/减运算虽然简单,但是更应该精益求精!
关键词加数、被加数寄存器单元(74374),加法运算电路(74283),减法运算电路(74283),运算结果整合电路,BCD转换电路
目录
课程设计任务书 II
数字电子技术课程设计成绩评定表 IV
中文摘要 V
1设计任务描述 1
1.1设计题目:
简单加/减运算电路 1
1.2设计要求:
1
1.2.1设计目的:
1
1.2.2基本要求:
1
2设计思路 2
3设计方框图 3
4各部分电路设计及调试 4
4.1简单加/减运算电路各模块电路设计及调试 4
4.1.1数值输入电路设计及调试 4
4.1.2加数寄存器A单元的设计与调试 5
4.1.3被加数寄存器B单元设计 6
4.1.4加法运算电路 7
4.1.5减法运算电路 8
4.1.6加/减法运算整合电路 11
4.1.7加/减法运算结果整合电路 11
4.1.8BCD码转换电路 13
5简单加/减运算电路过程分析 16
5.1简单加/减运算电路的总电路图 16
5.2电路图的工作过程分析 16
5.2.1输入电路的工作过程分析 16
5.2.2寄存器A,B单元的工作过程分析 17
5.2.3加减运算整合电路的工作过程分析 18
5.2.4BCD转换电路的工作过程分析 19
6元器件清单 21
7主要元器件介绍 22
小结 26
致谢 27
参考文献 28
附录A简单加/减运算总电路 29
VI
简单加/减运算电路
1设计任务描述
1.1设计题目:
简单加/减运算电路
1.2设计要求:
1.2.1设计目的:
(1)掌握1位十进制数加法运算电路的构成、原理与设计方法;
(2)熟悉QuartusII的仿真方法。
1.2.2基本要求:
(1)实现二进制数的加/减法;
(2)设计加数寄存器A和被加数寄存器B单元;
(3)实现4bit二进制码加法的BCD调整;
(4)根据输入的4bitBCD编码自动判断是加数还是被加数。
2设计思路
设计思路:
众所周知,一个完整的加/减法运算电路由加数(减数)、被加数(被减数)、和(差)构成。
所以,我们设计的简单加/减运算电路也应由类似的结构组成。
以加法为例,由于用软件编程计算加法异于人为计算。
所以,根据设计要求,其逻辑电路图应包含数值输入部分、加数寄存器单元、被加数寄存器单元、加法运算电路、结果输出电路、BCD转换电路。
首先是数值输入电路,我想设计一个只有一个输入端的电路,这样既简单又简明,所以,我想用一个数据选择器实现这个目的,目前常用的数据选择器有74151,它有三个地址输入端,和八个数据输入端口。
由于我们需要设计的是一位十进制数的加/减法,转换成二进制后,就是两个四位二进制数相加/减。
恰好需要八位二进制数,74151就可以满足这个要求。
再结合计数器和移位寄存器就能达到同步输出目的。
加数寄存器单元:
寄存器的种类也有很多,四位、八位都可以利用。
经过讨论,我们各自选出自己比较喜欢用的寄存器,我选的寄存器是74374,因为它的结构比较简单,使用方便。
它是八位寄存器,而我们只需要四位,所以其它四位需要悬空处理即可。
被加数寄存器单元:
与加数寄存器单元类似,由于在数值输入部分,数值是同步输出地,所以只需要保持与加数寄存器单元的时钟同步就可以了。
加法运算电路:
仔细阅读教材之后,我们了解到做加法只需一个器件——74283,将需要运算的数输入后,就能输出结果。
减法运算电路:
减法运算比加法运算复杂,因为它涉及到负数问题,所以必须考虑到符号位。
如果结果是负数的话,必须把它转换成原码。
这就需要两片74283和异或门才能实现。
结果输出整合电路:
由于加法运算只需要一片74283,而减法运算则需要两片。
所以需要对它们的运算结果进行整合。
经过讨论,可以用几个二输入与门和二输入或门来解决。
BCD码转换电路:
由于在整个过程中,都是以二进制的形式运算。
所以,结果出来以后也是二进制的形式,必须把它转换成与十进制数相关的BCD码,然后再输出最后结果。
总之,整个电路由各个部分构成,只要各个模块都设计好了,就可以完成整个设计。
3设计方框图
数值输入逻辑电路
寄存器A单元
寄存器B单元
加法运算电路
减法运算电路
BCD转换电路
4各部分电路设计及调试
4.1简单加/减运算电路各模块电路设计及调试
4.1.1数值输入电路设计及调试
我们的数值输入模块设计如图4.1.1所示:
图4.1.1-1数值输入电路
我们的数据输入端采用74151数据选择器,74161计数器和74164移位寄存器相互组合而成的。
74151是一个8输入的数据选择器,我们用来作为数据的输入端口,当我们将要进行计算的数据输入到74151数据选择器的时候,我们通过利用74161做成的8进制计数器将数据逐一的输入到74164二输入移位寄存器中,接下来数据就进入下一个单元进行相应的运算。
数值输入模块的参数设置及仿真结果如下:
图4.1.1-2数值输入电路仿真结果
时钟CP1,CP2设置如图所示:
图4.1.1-3时钟CP1、CP2的设置
输入的数据a1、a2、a3、a3、a4、b1、b2、b3、b4为01111111。
从图中可以看出当经过8个时钟周期后输出的结果a5、a6、a7、a8、b5、b6、b7、b8为01111111,如图中荧光部分所示,经测试后显示的结果满足我们的输入部分的设计目的说明输入端模块调试成功。
4.1.2加数寄存器A单元的设计与调试
在运算电路做加、减运算之前,必须先对输入的加数或被加数进行存储。
可以用来存储数值的寄存器有很多种。
在我的电路图中,我采用的寄存器是74374。
该寄存器一共可以寄存八位二进制数,但我组的设计题目只需四位即可,故其它端口悬空处理,且不影响结果,证明如下:
图4.1.2寄存器74374的使用
输入的脉冲如下:
仿真结果如下:
根据结果可知,这种使用方法是正确的。
此寄存器对脉冲时钟上升沿敏感。
4.1.3被加数寄存器B单元设计
由于被加数和加数都是一个类型的数据,它们必须同时输入加法运算电路(减法运算电路)中,所以A、B单元的脉冲时钟必须一致,其它的差不多,故介绍从略。
在逻辑电路图中的应用如下:
图4.1.3寄存器A(上)、B(下)单元
由于电路图是由每个模块组成,为了更好的解释设计过程,所以报告中的各个模块电路图与最后的总电路图有一些变化,后面的模块电路图都是如此。
4.1.4加法运算电路
数值从寄存器输出以后,就进入加法器中。
如果只进行两个数简单的加法,直接用一片74283就能实现。
在74283加法器中,CIN端口既可以接高电平,又可以接低电平。
接高电平就在运算结果的基础上加1,接低电平就在运算的结果上加0。
输入端口中,A1与B1相加,A2与B2相加,其它依次类推。
输出端口中,COUT是进位端。
结构如下:
图4.1.4-1加法器74283的简单应用
由于CIN端口的双重作用,所以我可以将其设计成为加法运算和减法运算的控制端。
当给其低电平的时候,就做加法运算(结果加0);当给其高电平的时候,就做减法运算(原因后面介绍)。
为了将加法和减法运算电路整合到一起,经过讨论,我们可以在B类输入端口前加异或门。
取异或门的一端作为控制信号,当这一端输入0的时候,异或门输出的结果就和另一端的相同。
当控制信号端输入1时,异或门的输出就和另一端的输入相反。
利用异或门这个特性,可以将其一个输入端与CIN相连,作为控制信号。
需要做加法时,控制信号是低电平,不影响加法运算结果的输出。
设计如下:
图4.1.4-2加法运算电路
该4位加法器的仿真结果如下:
图4.1.4-3加法运算的测验
根据仿真结果说明该器件能实现的功能与我们设想的相同,即我们的这一部分模块调试成功。
4.1.5减法运算电路
根据二进制数的算术运算方法可知,减法运算的原理是将减法运算变成加法运算进行的。
前面提到的74283加法运算器既能实现加法运算,又可以通过改进实现减法运算,从而可以简化逻辑电路结构。
若n位二进制的原码为,则与它相对应的2的补码为:
补码与反码的关系式:
设两个数A、B想减,利用前面两式可得:
此式表明,A减B可由A加B的补码并减完成。
在此设计实验中,需要的是四位减法运算,故可通过74283完成。
根据提示,我们需要的是一个数加上另一个数的反码加1。
在B类输入端口前加非门就能实现一个数的求反,把74283的CIN端口输入高电平就能实现结果加1。
加法器相加的结果为:
其逻辑电路图如下:
图4.1.5-14位减法运算逻辑图(上)
由于,相加结果与相减只能由加法器进位输出信号完成。
当进位输出信号为1时,它与的差为0;当进位输出信号为0时,它与的差值为1,同时还应发出借位信号。
因此,只要将进位信号取反即实现了减的运算,取反后的输出为1时需要借位,故其结果也可当作借位信号。
当借位信号为1时,表示差值为负数;当借位信号为0时,差值为正数。
假设A、B两数想减,由于A-B>0的运算结果是A-B<0的运算结果的绝对值的补码。
要使差值以原码形式输出,则需要对减法运算的结果进行转换。
根据前面可知,将补码再求补得原码。
减法运算的完整电路图如下:
图4.1.5-24位减法运算逻辑图(下)
图中,A1、A2、A3、A4接低电平。
减法运算所得的差值输入到异或门的一个输入端,而另一端输入端由借位信号控制。
当借位信号为1时,SUM4~SUM1取反,并与CIN=1相加,实现求补运算;当借位信号为0时,SUM4~SUM1不取反,加法器也不实现加1运算,维持原码。
所以,为了区分正数与负数,设计总的逻辑电路时在借位信号处接一个输出表示符号位(结果为1则为正,反之为负),后面介绍。
差值为正数的仿真结果如下所示:
图4.1.5-3差值为正的运算结果
差值为负数的仿真结果如下:
图4.1.5-4差值为负的运算结果
4.1.6加/减法运算整合电路
加法运算与减法运算完成后,需要将它们进行整理,融入到一个逻辑电路图中。
同样是利用异或门的特性,在74283的输入端的合适端口接入几个异或门就能达到要求。
其逻辑电路图如下:
图4.1.6加/减法运算电路
图中,Ctrl的作用是控制加法与减法,当其为低电平的时候就运算加法;是高电平的时候就运算减法。
第一片74283输出的是加法运算的结果,接入另外的电路中与减法运算的结果相整合后,再输入BCD转换电路中;第二片74283输出的是减法运算的结果,与加法运算输出电路相整合后一起输入BCD转换电路中。
为了区分减法结果是正数还是负数,所以需在非门后面加一个输出,但是做加法的时候符号位一定是低电平。
为了满足要求,可以在非门后做一个分支接入与门的一个端口,与门的另一端口接Ctrl。
这样,当我需要做加法的时候,Ctrl是0,0与任何数相与后,结果都是零,故符号位F的输出结果是低电平;当需要做减法的时候,Ctrl是1,如果借位信号是0(不需借位,结果为正数),则相与后符号位F是低电平,反之则是高电平。
由于这个模块有两个输出端,故其测验与运算结果整合电路放一起。
4.1.7加/减法运算结果整合电路
这一模块的逻辑电路图如下:
图4.1.7-1加/减法运算结果整合电路
当加法运算电路和减法运算电路的设计分别完成以后,为了使运算结果在一个电路图的输出端口输出,以完成整个电路图的设计,必须将它们的运算结果也整合起来。
由于控制加法和减法是由一个单独的输入Ctrl完成,所以可以从它入手。
当我需要做加法的时候,需要实现的最终目的是使代表加法运算结果的二进制数经过一系列电路后,在不改变结果的情况下,输入到BCD转换电路中;同理,减法亦如此。
以加法为例:
在Ctrl输入端后面可以接一个非门,则经非门输出后为高电平1,根据与门的特性:
1与任何数相与,结果都是这个数;如果将与门的一个输入端接“加法运算结果”,另一个输入端接在非门后;那么,经与门输出的数就是加法运算的和。
所以,一共需要5个与门。
由于74283的功能就是做加法,所以必须考虑到第二片74283的输出结果产生的影响。
要解决这个问题,只需在第二片74283的每个输出端口后面接一个与门,与门的另一个输入端口接低电平0,得到低电平也很容易,只需在Ctrl后的非门后面再接一个非门。
这样,我做加法的时候,下面的减法输出端的结果都是0;当切换为做减法的时候,Ctrl为高电平1,上面的加法输出端的结果都是0。
但是最终的输出结果只有一个,所以将加法输出端和减法输出端同时接入同一个或门,一共需要5个或门。
其功能是:
加法运算结果和0相或以后,或门输出的结果还是加法运算的结果;同理,也能实现减法的运算。
为了衔接,所以调试的时候需要与上面模块的电路图融合。
输出加法运算结果的仿真如下:
图4.1.7-2加法运算结果的输出
输出减法运算结果的测验如下:
图4.1.7-3减法运算结果的输出(负数)
经校验,此模块电路设计符合要求。
4.1.8BCD码转换电路
BCD转换电路如下:
图4.1.8-1BCD码转换电路
根据设计要求,最后的输出结果应该是BCD码。
与BCD码有直接关系的是十进制数,但是整个逻辑电路运行的都是二进制码。
所以这个模块的功能是将二进制码转换成BCD码,然后输出,完成整个电路图的设计。
对于这部分模块的设计,我们主要使用型号为8fadd的加法器来实现BCD的转换。
8fadd的功能与74283的功能类似,区别在于8fadd实现的是8位二进制数相加,74283实现的是4位二进制数相加。
首先就是要了解用二进制码表示的十进制数转换成用BCD码来表示十进制数的转换关系。
对于十进制数而言,从0到9的二进制码与BCD码是相同的。
在此设计题目中,超过9以后的数,即从1010到10010之间的二进制数转换为BCD码时,就需要在原来的二进制数上加0110,这样就可以实现与二进制相对应的十进制数用BCD码来表示了。
知道转换原理后,接下来就是如何实现的问题了。
前面模块输出的二进制数是5位的二进制数,所以我们设从高位到低位的输出分别是A5、A4、A3、A2、A1。
接下来分析,从00000到01001的二进制码转换为BCD码表示时就不需要加0110,而从01010到10010之间的二进制码就需要加0110。
所以根据这两组数的特点能分析出什么情况才加0110。
首先,当A4为1的时候,不论A4、A3、A2、A1是什么,都需要加0110;当A4为0的时候,那么,接下来就要看A4的情况,如果A4为0,那么不论A3、A2、A1是什么都不需要加0110;当A4为1时,则A3、A2至少有一个是1,否则不加0110。
综上所述,加0110的条件是:
A3与A2相或后的结果和A4相与,输出的结果再和A5相或,若此结果输出为1,则需要加,0110,否则加0000。
所以,连接电路图的方法是:
将A1、A2、A3、A4、A5分别与8fadd的A1、A2、A3、A4、A5相连接,然后使用与门和或门实现判断是否加0110的条件,并将输出的结果接到B2、B3上,这样我们就实现了BCD码的转换。
下面是BCD转换电路的仿真结果:
图4.1.8-2BCD转换电路的测验
根据仿真结果显示,我们设计的转换电路是正确的。
5简单加/减运算电路过程分析
5.1简单加/减运算电路的总电路图
图5.1.1简单加/减运算电路总电路图
5.2电路图的工作过程分析
本次设计的电路是简单加/减法运算电路,该电路可以实现0到9之间的简单的加减法运算,下面是该电路的各个部分的工作过程分析.
5.2.1输入电路的工作过程分析
首先我们将要进行运算的0到9之间的,需要做加减法运算的任意两位二进制数据,同时输入到型号为74151的数据选择器之中,例如,将要送给A寄存器的a4、a3、a2、a1分别赋值为1000,将要送给B寄存器的b4、b3、b2、b1分别赋值为1001,实际上就是在进行二进制8与9的加减法运算。
用74161实现8进制计数功能,这样做是为了让数据选择器有时间规律的将里面的数据逐一的输出,在后面使用了74164移位寄存器来接收从74151数据选择器输出出来的数据。
只需要将74161的时钟与74164的时钟频率设置相同就可以了,这样只要经过8个时钟周期后就可以将数据从数据选择器中全部转移到移位寄存器里面。
仿真结果如下:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 简单 加减 运算 电路 设计 模板