南昌大学 EDA实验全加器设计

合集下载

EDA实验六8位二进制全加法器的设计说明

EDA实验六8位二进制全加法器的设计说明

《电子设计自动化》实验报告实验六实验名称:8位二进制全加法器的设计专业及班级:姓名:学号:一、实验目的:1.掌握VHDL语言的基本结构。

2.掌握全加器原理,能进行多位加法器的设计。

3.掌握VHDL语言的基本描述语句特别是元件例化语句的使用方法。

二、实验内容设计并实现一个由两个4位二进制并行加法器级联而成的8位二进制并行加法器。

要求编写4位加法器的VHDL语言程序,顶层8位加法器的设计要求利用元件例化语句进行设计,并利用开发工具软件对其进行编译和仿真,最后通过实验开发系统对其进行硬件验证。

三、实验步骤〔附源代码及仿真结果图:1.根据4位二进制加法器的原理,利用VHDL语言的基本描述语句编写出4位加法器的VHDL语言程序。

--ADDER4B.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY ADDER4B ISPORT< C4: IN STD_LOGIC;A4: IN STD_LOGIC_VECTOR<3 DOWNTO 0>;B4: IN STD_LOGIC_VECTOR<3 DOWNTO 0>;S4: OUT STD_LOGIC_VECTOR<3 DOWNTO 0>;CO4: OUT STD_LOGIC>;END ENTITY ADDER4B;ARCHITECTURE ART OF ADDER4B ISSIGNAL S5:STD_LOGIC_VECTOR<4 DOWNTO 0>;SIGNAL A5,B5:STD_LOGIC_VECTOR<4 DOWNTO 0>;BEGINA5<='0'& A4;B5<='0'& B4;S5<=A5+B5+C4;S4<=S5<3 DOWNTO 0>;CO4<=S5<4>;END ARCHITECTURE ART;2.对所设计的4位二进制加法器的VHDL程序进行编译,然后对其进行仿真,初步验证程序设计的正确性。

eda实验报告 全加器

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。

EDA实验全加器

EDA实验全加器

全加器实验目的:1、设计一个全加器。

2、熟悉和掌握FPGA开发软件Quartus II的使用方法。

3、了解掌握用VHDL语言以不同的方式编程方法。

4、掌握电路设计仿真和硬件下载的方法。

实验器材1、SOPC实验箱2、计算机(装有Quartus II 7.0软件)实验预习1、阅读SOPC实验箱的相关资料,了解实验箱的使用方法。

2、预习Quartus II7.0基本使用方法,熟悉实验操作流程。

3、书写预习报告,必须有完整的VHDL设计程序及实验步骤。

实验原理1、1位全家器能实现2个二进制数含进位位的加法,其逻辑功能真值表如表-1,电路原理图如图1.0所示图1.0 1 位全加器电路实验内容设计一个全加器,实现全家器的逻辑功能。

其输入由三位拨码开关提供,输出由五路LED指示,其中两路显示输出结果,另外三路显示输入拨码开关的状态。

注意:实验箱上的LED指示灯,低电位时亮,高电位时灭,注意电路最后的输出逻辑转换。

一、使用QUARTUS II建立工程1、打开QUARTUS II软件并建立工程选择开始>>程序>>Quartus II 7.0>> Quartus II 7.0(32-Bit)打开Quartus II 7.0软件。

也可以直接点击桌面上的Quartus II 7.0(32-Bit)图标打开Quartus II 7.0,软件界面如图1.1所示。

图1.1 Quartus II界面2、在图1.1中选择File>>New Project Wizard来新建一项工程。

在本实验指导书中,任何一个实验都是包含于一个项目中。

同时要区别“New Project Wizard”与“New”的关系,“New”是新建项目内的子文件用。

图1.2 新建工程向导说明对话框3、弹出如图1.2所示新建工程向导说明对话框,从中可以了解我们要完成任务,其中包括:a.指定项目目录,名称和顶层实体。

eda全加器实验报告

eda全加器实验报告

eda全加器实验报告EDA全加器实验报告引言在数字电路设计中,加法器是最基础且常见的电路之一。

而全加器是一种能够实现两个二进制数相加的电路。

本实验旨在通过使用EDA工具设计和实现一个全加器电路,并对其进行仿真和测试。

实验目的1. 理解全加器的原理和功能。

2. 熟悉EDA工具的使用,包括电路设计、仿真和测试。

3. 掌握数字电路设计中的基本思路和方法。

实验器材和软件1. EDA工具(如Xilinx ISE、Cadence等)。

2. 逻辑门电路芯片(如与门、或门、非门等)。

