全加器的设计

合集下载

实验五全加器的设计及应用

实验五全加器的设计及应用

实验五全加器的设计及应用一、实验目的(1)进一步加深组和电路的设计方法。

(2)会用真值表设计半加器和全加器电路,验证其逻辑功能。

(3)掌握用数据选择器和译码器设计全加器的方法。

二、预习要求(1)根据表5-1利用与非门设计半加器电路。

(2)根据表5-2利用异或门及与非门设计全加器电路。

三、实验器材(1)实验仪器:数字电路实验箱、万用表;(2)实验器件:74LS04、74LS08、74LS20、74LS32、74LS86、74LS138、74LS153;四、实验原理1.半加器及全加器电子数字计算机最基本的任务之一就是进行算术运算,在机器中的四则运算——加、减、乘、除都是分解成加法运算进行的,因此加法器便成了计算机中最基本的运算单元。

(1)半加器只考虑了两个加数本身,而没有考虑由低位来的进位(或者把低位来的进位看成0),称为半加,完成半加功能的电路为半加器。

框图如图5-1所示。

一位半加器的真值表如表5-1所示。

表5-1 半加器真值表0 0 00 1 01 0 0 1 1 0 1 02 0 1 0 0 0图5-1 半加器框图由真值表写逻辑表达式:画出逻辑图,如图5-2所示:(a)逻辑图(b)逻辑符号图5-2 半加器(2)全加器能进行加数、被加数和低位来的进位信号相加,称为全加,完成全加功能的电路为全加器。

根据求和结果给出该位的进位信号。

即一位全加器有3个输入端:(被加数)、(加数)、(低位向本位的进位);2个输出端:(和数)、(向高位的进位)。

下面给出了用基本门电路实现全加器的设计过程。

1)列出真值表,如表5-2所示。

表5-2 全加器真值表半加器全加器0 0 00 1 01 0 0 1 1 0 1 02 0 1 0 0 10 0 10 1 11 0 1 1 1 1 1 0 1 11 12 1从表5-2中看出,全加器中包含着半加器,当时,不考虑低位来的进位,就是半加器。

而在全加器中是个变量,其值可为0或1。

VHDL全加器的设计

VHDL全加器的设计

实验四全加器的设计一、实验目的通过VHDL语言设计4位全加器,掌握加法器的设计方法;学习利用软件工具的模块封装(1位全加器)及连接使用方法,在软件工具的原理图输入法下完成4位全加器的设计。

二、实验原理根据数字电路全加器的理论知识,按图1所示的1位全加器的管脚图进行设计。

图 1 1位全加器管脚图三、实验内容用VHDL语言设计1位全加器,进行编译、波形仿真及器件编程。

代码一见附录,仿真图如下图 2 1位全加器功能仿真图使用原理图设计4位全加器进行编译、波形仿真及器件编程。

原理图如下仿真图如下用VHDL语言设计4位全加器,进行编译、波形仿真及器件编程,代码二见附录,仿真图如下图 5 4位全加器功能仿真图附录代码一、library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity swqjq isport (a,b:in std_logic;ci:in std_logic;co:out std_logic;s:out std_logic);end swqjq;architecture zhang of swqjq isbeginprocess (a,b,ci)beginif(a='0'and b='0'and ci='0') thens<='0';co<='0';elsif(a='1'and b='0'and ci='0') thens<='1';co<='0';elsif(a='0'and b='1'and ci='0') thens<='1';co<='0';elsif(a='1'and b='1'and ci='0') thens<='0';co<='1';elsif(a='0'and b='0'and ci='1') thens<='1';co<='0';elsif(a='0'and b='1'and ci='1') thens<='0';co<='1';elsif(a='1'and b='0'and ci='1') thens<='0';co<='1';elses<='1';co<='1';end if;end process;end zhang;代码二、library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity adder4b isport ( ci:in std_logic;a,b:in std_logic_vector(3 downto 0);s:out std_logic_vector(3 downto 0);co:out std_logic);end adder4b;architecture zhang of adder4b issignal sint:std_logic_vector(4 downto 0); signal aa,bb:std_logic_vector(4 downto 0); beginaa<='0'&a(3 downto 0);bb<='0'&b(3 downto 0);sint<=aa+bb+ci;s(3 downto 0)<=sint(3 downto 0);co<=sint(4);end zhang;。

