利用全加器电路创建四位二进制加法器
- 格式:doc
- 大小:1.23 MB
- 文档页数:7
四位二进制全加器设计(总3页) -CAL-FENGHAI.-(YICAI)-Company One1-CAL-本页仅作为文档封面,使用请直接删除组合逻辑电路课程设计题目:用74ls283构成四位二进制全加/减器一、设计思路74ls283为四位加法器,而如果希望进行减法运算,则需要将其转化为加法,而之前学到,二进制运算,一个数减去另一个数,即等于加上其补码。
于是得到如下公式,A-B=A+(-B)=A+B’+1。
将其全部视为加法运算,即一个数加上一个正数或者一个负数,这个数为加数B。
那么,需要将加数增添一位符号位,以区分正负。
因为74ls283芯片的引脚为低位向正在运算的数的进位,所以可以将其作为加数的符号位。
当其为正数时,输入为0,即计算A+B。
而当加数为负数时候,使其输入为1,并将B取反,再加上进位1,正好与公式相符。
根据以上原理,应用输入作为符号位,进行4位被加(减)数与5位加(减)数的加法运算。
设A3-A0为被加(减)数,B3-B0为加(减)数,M0为符号位。
当M0为0时表示正数,为1时表示负数。
而当B为负数需要取反时,刚好可以利用异或门的特性来进行,即1异或B等于B’,0异或B等于B即将B的各个数位和M0通过异或门相连,即可以做到负数取反。
二、电路图如图,输入输出ABC都用LED来指示二进制的数值,开关S2控制A的数值,S1控制B的数值以及符号位。
BX1指示灯指示的是输入B经过异或门作用后的电平。
三、由于此电路进行的是加法运算,两个加数一共2的9次方中组合,所以真值表又多又显而易见,此处将不给出。
四、举例演示:(1)5+6=11如图拨动开关,A=5,B=6,可见C为11的二进制表示1011。
(2)7-3=4如图,将M0置为1以表示负数。
BX1表示的是3的反码,在74283中进行了加1的运算即变成了补码,输出结果为0100(2)=4(10)(3)1000+1000=10000由于输出只有四位,而1000+1000会产生进位。
任务一4位全加器设计一、实验目的1、掌握运用Quartus II原理图编辑器进行层次电路系统设计的方法。
2、进一步熟悉利用Quartus II进行电路系统设计的一般流程。
3、掌握4位全加器原理图输入设计的基本方法及过程。
二、实验原理(1)设计一位半加器真值表:(2)设计一位全加器真值表:SOn=n n n−1;COn=(A n⨁B n)C n−1+A n B n;(2)设计多位全加器由一位全加器组合成多位全加器。
依次将低位全加器的进位输出端接到高位全加器的进位输入端,由四个一位全加器构成四位全加器。
三、实验过程1、一位半加器的设计(1)电路图①执行“Files”─>“New”─>“Block Diagram/Sch matic”─>“OK”②在编辑窗口输入“与非”门电路原理图,保存电路为“01.bdf”,如图:(2)仿真波形①执行“Files”─>“New”─>“Vector Waveform File”─>“OK”②在波形编辑窗口双击左键,执行“Insert Node or Bus”─> “New Finder”─> “List”─>“》”─>“OK”。
③保存文件为“01.vwf”。
④执行菜单“Processing”─> “Start Simulation”,如图:(3)仿真波形分析:(4)封装之后的图:设“01.bdf”为顶层文件,执行“Files”─>“Create、Update”─> “Create Symbol Files forCurrent Files”,保存。
如图:2、一位全加器(1)电路图①执行“Files”─>“New”─>“Block Diagram/Sch matic”─>“OK”②在编辑窗口输入“与非”门电路原理图,保存电路为“02.bdf”,如图:(2)仿真波形①设“02.bdf”为顶层文件。
4位2进制全加器仿真电路
4位2进制全加器仿真电路是一种电路设计,用于将两个二进制数相加,并输出其和。
这种电路通常由多个逻辑门组成,包括与门、或门
和异或门等。
在这个电路中,每个二进制位都被视为一个单独的电路,并且每个电路都可以独立地进行计算。
在这个电路中,每个二进制位都有三个输入:两个输入位和一个进位位。
输出也有两个:一个和位和一个进位位。
进位位是由前一位的计
算结果和当前位的输入位共同决定的。
因此,这个电路需要一个额外
的输入,即进位位,以确保正确的计算结果。
为了实现这个电路,我们需要使用逻辑门。
与门用于计算进位位,或
门用于计算和位,异或门用于计算进位位和和位之间的差异。
这些门
可以通过布尔代数表达式来表示,然后转换为逻辑门电路。
在这个电路中,我们需要使用四个单独的2位全加器电路,每个电路
都可以独立地进行计算。
这些电路可以通过级联连接来实现4位2进
制全加器电路。
在级联连接中,每个电路的输出都被连接到下一个电
路的输入,以便在整个电路中进行计算。
最终,这个电路将输出一个4位二进制数,表示两个输入数的和。
这
个电路可以用于许多应用,包括计算机中的算术运算和数字信号处理中的滤波器设计等。
总之,4位2进制全加器仿真电路是一种重要的电路设计,用于将两个二进制数相加。
这个电路由多个逻辑门组成,包括与门、或门和异或门等。
这个电路可以用于许多应用,包括计算机中的算术运算和数字信号处理中的滤波器设计等。
4位加法器的设计原理四位加法器是一种数字电路,用于实现四位二进制数的加法运算。
它由多个逻辑门组成,主要包括四个全加器、一个四路二选一选择器和一个四位二进制数输出。
在四位加法器中,每个全加器都负责计算两个输入位和上一位的进位的和。
全加器的原理是采用异或门(XOR)、与门(AND)和或门(OR)的组合。
具体来说,全加器有三个输入端,分别是两个输入位(A和B)和上一位的进位(Cin),两个输出端,分别是当前位的和(S)和当前位的进位(Cout)。
全加器的计算公式如下:S = (A XOR B) XOR CinCout = AB + (A XOR B)Cin其中,“XOR”代表异或操作,“AND”代表与操作,“OR”代表或操作。
全加器的设计原理是基于四位二进制数的加法运算规则。
在四位加法过程中,每一位的和由该位的两个输入位和上一位的进位确定。
进位则与上一位的输入位和上一位的进位有关。
因此,通过级联四个全加器,就可以实现四位加法运算。
除了四个全加器以外,四位加法器还包括一个四路二选一选择器。
这个选择器根据一个控制信号选择输出。
四位加法器的输出是一个四位二进制数,可以选择以原码、反码或补码的形式输出。
通过选择器的控制信号,可以选择输出形式。
四位加法器的工作原理是:首先,将四个输入数两两相加,得到每一位的和,以及进位。
然后,将每一位的和通过四个全加器计算得到最终的和,同时将进位以及控制信号传递给选择器。
最后,选择器选择要输出的结果。
总结来说,四位加法器是基于全加器的构建的数字电路,可以实现四位二进制数的加法运算。
它的设计原理是根据四位二进制数加法的规则和全加器的计算公式,通过级联四个全加器,并通过选择器控制输出形式,实现四位二进制数的加法运算。
四位加法器一、实验要求掌握组合逻辑电路的基本分析和设计方法;理解半加器和全加器的工作原理,用硬件描述语言实现半加器和全加器的门级设计,并使用自己设计的半加器组件构建全加器;学会利用软件仿真和远程实验系统实现对数字电路的逻辑功能进行验证和分析。
二、实验原理半加器(Half Adder)是不考虑来自低位的进位信号,其输入为 1 bit 的被加数和加数,输出为两位:本位的和以及向高一位的进位。
考虑低位进位的1位二进制加法器称为全加器(Full Adder),其输入为被加数加数以及低一位来的进位,输出为本位的和及向高一位的进位。
一位全加器可以由两个半加器及一个或门连接而成,半加器和全加器逻辑结构分别如图所示。
利用全加器级联可以构成多位二进制加法器,下图所示为四位二进制加法电路,低一位的进位输出作为高一位的进位输入。
这种结构称为逐次进位加法器(Ripple Adder)。
由于逐次进位加法器的进位信号是在各级间逐级传递的,所以高位的输出必须等低位的进位输入稳定后才有效,这就使得逐次进位加法器的延时比较大,速度比较慢。
为了提高加法器的运算速度,需要对加法器的结构进行改进。
引入进位传递信号和进位产生信号的概念,有{P n=A n⊕B n G n=A n B n利用这两个信号,可以把和信号与进位输出信号表示为{S n=P n⊕C n−1 C n=P n C n−1+G n根据上面给出的进位输出表达式,可得C0=G0+ P0C−1C1=G1+ P1C0=G1+ P1G0+P1P0C−1C2=G2+ P2C1=G2+ P2G1+P2P1G0+ P2P1P0C−1C3=G3+ P3C2=G3+ P3G2+P3P2G1+ P3P2P1G0+ P3P2P1P0C−1由于各级的进位传递信号和进位产生信号是同时生成的,所以各级的进位输出信号不再需要等待低一位的进位输入信号,从而大大减小了整个电路的延时,提高的加法器的运算速度。
一.课程设计的目的:1、学习并了解MATLAB软件。
2、尝试用Simulink建模。
3、实现对数字电路的防真设计。
4、利用全加器电路创建四位二进制加法器。
二.课程设计题目描述及要求:利用所学的数字电路的基本知识和MUTLAB软件中Simulink的应用学习,完成对数字电路的仿真设计。
用各种各样的组合逻辑电路设计全加器,输出曲线,再利用全加器设计电路创建四位二进制加法器电路图,给出输出。
三.MATLAB软件简介:MATLAB是MathWorks公司于1984年推出的一套高性能的数值计算可视化软件,集数值分析、矩阵运算、信号处理和图形显示于一体。
MATLAB是由Matrix 和Laboratory单词的前三个字母组合而成的,其含义是矩阵实验室。
Simulink是MATLAB最重要的组件之一,是实现动态系统建模、仿真的一个集成环境。
它支持线性和非线性系统,连续时间、离散时间,或者两者的相结合的仿真,而且系统是多进程的。
Simulink是从底层开发的一个完整的仿真环境和图形界面,它把MATLAB的许多功能都设计成一个个直观的功能模块,把需要的功能模块连接起来就可以实现所需要的仿真功能。
Simulink仿真应用于数字电路、数字信号处理、通信仿真、电力系统仿真、宇航仿真等领域。
由于数字系统中高低电平分别用0和1表示,因此数字电路问题往往可以转化为一个数字上的逻辑问题。
MATLAB提供了逻辑运算模块和各种触发器模块,可以方便的进行数字电路的设计和仿真。
借助于组合电路仿真常用模块Logic and Bit Operations子库中的Local Operator模块,将其拖到所建的untitled窗口中,然后鼠标左键双击该模块弹出的Block Parameters/Logical Operator对话框,按Operator栏后的黑三角来选择所需要的门电路标识符,如:AND、OR、NAND、NOR、XOR、NOT中的一个,并依次设置所需的输入、输出端子个数,之后按OK 键确定。
《电子线路设计、实验、测试》实验报告实验名称:4位二进制数加法器实验院系:电子信息与通信学院专业班级:电信1401班姓名:XXX学号:xxxxxx时间:地点:南一楼指导教师:2016 年 4 月 13 日4位二进制加法器实验一.实验目的1.熟悉ISE软件的使用2.熟悉并初步掌握Verilog HDL描述电路的方法3.掌握用仿真波形验证电路功能的方法4.熟悉使用ISE软件创建文件并下载到basys2开发板上的过程二.实验内容用ISE软件对4位二进制全加器实验进行仿真,采用4位二进制数加法器的数据流描述方式,由于被加数A和加数B都是4位的,而低位的进位Cin为1位,所以运算的结果可能为5位,用{Cout,Sum}拼接起来表示。
然后对其进行仿真,最后创建约束文件,生成bit文件下载到basys2开发板上,对开发板进行操作。
三.实验原理除本位两个数相加外,还要加上从低位来的进位数,称为全加器。
图1为全加器的方框图。
图2全加器原理图。
被加数Ai、加数Bi从低位向本位进位Ci-1作为电路的输入,全加和Si与向高位的进位Ci作为电路的输出。
能实现全加运算功能的电路称为全加电路。
全加器的逻辑功能真值表如表1中所列。
表1 全加器逻辑功能真值表图1 全加器方框图图2 全加器原理图四位全加器四位全加器如图3所示,四位全加器是由半加器和一位全加器组建而成:图3四位全加器原理图四、实验步骤与要求1.创建一个子目录,并新建一个工程项目。
2.创建一个Verilog HDL文件,并将文件添加到工程项目中并编译整个项目,查看该电路所占用的逻辑单元(Logic Elements,LE)的数量。
3.对设计项目进行时序仿真,记录仿真波形图。
4.根据FPGA开发板使用说明书,对设计文件中的输入、输出信号分配引脚。
即使用开发板上的拨动开关代表电路的输入,用发光二极管(LED)代表电路的输出。
5.重新编译电路,并下载到FPGA器件中。
改变拨动开关的位置,并观察LED灯的亮、灭状态,测试电路的功能。
加法器实验实训报告实验目的,通过设计和实现一个加法器电路,加深对数字电路原理和逻辑门的理解,掌握数字电路的设计和实现方法。
实验原理,加法器是一种基本的数字电路,用于将两个二进制数相加得到和。
常见的加法器有半加器、全加器和多位加法器。
在本实验中,我们将使用全加器来设计一个4位二进制加法器。
实验材料和设备:1. 逻辑门集成电路(如74LS08、74LS32等)。
2. 连线材料。
3. 电源。
4. 示波器(可选)。
实验步骤:1. 根据实验要求,确定所需的加法器类型和位数。
在本实验中,我们选择使用4位全加器。
2. 根据全加器的真值表,设计电路连接图。
全加器由两个半加器和一个或门组成,其中半加器用于计算两个输入位的和,或门用于计算进位。
3. 根据电路连接图,使用逻辑门集成电路进行实验电路的搭建。
根据需要,可以使用示波器检测电路的工作情况。
4. 进行电路的调试和测试。
输入不同的二进制数,观察输出结果是否符合预期。
可以使用示波器观察信号波形,以验证电路的正确性。
5. 记录实验数据和观察结果。
包括输入的二进制数、输出的和、进位等信息。
6. 分析实验结果。
比较实验结果与预期结果的差异,找出可能存在的问题并加以解决。
7. 撰写实验报告。
包括实验目的、原理、材料和设备、步骤、数据和结果分析等内容。
实验结果分析:根据实验数据和观察结果,我们可以得出结论,通过设计和实现一个4位二进制加法器电路,我们成功地实现了二进制数的相加操作。
电路的输出结果与预期结果一致,证明电路的设计和实现是正确的。
实验总结:通过本次实验,我们深入学习了数字电路原理和逻辑门的运作方式,掌握了数字电路的设计和实现方法。
同时,我们也了解到了加法器的工作原理和实现过程。
通过实际操作和观察,我们加深了对加法器电路的理解,并提高了实验操作和数据分析的能力。
总的来说,本次实验对我们的学习和实践能力有很大的提升,使我们更加熟悉和了解数字电路的应用。
通过这次实验,我们不仅掌握了加法器的设计和实现方法,还培养了我们的动手能力和问题解决能力。
用原理图层次化设计法设计一个4位二进制加法器一、实训目的1.掌握原理图输入法中的层次化设计方法。
2.进一步巩固原理图输入法。
二、实训器材计算机与Quartus Ⅱ工具软件。
三、实训指导(一)实训原理1.系统分析两个4位二进制数相加运算:a3 a2 a1 a0+ b3 b2 b1 b0 co s3 s2 s1 s0 其中: s0=a0+b0s1=a1+b1+进位co0s2=a2+b2+进位co1 s3=a3+b3+进位co2so=进位co3根据以上分析,4位二进制加法器可分解为4个全加器按一定方式连接而成。
2.全加器电路真值表全加器的真值表如表2-1所示。
表2-1 全加器电路真值表(二)实训步骤1.输入编辑底层原理图文件fadd.bdf(1)建立工程项目,其工程文件夹为fsdd,以fadd.bdf为顶层实体文件名。
(2)根据全加器电路的真值表建立原理图文件fsdd,bdf。
(3)编辑原理图文件fsdd.bdf。
一位全加器原理图如图2-1所示。
图2-1 一位全加器原理图2.编译仿真原理图文件fadd.bdf并生成符号文件fadd.bsf(1)编译原理图文件fadd.bdf。
若编译不过关,先双击第一个错误提示,可使鼠标出现在第一个错误处附近,检查纠正第一个错误后保存再编译,如果还有错误,重复以上操作,直至最后通过。
(2)仿真原理图文件fadd.bdf。
认真核对输入/输出波形,检查设计的电路功能正确与否。
一位全加器仿真波形如图2-2所示。
图2-2 一位全加器仿真波形图(3)生产符号文件fadd.bdf。
在原理图编辑界面下执行File→Greate/Update→Greate Symbol File for Current File命令,生成符号fadd.bsf。
3.输入编辑顶层电路原理图文件add4.bdf新建一个工程文件夹add4,把fadd.bdf、fadd.bsf文件放入其中,新建一个原理图文件,使用插入符号命令,选择fadd.bsf将它放置于原理图编辑区中。
一.课程设计的目的:
1、学习并了解MATLAB软件。
2、尝试用Simulink建模。
3、实现对数字电路的防真设计。
4、利用全加器电路创建四位二进制加法器。
二.课程设计题目描述及要求:
利用所学的数字电路的基本知识和MUTLAB软件中Simulink的应用学习,完成对数字电路的仿真设计。
用各种各样的组合逻辑电路设计全加器,输出曲线,再利用全加器设计电路创建四位二进制加法器电路图,给出输出。
三.MATLAB软件简介:
MATLAB是MathWorks公司于1984年推出的一套高性能的数值计算可视化软件,集数值分析、矩阵运算、信号处理和图形显示于一体。
MATLAB是由Matrix 和Laboratory单词的前三个字母组合而成的,其含义是矩阵实验室。
Simulink是MATLAB最重要的组件之一,是实现动态系统建模、仿真的一个集成环境。
它支持线性和非线性系统,连续时间、离散时间,或者两者的相结合的仿真,而且系统是多进程的。
Simulink是从底层开发的一个完整的仿真环境和图形界面,它把MATLAB的许多功能都设计成一个个直观的功能模块,把需要的功能模块连接起来就可以实现所需要的仿真功能。
Simulink仿真应用于数字电路、数字信号处理、通信仿真、电力系统仿真、宇航仿真等领域。
由于数字系统中高低电平分别用0和1表示,因此数字电路问题往往可以转化为一个数字上的逻辑问题。
MATLAB提供了逻辑运算模块和各种触发器模块,可以方便的进行数字电路的设计和仿真。
借助于组合电路仿真常用模块Logic and Bit Operations子库中的Local Operator模块,将其拖到所建的untitled窗口中,然后鼠标左键双击该模块弹出的Block Parameters/Logical Operator对话框,按Operator栏后的黑三角来选择所需要的门电路标识符,如:AND、OR、NAND、NOR、XOR、NOT中的一个,并依次设置所需的输入、输出端子个数,之后按OK 键确定。
利用这些基本门电路组成加法器逻辑电路。
四.课程设计的内容:
1、1位全加器的设计。
所谓全加器,就是带进位输入和进位输出的加法器。
1位全加器有3个输入,分别是加
数A、B和来自低位的进位C;还有两个输出,分别是和数SUM以及向高位进位D。
根据全加运算的逻辑关系,可列出一位全加器的真值表,如表1所示。
A B C SUM D
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
表1
列出SUM和D的最简与或表达式:
对SUM进行一次变换的SUM=A⊕B⊕D这样仅用一个或非门就实现了SUM的电路。
基于逻辑表达式得到如下逻辑图(图1)。
图1、逻辑图
2、用Simulink创建电路模型,完成逻辑电路。
图1、组合模块
3、用鼠标选中这部分逻辑电路,选中右击,在弹出的快捷菜单中选择Create Subsystem命令,自动生成一个子系统。
图2、全加器子系统
4、在顶层图中将这个子系统模块命名为ADD0。
图3、子系统模块ADD0
5、4位全加器设计。
1)、要将4个1位全加器级联起来,前一个的高位端D送入后一个的低位进位端C就可以实现4位全加器。
电路如图4.
图4、4位全加器
注:全加器脉冲源参数设置如表2.
A0 A1 A2 A3 B0 B1 B2 B3
幅度 1 1 1 1 1 1 1 1
周期 4 4 4 4 4 4 4 4
脉宽 1 1 1 1 3 3 3 3
相位延迟0 1 2 3 0 1 2 3
采样时间 5 5 5 5 5 5 5 5
表2
2)、连线以及仿真:
选择Simulation的Configuration Parameters命令,将仿真时间设置为0-20s,其余采用默认值,然后将这个模型保存到MATLAB的work目录下。
最后,单击模型窗口中的进行图标进行仿真,双击打开示波器Scope1,它监视的第一个加数对应的4个输入信号(图5);双击打开示波器Scope2,它监视的第二个加数对应的4个输入信号(图6)。
图5、第一个加数的波形图6、第二个加数的波形
从这两个波形图上读出加数值,并计算理论结果。
其结果如下:
0~5s:
A3A2A1A0=0001 B3B2B1B0=0001 DS3S2S1S0=00010
5~10s:
A3A2A1A0=0010 B3B2B1B0=0011 DS3S2S1S0=00101
10~15s:
A3A2A1A0=0100 B3B2B1B0=0111 DS3S2S1S0=01011
15~20s:
A3A2A1A0=1000 B3B2B1B0=1110 DS3S2S1S0=10110
双击示波器Scope打开输出波形(图7)。
图7、加法器的输出结果
对比发现实际的输出结果和计算结果是一致的。
五、小结:
通过本次课程设计,我了解了系统仿真的基本思路和方法,同时也了解了仿真在其他领域中的应用。
掌握了用Simulink实现4位全加器的步骤:
1)、添加模块:首先从MATLAB命令窗口运行Simulink,新建一个电路模型。
2)、修改模块参数:首先要完成逻辑部分的电路,生成子系统,封装生成模块。
设置所有参数。
3)、连线及仿真:连线标注,进行理论结果计算并与实际输出比较。
若一致,则完成了设计和仿真。
学习并初步了解了MATLAB软件,尝试了用Simulink建模,实现了对数字电路的仿真设计。
在查阅资料的同时,加上同学和老师的帮助实现了利用全加器电路创建四位二进制加法器。
通过验证证明了仿真实验的成功。
经过这次课程设计我知道了学习计算机语言要多练习,在学习的同时要举一反三,和同学、老师多作交流。
同时我也认识到自己在学习上的不足,以及知识掌握不够扎实,明确了以后学习的方向。
总之,经过这次课程设计让我认识到自身的不足,同时也学习到很多知识以及技巧。
感谢周老师给我们的课程设计作指导!
目录
一.课程设计的目的: (1)
二.课程设计题目描述及要求: (1)
三.MATLAB软件简介: (1)
四.课程设计的内容: (1)
五、小结: (6)。