3. 实验电路板、连接线等。

实验步骤1. 设计全加器电路的原理图。

在EDA工具中,使用逻辑门电路芯片和连接线等元件,绘制全加器电路的原理图。

全加器电路由两个半加器和一个或门组成,其中半加器负责处理两个输入位的和与进位,而或门负责处理两个半加器的进位输出。

2. 进行电路布局和布线。

在EDA工具中,根据全加器电路的原理图进行布局和布线。

合理地安排电路元件的位置和连接方式,以最大限度地减少电路延迟和功耗。

3. 进行电路仿真。

使用EDA工具提供的仿真功能,对设计好的全加器电路进行仿真。

通过输入不同的二进制数,观察输出结果是否符合预期。

可以检查和验证全加器的功能和正确性。

4. 进行电路测试。

将实验电路板与设计好的全加器电路连接,输入不同的二进制数,观察输出结果是否正确。

可以使用开关或按钮等方式输入二进制数,同时使用数码管或LED等显示器件显示输出结果。

实验结果与分析通过实验,我们成功设计和实现了一个全加器电路,并对其进行了仿真和测试。

经过多次输入不同的二进制数进行验证,我们发现全加器的功能和正确性得到了有效的验证。

此外,我们还可以通过改变电路布局和布线等方式,进一步优化全加器电路的性能。

例如,可以通过减少电路延迟和功耗,提高电路的工作频率和效率。

结论通过本次实验,我们深入了解了全加器的原理和功能,并掌握了EDA工具的使用方法。

通过设计、仿真和测试全加器电路,我们对数字电路设计有了更深入的理解,并掌握了一些基本的设计思路和方法。

EDA实验2 原理图输入法设计8位二进制全加器

EDA实验2  原理图输入法设计8位二进制全加器

实验2原理图输入法设计8位二进制全加器一、实验目的进一步熟悉QuartusⅡ的使用方法,学习时序仿真。

二、实验内容用V erilog HDL设计一个8位二进制全加器。

可以直接编写程序,也可以利用例化语句调用1位全加器构成8位全加器。

并进行编译、综合、适配和仿真。

三、实验步骤:1.为本项工程设计建立文件夹2.建立V erilog HDL文件3.存盘并建立工程4.全程编译5.时序仿真⑴建立矢量波形文件菜单操作:file—new图2-1 选择编辑矢量波形文件图2-2 波形编辑器⑵设置仿真时间长度菜单操作:Edit—end time图2-3 设置仿真时间长度⑶存盘图2-4 vwf激励波形文件存盘⑷将工程test2的端口信号选入波形编辑器中。

菜单操作:View—Utility Windows—Node Finder,并按图2-5 向波形编辑器拖入信号节点选项:Look:工程名;filer:Pins all⑸编辑输入波形单击输入信号a使之变成蓝色条,激活波形编辑器图2-6波形编辑器按图2-7设置输入信号a的周期在Tool Zoom 状态下调整波形图图2-8 设置好的激励波形图⑹菜单操作:Assignments –setting进入以下窗口:图2-9 选择仿真控制图2-10 仿真波形输出图2-11 选择全时域显示⑺仿真:Processing-Start Simulation 或。

注:该实验也可用硬件测试的方法来验证其设计的正确性。

四、实验报告详细叙述实验内容所要求的设计流程;给出仿真波形图;给时序分析情况。

五、参考程序module ADDER8B(A,B,CIN,COUT,DOUT);output [7:0] DOUT; output COUT;input [7:0] A,B; input CIN; wire [8:0] DA TA;assign DA TA =A+B+CIN;assign COUT=DA TA[8];assign DOUT=DA TA[7:0];endmodule。

EDA实验报告1_8位全加器

EDA实验报告1_8位全加器

EDA技术与应用实验报告姓名学号专业年级电子信息工程实验题目八位全加器设计实验目的1.熟悉QuartuaⅡ的文本和原理图输入方法设计简单组合电路2.通过8位全加器的设计掌握层次化设计的方法3.学会对实验板上的FPGA/CPLD开发系统硬件电路的编程下载及测试实验原理1.由文本输入利用元件例化语句或者原理图输入封装元件的方式,层次化设计1位全加器2.用原理图输入方法,由1位全加器通过低位进位输出cout与高位进位输入cin以串行方式相连接,构成8位全加器实验内容实验一:用原理图输入法设计8位全加器1.原理图输入完成半加器和1位全加器的设计,并封装入库2.层次化设计,建立顶层文件,由1位全加器构成8位全加器3.每一层次均需进行编译、综合、适配、仿真及实验板上硬件测试实验二:用文本输入法设计8位全加器1. VHDL文本输入完成半加器和一位全加器的设计2. 用元件例化语句由1位全加器设计一个8位全加器3.每一层次均需进行编译、综合、适配、仿真及实验板上硬件测试实验步骤实验一1.设计1位全加器<1>完成对半加器的设计(详见P117),编译、仿真、生成可调用元件h_adder.bsf;<2>完成对1位全加器的设计(详见P118),编译、仿真与下载,生成可调用原件f_adder.bsf;2.利用1位全加器进行8位全加器的设计<1>新建文件夹adder_8bit,作为顶层文件的目录,将底层文件h_adder.bdf、f_adder.bdf拷贝到此目录下。