实验二 全加器的设计

实验二  全加器的设计

实验二全加器的设计一、实验目的1、掌握MAX+plus 软件的使用方法。

2、掌握层次化设计方法:底层为文本文件,顶层为图形文件。

3、通过全加器的设计掌握利用EDA软件进行电子线路设计的过程。

二、实验设备1、计算机2、MAX+plus II软件及实验箱三、实验原理加法器是数字系统中的基本逻辑器件,减法器和硬件乘法器都可由加法器来构成。

全加器,全加器是实现两个一位二进制数及低位来的进位数相加(即将三个二进制数相加),求得和数及向高位进位的逻辑电路。

所以全加器有三个输入端(A,B,C)和两个输出端SO,CO)。

1、逻辑关系:CO=AB SO=AB+BA=A⊕B语句:SO<=NOT(A XOR (NOT B))CO<=A AND B2、逻辑关系:语句:SO<=NOT(A XOR (NOT B)); CO<=A AND B;SO=A⊕B⊕C CO=AB+CA+CB四、实验内容1、半加器的设计:完成源程序的编辑、编译、仿真。

2、两输入或门的设计:完成源程序的编辑、编译、仿真。

3、全加器的设计:完成源程序的编辑、编译、仿真。

五、实验步骤1、启动MAX+plus II 10.0 软件2、底层文件:新建文件文本文件:(1)File \ New \Text Editor File(2)在文本文件上输入代码(3)保存文本文件:File\Save\H-adder.vhd 扩展名为*.vhd(4)设置为当前文件:点击File\Project\set project to current file 设置项目为当前文件(5)编译1)选择芯片型号:点击Assign\Device:Ep1k30QC208-32)编译:点击MAX+plus II \ Compiler \ Start 开始编译,生成.pof 文件(CPLD) (6)仿真1)启动MaxplusII\Wavefrom editor 菜单,进入波形编辑窗口;2)导入输入输出节点:将鼠标移至空白处并单击鼠标右键,Enter Nodes from SNF 将欲仿真的所有I/O管脚加入。

一位全加器的设计

一位全加器的设计

一位全加器的设计全加器的主要作用是将两个二进制数相加,并产生一个结果和一个进位。

在设计全加器时,我们需要考虑以下几个方面:输入信号的处理、逻辑门的选择、进位的传递、和输出结果的计算。

首先,我们需要考虑输入信号的处理。

一个全加器需要接收两个二进制数和一个进位作为输入信号。

每个输入信号都可以用一个二进制位表示,这些位可以通过电路的输入端口进入电路。

在设计全加器时,我们需要确定如何使用这些输入信号。

其次,我们需要选择逻辑门来实现全加器。

逻辑门是数字电路的基本组件,通常用于实现计算和逻辑运算。

在设计全加器时,我们可以使用与门、或门和异或门来完成计算。

接下来,我们需要实现进位的传递。

当两个二进制数相加时,如果它们的和超过了二进制数能够表示的范围,就会产生一个进位。

为了实现进位的传递,我们可以使用逻辑门来判断是否产生了进位,并将进位传递到高位。

最后,我们需要计算输出结果。

一个全加器的输出结果是一个和位和一个进位位。

和位表示两个输入位的和,进位位表示是否产生了进位。

我们可以通过使用逻辑门和输入信号来计算输出结果。

下面是一个典型的全加器电路的设计:首先,我们将输入信号连接到三个输入端口。

一个输入端口用于接收两个输入二进制数,另一个输入端口用于接收进位。

接下来,我们将输入信号与逻辑门连接起来。

我们可以使用两个异或门来实现和位的计算,然后使用一个与门计算进位。

最后,我们将输出信号连接到两个输出端口。

一个输出端口用于输出和位,另一个用于输出进位位。

在实际设计中,我们需要综合考虑多个全加器的连接,以实现更复杂的计算。

这可以通过将多个全加器链接成一个加法器来实现。

加法器是一个包含多个全加器的数字电路,可以将更长的二进制数相加。

