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

一、实验目的1. 掌握全加器的基本原理和设计方法。
2. 熟悉使用Quartus II软件进行原理图输入、编译、仿真和下载等操作。
3. 培养学生动手实践能力和创新思维。
二、实验原理全加器是一种能够进行二进制加法运算的数字电路,它能够处理来自低位的进位输入。
全加器由两个半加器和两个或门组成。
其中,两个半加器分别用于处理两个一位二进制数的相加,而两个或门则用于处理来自低位的进位输入。
全加器的输入信号包括三个:两个加数A和B,以及来自低位的进位输入Cin。
输出信号包括两个:和S和进位Cout。
全加器的逻辑表达式如下:S = A ⊕ B ⊕ CinCout = (A ∧ B) ∨ (B ∧ Cin) ∨ (A ∧ Cin)三、实验器材1. Quartus II软件2. FPGA开发板3. 连接线4. 电源四、实验步骤1. 创建工程(1)打开Quartus II软件,选择“File”→“New Project Wizard”创建新工程。
(2)填写工程名称、工程路径等信息,点击“Next”。
(3)选择目标器件,点击“Next”。
(4)选择“Block Diagram/Schematic File”作为工程类型,点击“Next”。
(5)填写工程文件名称,点击“Finish”。
2. 设计全加器原理图(1)在原理图编辑窗口中,双击鼠标左键弹出元件输入对话框。
(2)在对话框右侧打开元件库,找到所需的半加器、或门等元件。
(3)将半加器和或门等元件拖入原理图编辑窗口。
(4)连接元件,形成全加器电路。
3. 编译工程(1)选择“Processing”→“Start Compilation”开始编译。
(2)等待编译完成,检查编译报告。
4. 仿真(1)选择“Simulation”→“Start Simulation”开始仿真。
(2)在仿真窗口中观察波形,验证全加器电路的功能。
5. 下载到FPGA开发板(1)选择“Tools”→“Programmer”打开编程器。
全加器与半加器原理及电路设计

全加器与半加器原理及电路设计全加器是一种电子逻辑电路,用于执行二进制加法。
它由三个输入端(A, B, Cin)和两个输出端(S, Cout)组成。
其中,输入端A和B是要相加的二进制位,Cin是前一位的进位,输出端S是和的结果,Cout是是否有进位。
全加器可以通过组合多个半加器来构建。
半加器是全加器的组成部分,它只有两个输入端(A, B)和两个输出端(S, Cout)。
半加器只能够完成一位二进制加法,不考虑进位情况。
其中,输入端A和B是要相加的二进制位,输出端S是和的结果,Cout是是否有进位。
半加器的电路设计相对简单,可以通过逻辑门实现。
接下来,我将详细介绍全加器和半加器的原理和电路设计。
1.半加器原理及电路设计:半加器的真值表如下:A ,B , S , Cout0,0,0,00,1,1,01,0,1,01,1,0,1可以看出,输出端S等于两个输入端A和B的异或结果,输出端Cout等于两个输入端A和B的与运算结果。
半加器的电路设计可以使用两个逻辑门实现。
一个逻辑门用于计算和的结果S,另一个逻辑门用于计算进位Cout。
S = A xor BCout = A and B逻辑门可以采用与门、或门和异或门实现。
常用的逻辑门包括与非门(NAND)和异或门(XOR)。
所以,半加器的电路设计可以使用两个与非门和一个异或门实现。
2.全加器原理及电路设计:全加器的真值表如下:A ,B , Cin , S , Cout0,0,0,0,00,0,1,1,00,1,0,1,00,1,1,0,11,0,0,1,01,0,1,0,11,1,0,0,11,1,1,1,1可以看出,输出端S等于三个输入端A、B和Cin的异或结果,输出端Cout等于输入端A、B和Cin的与运算结果和A和B的或运算结果的与运算结果。
全加器可以由两个半加器和一个或门组成。
其中,两个半加器用于计算S的低位和Cout的低位,而或门用于计算Cout的高位。
eda实验报告 全加器