新建一个初始原理图adder_8bit.bdf,并为其创建project,将三个设计文件加入工程。

<2>在原理图编辑窗口,调入元件f_adder.bsf,连接线路,对引脚命名,完成对8位全加器的设计。

<3>选择芯片EP1K100QC208-3,引脚锁定并再次编译,编程下载,分析实验结果。

实验二1.设计1位全加器<1>分别新建子文件夹,用来保存底层文件或门or2a.VHDL、半加器h_adder.VHDL的设计,并分别建立相应的project,进行编译、综合、适配、仿真,确保无error(详见P72)。

EDA全加器实验报告 含有程序及其仿真图像

EDA全加器实验报告  含有程序及其仿真图像

Quartus Ⅱ的综合设计——设计8位全加器一、题目分析全加器是能够计算低位进位的二进制加法电路一位全加器(FA)的逻辑表达式为:S=a⊕b⊕CinCo=ab+bCin+aCin其中a、b为要相加的数,Cin为进位输入;S为和,Co是进位输出。

而8位全加器可以采前面设计的1位全加器来实现,将8个1位的全加器进行极联,形成一个8位的全加器。

二、实验目的1、熟悉PLD的设计流程。

2、熟悉软件的功能和操作。

3、熟悉层次化电路图的设计方法。

4、熟悉PLD中时序电路的设计过程和方法。

三、实验内容1、根据要求设计一个8位的全加器。

2、对设计的全加器进行仿真分析。

3、讲编译后的数据下载到试验箱中,用硬件验证设计的正确性。

四、8位全加器程序module ban(cout,sum,a,b,cin);output cout;output [7:0] sum;input [7:0] a,b;input cin;assign {cout,sum} =a+b+cin;endmodule五、实验简单流程及实验照片1、创建一个新项目,编写程序并保存文件命名为ban,然后进行编译。

2、建立一个波形文件,选择File-New命令,在弹出窗口中选择Other Flies,然后选择Vector Waveform File,单击OK。

3、进入波形矢量文件编辑器进行相关设置。

4、给a,b,cin赋任意值,得如下图片:5、对设计进行仿真分析,得到最终图片:六、实验总结和感想通过这次实验我对PLD的设计流程有了更深的感触,明白了其设计的一般步骤及方法,为以后的Quartus Ⅱ的综合设计奠定了基础。

同时,对于全加器程序的编写了更深的认识,这能更好的促进以后的学习。

实验一 一位二进制全加器设计实验

实验一 一位二进制全加器设计实验

南昌大学实验报告学生姓名: 学 号: 专业班级: 中兴101实验类型:■ 验证 □ 综合 □设计 □ 创新 实验日期: 2012 9 28 实验成绩:实验一 一位二进制全加器设计实验一.实验目的(1)掌握Quartus II 的VHDL 文本设计和原理图输入方法设计全过程; (2)熟悉简单组合电路的设计,掌握系统仿真,学会分析硬件测试结果; (3) 熟悉设备和软件,掌握实验操作。

二.实验内容与要求(1)在利用VHDL 编辑程序实现半加器和或门,再利用原理图连接半加器和或门完成全加器的设计,熟悉层次设计概念;(2)给出此项设计的仿真波形;(3)参照实验板1K100的引脚号,选定和锁定引脚,编程下载,进行硬件测试。

三.设计思路一个1位全加器可以用两个1位半加器及一个或门连接而成。

而一个1位半加器可由基本门电路组成。

(1) 半加器设计原理能对两个1位二进制数进行相加而求得和及进位的逻辑电路称为半加器。

或:只考虑两个一位二进制数的相加,而不考虑来自低位进位数的运算电路,称为半加器。

图1为半加器原理图。

其中:a 、b 分别为被加数与加数,作为电路的输入端;so 为两数相加产生的本位和,它和两数相加产生的向高位的进位co 一起作为电路的输出。