总结起来,全加器是一个重要的数字电路组件,用于将两个二进制数相加。

在全加器的设计过程中,我们需要考虑输入信号的处理、逻辑门的选择、进位的传递、和输出结果的计算。

通过合理选择逻辑门和连接输入输出信号,我们可以实现一个高效的全加器。

第01章 全加器的设计

第01章 全加器的设计

1.2 项目理论知识
1.2.1 EDA技术简介 1.2.2 可编程逻辑器件的硬件结构 1.2.3 QuartusⅡ集成开发环境
1.2.1 EDA技术简介
一、EDA技术的概念 EDA 是Electronic Design Automation(电子设计自动 化)的缩写. EDA 技术以计算机为工具,设计者在EDA 软件平台上, 用硬件描述语言完成设计文件,然后由计算机自动地完 成逻辑编译、化简、分割、综合、优化、布局、布线 和仿真,以及对特定目标芯片的适配编译、逻辑映射和 编程下载等工作.
1.2.2 可编程逻辑器件的硬件结构
2.可编程逻辑器件的分类
可编程逻辑器件按集成度,可分为低集成度可编程逻辑 器件和高集成度可编程逻辑器件。
1.2.2 可编程逻辑器件的硬件结构
3.低集成度可编程逻辑器件 (1)PROM:Programmable Read Only Memory (2)PLA:Programmable Array Logic (3)PAL:Programmable Logic Array (4)GAL:Generic Array Logic
1.2.2 可编程逻辑器件的硬件结构
4.高集成度可编程逻辑器件 (1)EPLD:Erasable Programmable Logic Device (2)CPLD:Complex Programmable Logic Device ①宏单元是CPLD的基本结构,由它来实现基本的逻辑功 能. ②可编程连线负责信号传递,连接所有的宏单元. ③I/O 引脚控制块负责输入、输出的电气特性控制,比如 可以设定集电极开路输出、摆率控制、三态输出等. (3)FPGA:Field Programmable Gate Array ①IOE(inputoutputelement,输入输出单元) ②LAB(logicarrayblock,逻辑阵列块) ③Interconnect(内部连接线).

全加器全减器设计实验报告

全加器全减器设计实验报告

全加器全减器设计实验报告1. 引言全加器和全减器是数字电路中常用的基本电路模块之一。

全加器用于将两个二进制数相加,全减器用于将两个二进制数相减。

在本实验中,我们将设计并实现一个4位的全加器和一个4位的全减器电路。

2. 原理2.1 全加器全加器是由两个半加器和一个或门组成的电路。

一个半加器用于计算两个输入位的和,另一个半加器用于计算进位值。

将两个半加器的结果和进位值通过或门进行运算,即可得到全加器的输出。

如下图所示为全加器的逻辑电路图:![全加器逻辑电路图](circuit1.png)其中,A和B为输入信号,用于表示待相加的两个二进制数的对应位;S为输出信号,表示两个输入数的对应位相加的结果;C为进位信号,表示相加时产生的进位。

2.2 全减器全减器是由两个半减器和一个与非门组成的电路。

与全加器类似,一个半减器用于计算两个输入位的差,另一个半减器用于计算借位值。

将两个半减器的结果和借位值通过与非门进行运算,即可得到全减器的输出。

如下图所示为全减器的逻辑电路图:![全减器逻辑电路图](circuit2.png)其中,A和B为输入信号,用于表示待相减的两个二进制数的对应位;D为输出信号,表示两个输入数的对应位相减的结果;B为借位信号,表示相减时需要借出的位。

3. 设计和实现3.1 全加器设计根据2.1中的原理,我们可以使用两个半加器和一个或门来实现一个4位的全加器电路。

根据全加器的逻辑电路图,我们可以将四个输入位(A0, A1, A2, A3)依次与另外四个输入位(B0, B1, B2, B3)连接到两个半加器中,然后将两个半加器的和(S0, S1, S2, S3)通过或门进行运算。

此外,计算进位值需要使用到四个位的与门(And)。

具体电路图如下:![4位全加器电路图](circuit3.png)3.2 全减器设计根据2.2中的原理,我们可以使用两个半减器和一个与非门来实现一个4位的全减器电路。