eda实验报告全加器EDA实验报告:全加器一、引言在数字电路设计中,全加器是一种基本的组合逻辑电路,用于实现两个二进制数的加法运算。
全加器的设计和性能对于数字电路的正确性和效率至关重要。
本实验报告将介绍全加器的原理、设计方法以及实验结果。
二、全加器的原理全加器是由两个半加器和一个额外的输入引脚组成的。
它可以实现三个二进制输入数的相加运算,并输出相应的和与进位。
1. 半加器半加器是一个简单的组合逻辑电路,用于实现两个二进制数的相加运算。
它有两个输入引脚A和B,分别代表两个二进制数的对应位,一个和输出引脚S和一个进位输出引脚C。
半加器的真值表如下所示:A B S C0 0 0 00 1 1 01 0 1 01 1 0 1可以看出,和输出引脚S等于A和B的异或运算结果,进位输出引脚C等于A 和B的与运算结果。
2. 全加器全加器是由两个半加器和一个额外的输入引脚组成的。
它有三个输入引脚A、B 和Cin,分别代表两个二进制数的对应位以及上一位的进位,两个输出引脚S 和Cout,分别代表相加结果的和以及当前位的进位。
全加器的真值表如下所示:A B Cin S Cout0 0 0 0 00 0 1 1 00 1 0 1 00 1 1 0 11 0 0 1 01 0 1 0 11 1 0 0 11 1 1 1 1可以看出,和输出引脚S等于A、B和Cin的异或运算结果,进位输出引脚Cout等于A、B和Cin的与运算结果与A和B的或运算结果的与运算结果。
三、全加器的设计方法全加器的设计可以使用逻辑门电路实现。
常用的逻辑门包括与门、或门、非门和异或门。
根据全加器的真值表,可以使用这些逻辑门组合来实现全加器。
1. 使用逻辑门实现半加器半加器可以使用异或门和与门来实现。
异或门用于计算和输出引脚S,与门用于计算和输出引脚C。
2. 使用逻辑门实现全加器全加器可以使用两个半加器和一个或门来实现。
两个半加器分别用于计算和输出引脚S和C1,或门用于计算和输出引脚Cout。
RTL基本知识:全加器设计(VHDL)

RTL基本知识:全加器设计(VHDL)
【设计要求】
使⽤层次化设计⽅法,⽤VHDL语⾔设计四位⼆进制全加器,并进⾏仿真。
【设计⽬的】
考查对于VHDL元件例化语法的熟悉程度;
考查对于数字电路中全加器⼯作原理的理解;
【设计思路】
⽤门实现两个⼆进制数相加并求出和的组合线路,称为⼀位全加器。
⼀位全加器可以处理低位进位,并输出本位加法进位。
多个⼀位全加器进⾏级联可以得到多位全加器。
第⼀步:⼀位全加器;
第⼆步:多位全加器,在其中例化⼀位全加器实现;
1 ⼀位全加器
a和b为两位⼆进制数据,cin为前级进位位,cout为当前计算后的进位位,sum为加法结果,电路结构和真值表如下:
2 四位全加器
四位全加器是在⼀位全加器的基础上利⽤进位进⾏串⾏级联实现,实现后的电路结构⽰意图如下:
【源代码】
1 ⼀位全加器源代码
2 四位全加器源代码
【实验结果】
【思考】
在仿真时,输⼊可能会存在⽑刺,采⽤什么⽅法可以消除⽑刺?
在设计多位全加器时,如果位数很多,⽤元件例化的⽅式程序会很长,可以采⽤什么⽅法可以改进实现?。
实验五 全加器的设计及应用