半加器的真值表为表1 半加器真值表absoco0 0 0 0 0 1 1 0 1 0 1 0 111由真值表可分别写出和数so ,进位数co 的逻辑函数表达式为:b a b a b a so ⊕=+=--(1)ab co = (2)图1半加器原理图(2) 全加器设计原理除本位两个数相加外,还要加上从低位来的进位数,称为全加器。

图2全加器原理图。

全加器的真值表如下:表2全加器真值表c a b co so0 0 0 0 00 0 1 0 10 1 0 0 10 1 1 1 01 0 0 0 11 0 1 1 01 1 0 1 01 1 1 1 1其中a为加数,b为加数,c为低位向本位的进位,co为本位向高位的进位,so为本位和。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

南昌大学实验报告
学生姓名:学号:专业班级:
实验类型:□验证□综合□设计□创新实验日期:实验成绩:实验一熟悉QuartusⅡ软件及实验装置设计全加器
一实验目的:
以书上全加器为例,熟悉用quartus设计的一般步骤,熟悉原理图输入法和文本输入法,了解和使用多层工程的设计。

二实验要求:
1建立全加器工程,用文本文档形式输入程序
2模拟仿真,得出原理图、仿真图,完成引脚锁定
3输入实验箱,用二极管显示出现象
三实验设备:
PC机,Quartu eⅱ软件,实验箱
四实验原理:
加器是能够计算低位进位的二进制加法电路
一位全加器由2个半加器h_adder组成
一位全加器(FA)的逻辑表达式为:
S=A⊕B⊕Cin
Co=AB+BCin+ACin
其中A,B为要相加的数,Cin为进位输入;S为和,Co是进位输
出;
如果要实现多位加法可以进行级联,就是串起来使用;比如32位+32位,就需要32个全加器;这种级联就是串行结构速度慢,如果要并行快速相加可以用超前进位加法,
超前进位加法前查阅相关资料;
如果将全加器的输入置换成A和B的组合函数Xi和Y(S0…S3控制),然后再将X,Y和进位数通过全加器进行全加,就是ALU的逻辑结构结构。

即 X=f(A,B)
Y=f(A,B)
不同的控制参数可以得到不同的组合函数,因而能够实现多种算术运算和逻辑运算。

表2-1一位全加器的真值表
DD1 0 0 1 1 0 0 1 1 ADD2 0 1 0 1 0 1 0 1 CARRY_OUT 0 0 0 0 1 1 1 1 SUM< 0 1 1 0 1 0 0 1
其原理图的顶层文件为:
五实验结果:
1. 建立f_adder的工程(project)
在QUARTUSII软件下创建一工程,工程名为f_adder 2加载h_adder模块
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY h_adder IS
PORT (a ,b:IN STD_LOGIC;
co, so:OUT STD_LOGIC);
END ENTITY h_adder;
ARCHITECTURE fh1 OF h_adder is
BEGIN
So<=NOT(a XOR(NOT b)); co<=A and b;
END ARCHITECTURE fh1;
模块原理图为:
3对全加器顶层文件进行仿真
(1)设置仿真器进行功能仿真:
• Assignments—>setting,选择simulation setting,在simulation mode中选择functional
•在对话框中的simulation input中选择h_adder.vwf,指定激励文件
•由Processing—>generat functional simulation netlist得到功能仿真的网表文件
•由Processing—>start simulation得到功能仿真波形(2)设置仿真器进行时序仿真:
•改变仿真器的设置,Assignments—>setting
•选择仿真器设置,更改仿真模式,选择timing
•由Processing—>start Compilation对设计进行编译•由Processing—>start simulation得到时序仿真波形
得到如图所示波形:
结果完全符合全加器的设计要求
4引脚设定
执行ASSIGNMENT-PINS,设置完成后,设置如图
5执行tools—>programmer
下载:采用JATG方式进行下载,通过键1、键2与键3的输入,观察D1,D2的亮灭验证全加器的逻辑功能。

(此时,电脑与下载线都要连接到实验箱上,且每次连线都必须先关掉电源)
6 硬件测试
当A5、B5、A6键打上时,两个二极管都亮了,只要3个开关有一个没打上G15对应的二极管不亮,G13对应的二极管能亮,有两个没打上去,只有G15亮,3个不打上,没有二极管亮,符合设计要求
六实验心得:
在这个过程中,掌握了quartus设计的一般步骤,熟悉了原理图输入法和文本输入法,了解和使用多层工程的设计,能够自己设计并进行仿真,观察波形,与原理进行比对,观察实验现象,并从中找出程序的错误并改正。

相关文档
最新文档