根据全减器的逻辑电路图,我们可以将四个输入位(A0, A1, A2, A3)依次与另外四个输入位取反连接到两个半减器中,然后将两个半减器的差(D0, D1, D2, D3)通过与非门进行运算。

设计一位全加器的设计流程概述,基本步骤

设计一位全加器的设计流程概述,基本步骤

设计一位全加器的设计流程概述,基本步骤下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。

文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by theeditor.I hope that after you download them,they can help yousolve practical problems. The document can be customized andmodified after downloading,please adjust and use it according toactual needs, thank you!In addition, our shop provides you with various types ofpractical materials,such as educational essays, diaryappreciation,sentence excerpts,ancient poems,classic articles,topic composition,work summary,word parsing,copy excerpts,other materials and so on,want to know different data formats andwriting methods,please pay attention!全加器设计流程概述全加器是数字逻辑电路中的一个重要组成部分,主要用于实现二进制数的加法运算。

(VHDL实验报告)一位半加器,全加器的设计

(VHDL实验报告)一位半加器,全加器的设计

A
10
五、实验步骤
(一)半加器的设计
4、对设计文件进行仿真
4)编辑输入端口波形,即指定输入端口的逻辑电平变化,在波形编辑窗 口中,选择要输入波形的输入端口。以 b 端口为例,右键单击 b ,依次选 择value--clock--period,将时间改为1us。然后重复此过程将 a 的时间改 成 2us (a的周期是b的2倍),再将输入端的D0--D3选择不同的周期(一次 要有所差别)。最后选择软件的 Fie>Save进行保存。
3)加入输入、输出端口,在波形编辑器窗口左边的端口名列表 区点击鼠标右键,在弹出的右键菜单中选择 Insert Node or Bus… 命令,在弹出的 Insert Node or Bus 对话框界面中点击 Node Finder…按钮。在出现的 Node Finder 界面中的 Filter 列表中选 择 点击 List,在 Nodes Found 窗口出现所有信号的名称,点击中 间的按钮则 Selected Nodes 窗口下方出现被选择的端口名称。双击 OK按钮,完成设置,回到 Insert Node or Bus 对话框,双击OK按钮 ,所有的输入、输出端口将会在端口名列表区内显示出来。
5)按默认选项,点击NEXT出现新建工程以前所有的设定信息, 再点击FINISH完成新建工程的建立。
A
7
五、实验步骤
(一)半加器的设计
2、建立文本设计文件
1)选择File--New--Device Design Files--VHDL File,点击OK按钮,打开进入文本编辑器对话框。
2)在文本编辑器中输入对应VHDL程序代码,如下图 所示:
全加器的设计采用“元件例化语句”,故需建立两个VHDL文 本编辑对话框(一个顶层文件,一个底层文件)。在相应的编辑框中 输入相应的VHDL语句,再分别以各自的实体名进行保存。注意的是顶 层文件名应必须与工程名一致。此次实验底层文件为半加器VHDL语句 ,顶层文件为全加器VHDL语句,其语句分别如下两图所示:
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验课程名称:EDA技术与应用
实验项目名称4位全加器实验实验成绩
实验者专业班级组别
同组者 / 实验日期
一、实验目的
1、加深理解全加器的工作原理及电路组成,加深对EDA技术的掌握。

2、熟悉利用QuartusⅡ的原理图输入方法设计简单组合电路,掌握层次化设计的方法,并通过一个四位全加器的设计把握原理图输入方式设计的详细流程。

二、实验内容
用原理图输入法设计4位全加器。

三、实验仪器
Quartus II软件
四、实验原理
一个4位全加器可以由4个1位全加器构成,加法器间的进位可以串行方式实现,即将低位加法器的进位输出cout与相邻的高位加法器的最低进位输入信号cin相接。

1、半加器描述
根据半加器真值表可以画出半加器的电路图。