实验五 全加器的设计及应用一、实验目的(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 半加器真值表i A i B i C i S i C 0 0 0 0 1 0 1 0 0 1 1 00 0 1 0 1 0 0 01位半加器S C i A i B i 和数向高位进位加数被加数图5-1 半加器框图由真值表写逻辑表达式:⎩⎨⎧=⊕=+=i i i ii i i i i i B A C B A B A B A S '' 画出逻辑图,如图5-2所示:(a )逻辑图 (b )逻辑符号 图5-2 半加器(2)全加器能进行加数、被加数和低位来的进位信号相加,称为全加,完成全加功能的电路为全加器。
根据求和结果给出该位的进位信号。
即一位全加器有3个输入端:i A (被加数)、i B (加数)、1-i C (低位向本位的进位);2个输出端:i S (和数)、i C (向高位的进位)。
下面给出了用基本门电路实现全加器的设计过程。
1)列出真值表,如表5-2所示。
表5-2 全加器真值表从表5-2中看出,全加器中包含着半加器,当01=-i C 时,不考虑低位来的进位,就是半加器。
实验二 全加器的设计

实验二全加器的设计一、实验目的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章 全加器的设计

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 全加器全加器是由两个半加器和一个或门组成的电路。
一个半加器用于计算两个输入位的和,另一个半加器用于计算进位值。
将两个半加器的结果和进位值通过或门进行运算,即可得到全加器的输出。
如下图所示为全加器的逻辑电路图:其中,A和B为输入信号,用于表示待相加的两个二进制数的对应位;S为输出信号,表示两个输入数的对应位相加的结果;C为进位信号,表示相加时产生的进位。
2.2 全减器全减器是由两个半减器和一个与非门组成的电路。
与全加器类似,一个半减器用于计算两个输入位的差,另一个半减器用于计算借位值。
将两个半减器的结果和借位值通过与非门进行运算,即可得到全减器的输出。
如下图所示为全减器的逻辑电路图:其中,A和B为输入信号,用于表示待相减的两个二进制数的对应位;D为输出信号,表示两个输入数的对应位相减的结果;B为借位信号,表示相减时需要借出的位。
3. 设计和实现3.1 全加器设计根据2.1中的原理,我们可以使用两个半加器和一个或门来实现一个4位的全加器电路。
根据全加器的逻辑电路图,我们可以将四个输入位(A0, A1, A2, A3)依次与另外四个输入位(B0, B1, B2, B3)连接到两个半加器中,然后将两个半加器的和(S0, S1, S2, S3)通过或门进行运算。
此外,计算进位值需要使用到四个位的与门(And)。
具体电路图如下:3.2 全减器设计根据2.2中的原理,我们可以使用两个半减器和一个与非门来实现一个4位的全减器电路。
根据全减器的逻辑电路图,我们可以将四个输入位(A0, A1, A2, A3)依次与另外四个输入位取反连接到两个半减器中,然后将两个半减器的差(D0, D1, D2, D3)通过与非门进行运算。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
步骤8:编程下载
(1)下载方式设定。
通信仿真之MAX+plus II应用
39
步骤8:编程下载
通信仿真之MAX+plus II应用
40
步骤8:编程下载
通信仿真之MAX+plus II应用
41
步骤8:编程下载
(2)下载。连接好硬件及下载连接线等。按“Configure”下载 配置文件。成功后通过硬件进行逻辑验证。
通信仿真之MAX+plus II应用
2
3基本设计步骤
步骤1:为本项工程设计建立文件夹 任何一项设计都是一项工程(Project),都 必须首先为此工程建立一个放置与此工程相关的 文件的文件夹,此文件夹将被EDA软件默认为工 作库(Work Library)。一般不同的设计项目最 好放在相应的文件夹中,注意,一个设计项目可 以包含多个设计文件。 假设本项设计的文件夹取名为MY_Project,路径 为D:\ MY_Project, MAX+plus II 软件装在D盘 maxplus2文件夹下。 注意:文件夹名不能用中文,且不可带空格。
通信仿真之MAX+plus II应用 8
步骤2:输入设计项目和存盘
(4)调入元件and2、not、xnor、input和output。
方法一:用鼠标双击元件 库“Symbol Libraries”中 d:\maxplus2\maxplus2\ma x2lib\prim项。在 “Symbol Files”窗口即可 看到基本逻辑元件库prim 中的所有元件,双击需要 的元件即可调入原理图编 辑窗中。
27
步骤5:时序仿真
(7)运行仿真器。
通信仿真之MAX+plus II应用
28
步骤5:时序仿真
通信仿真之MAX+plus II应用
29
步骤5:时序仿真
单击Simulator对话框中的“Start”按钮 ,仿真提示无错。
通信仿真之MAX+plus II应用 30
步骤5:时序仿真
(8)观察半加器的仿真波形。
(4)设置仿真时间。选择“File”→”End Time…”。
通信仿真之MAX+plus II应用
24
步骤5:时序仿真
在End Time对话框中选择适当的仿真时间域,如可选34uS, 以便有足够长的观察时间,然后点击“OK”。
通信仿真之MAX+plus II应用 25
步骤5:时序仿真
(5)加上输入信号。
通信仿真之MAX+plus II应用
5
步骤2:输入设计项目和存盘
“New”对话框说明
选择该项可建立一个图形输入文 件文件格式使用默认格式:gdf
可编辑用户生成的符号文件
建立文本输入文件,如 VHDL,Verilog HDL,mif文件
可建立波形文件
通信仿真之MAX+plus II应用
6
步骤2:输入设计项目和存盘
方法二:用键盘直接 输入所需元件名,再 单击“OK”按钮即可将 元件调入原理图编辑 窗中。
通信仿真之MAX+plus II应用
9
步骤2:输入设计项目和存盘
(5)排列好调入的元件,连接好原理图。
A
B
连线方法:把鼠标放在A处变成十字形, 按处左键保持十字形移至B处松开即完成 连接。
通信仿真之MAX+plus II应用 10
通信仿真之MAX+plus II应用
46
通信仿真之MAX+plus II应用
42
步骤9:设计顶层文件
(1)依照前面的步骤2,新建f_adder.gdf文件,调入半加器。
通信仿真之MAX+plus II应用
43
步骤9:设计顶层文件
(2)可以将前面的步骤看成是完成了一个底层元件的设计,并 被包装入库。现在利用已设计好的半加器,完成顶层项目全 加器的设计,详细步骤可参考前面的设计流程。这里不再详 述。
通信仿真之MAX+plus II应用
19
步骤5:时序仿真
(1)建立波形文件。选菜单“File”→“New” ,在弹出的 “New”对话框中选择“File Type”中为波形编辑输入项 “Waveform Editor file”,按“OK”后将打开波形编辑窗 。
选中波形建立文件 ,后缀为scf
通信仿真之MAX+plus II应用
通信仿真之MAX+plus II应用
12
步骤3:将设计项目设置成工程文件
为了使MAX+ plusII能对输入的设计项目按设计者的要求进 行各项处理,必须将设计文件设置成当前Project。
未设置时
通信仿真之MAX+plus II应用
13
步骤3:将设计项目设置成工程文件
如果设计项目由多个设计文件组成,则应该将它们的主文件, 即顶层文件设置成Project。
通信仿真之MAX+plus II应用 22
步骤5:时序仿真
(3) 设 置 波 形 参 量 。 在 “ Option” 菜 单 中 消 去 网 格 对 齐 项 “Snap to Grid”的对勾,以便能够任意设置输入电平位置, 或设置输入时钟信号的周期。
通信仿真之MAX+plus II应用
23
步骤5:时序仿真
通信仿真之MAX+plus II应用
16
步骤4:选择目标器件并编译
(3)启动编译器。
通信仿真之MAX+plus II应用
17
步骤4:选择目标器件并编译
(4)单击“Start”开始编译,如果有错,排除错误后再次编译 。
通信仿真之MAX+plus II应用
18
步骤4:选择目标器件并编译
(5)编译完成。
波形时间 显示
为了设置此 段波形为高 电平,用鼠 标拖黑,再 按左侧的‘1’
通信仿真之MAX+plus II应用
26
步骤5:时序仿真
(6)波形文件存盘。选择菜单“File”→“Save As”,按“OK” 按钮。保存窗口中的波形文件名是默认的(h_adder.scf), 所以直接存盘即可。
通信仿真之MAX+plus II应用
(1)调出引脚锁定对话框。
注意:管脚定义跟目标器件及硬件相关,这里以 ZYE1502E的EDA-E实验箱系统进行实测。
通信仿真之MAX+plus II应用 37
步骤7:引脚锁定
(2)定义引脚
输入半加器的端口名 输入目标芯片对应管 脚号
端口输入输 出类型选择
引脚锁定列 表框
增加到列表框
目标芯片为ACEX1K系列的EP1K30QC208-2,芯片45、46脚对 应硬件按键1、2,19、24脚对应硬件发光二极管1、2。 特别注意:引脚重新定义后必须再通过编译器“Compile”对文件重 新进行编译,以便将引脚信息编入下载文件中。
(3)在原理图编辑窗中的任何一个位置上双击鼠标,将弹出输 入元件项“Enter Symbol”的对话框。
图形编辑区
图形编辑工具
通信仿真之MAX+plus II应用
7
步骤2:输入设计项目和存盘
“Enter Symbol” 对话框说明
元件符号名输入区,可直 接输入所需元件的符号名 用户工作库,未存盘时为默 认文件夹,此处已存盘到自 己建立的文件夹 库选择区,软件安装在D盘maxplus2文 件夹下,除了用户工作库外,还有四种 元件库,包含了基本逻辑元件库prim,如门 、触发器等;宏功能元件库mf,如74系列 等;参数可设置兆功能元件库 mega_lpm,如 LPM_FIFO ;逻辑元件与宏 功能元件扩展库edif等 当前选中的库为用户工作库 ,末存盘时为默认文件夹 当前选中库的元件列表区
设置后
通信仿真之MAX+plus II应用
14
步骤4:选择目标器件并编译
(1)选择“Assign”菜单中“Device”项,弹出Device对话框 。
通信仿真之MAX+plus II应用
15
步骤4:选择目标器件并编译
(2)在Device对话框中选择ACEX1K系列EP1K30QC208-2目 标芯片,点击“OK”。
通信仿真之MAX+plus II应用 3
步骤2:输入设计项目和存盘
(1)打开MAX+plusII,选菜单“File”→“New” 。
通信仿真之MAX+plus II应用
4
步骤2:输入设计项目和存盘
(2)在弹出的“New”对话框中选择“File Type”中为原理 图编辑输入项“Graphic Editor file”,按“OK”后将打 开原理图编辑窗。
补充说明:多层设计流程与单一层次设计完全一样,此时低层次的 设计项目只是高层次项目(顶层设计)中的某个或某些元件,而当 前的顶层设计项目也可成为更高层设计中的一个元件。
通信仿真之MAX+plus II应用
44
4设计流程归纳
步骤1: 建立工作库 文件夹 步骤2: 输入设计项目 原理图/VHDL代码 步骤3:存盘, 注意原理图 /文本取名 步骤4: 将设计项目 设置成Project
步骤2:输入设计项目和存盘
(6)分别在input和output的PIN_NAME上双击使其变黑色, 再用键盘分别输入各引脚名:a、b、co、so。
半加器表达式: 进位:co=a and b
和: so=a xnor (not b)
注意:半加器用原理图的实现方法很多,此处用同或的方 法来实现。有兴趣的同学可以用其它的方法来实现。
通信仿真之MAX+plus II应用 34