a b so Co
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
表1 半加器h_adder真值表
图1 半加器h_adder电路图
2、一位全加器描述
一位全加器可以由两个半加器和一个或门连接而成,因而可以根据半加器的电路原理图或真值表写出1位全加器的VHDL描述,1位全加器电路图如图所示:
图2 一位全加器电路图
3、4位全加器设计描述
4位全加器可以看做四个1位全加器级联而成,首先采用基本逻辑门设计一位全加器,而后通过多个1位全加器级联实现4位全加器。

其中,其中cin 表示输入进位位,cout 表示输出进位位,输入A 和B 分别表示加数和被加数。

S 为输出和,其功能可用布尔代数式表示为:
S A B Ci =++
i
i i i o ABC ABC ABC ABC C +++=
首先根据一位全加器的布尔代数式应用基本逻辑门设计一位全加器,而后仿真验证一位全加器设计,准确无误后生成元件,供4位全加器设计用。

将4个1位全加器级联构成四位全加器。

五、实验步骤
1、为本项工程设计建立文件夹 :文件夹取名为adder ,路径为d:\adder 。

2、建立原理图文件工程和仿真 原理图编辑输入流程如下:
1) 打开原理图编辑窗。

打开Quartus Ⅱ,选菜单File →new ,选择原理图文件编
辑输入项Block Diagram/Schematic File ,按OK 键。

2) 建立一个初始化原理图。

在编辑窗口点击右键,在弹出菜单中选择输入元件项
Insert →Symbol,将元件调入原理图编辑窗口中
3) 原理图文件存盘。

选择菜单File →Save As,将此原理图存于刚才建立的目录
d:\adder 中,取名为h_adder.bdf 。

4) 建立原理图文件为顶层设计工程。

然后将此文件h_adder.bdf 设定为工程。

5) 绘制半加器原理图。

将元件放入原理图编辑窗口,按图1接好电路。

6)仿真测试半加器。

全程编译后,打开波形编辑器。

选择File→new命令,在New 窗口中选择Vector Waveform File选项。

设置仿真时间区域,编辑输入波形,
仿真器参数设置,启动仿真器,观察仿真结果。

3、将设计项目(一位半加器)设置成可调用的元件
为了构成全加器的顶层设计,必须将以上设计的半加器h_adder.bdf设置成课调用的底层元件。

在半加器原理图文件处于打开的情况下,选择菜单File→Create/Update→Create Symbol Files for Current File,即可将当前电路图变成一个元件符号存盘,以便在高层次设计中调用。

图3 半加器例化图
4、设计全加器顶层文件
为了建立全加器顶层文件,必须再打开一个原理图编辑窗口,方法同前。

1)选择菜单File→new→Block Diagram/Schematic File,将其设置成新的工程,
命名为f_adder.bdf。

2)在打开的原理图编辑窗口中,双击鼠标,选择Project下先前生成的元件
h_adder和若干元器件,按图2连接好一位全加器电路图。

3)仿真测试全加器。

全程编译后,打开波形编辑器。

选择File→new命令,在New
窗口中选择Vector Waveform File选项。

设置仿真时间区域,编辑输入波形,
仿真器参数设置,启动仿真器,观察仿真结果。

5、将设计项目(一位全加器)设置成可调用的元件
为了构成4位全加器的顶层设计,必须将以上设计的全加器f_adder.bdf设置成课调用的底层元件。

在全加器原理图文件处于打开的情况下,选择菜单File→Create/Update→Create Symbol Files for Current File,即可将当前电路图变成一个元件符号存盘,以便在高层次设计中调用。

图4 一位全加器例化图 6、四位全加器设计
四位全加器原理图如图5所示:
图5 四位全加器电路图
六、实验结果与分析
1、半加器仿真波形如图6所示:
图6 半加器仿真波形
分析可得,通过二输入与门,非门,或门,输出的so为两者之和,cout为进位,仿真结果与半加器真值表表1相同,半加器设计成功。

2、一位全加器的仿真波形
图7 一位全加器的仿真波形图
仿真结果如图,1位全加器设计成功。

3、四位全加器仿真波形
四位全加器仿真波形如图所示:
图8 四位全加器仿真波形
从波形可以得出,输入输出满足表达式S=A+B+CI,S>15时进位位置‘1’,设计电路功能达到设计要求,4位全加器设计成功,完成了设计要求。

相关文档
最新文档