南昌大学 EDA实验全加器设计
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实验报告:全加器一、引言在数字电路设计中,全加器是一种基本的组合逻辑电路,用于实现两个二进制数的加法运算。
全加器的设计和性能对于数字电路的正确性和效率至关重要。
本实验报告将介绍全加器的原理、设计方法以及实验结果。
二、全加器的原理全加器是由两个半加器和一个额外的输入引脚组成的。
它可以实现三个二进制输入数的相加运算,并输出相应的和与进位。
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实验全加器
全加器实验目的: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工具设计和实现一个全加器电路,并对其进行仿真和测试。
实验目的1. 理解全加器的原理和功能。
2. 熟悉EDA工具的使用,包括电路设计、仿真和测试。
3. 掌握数字电路设计中的基本思路和方法。
实验器材和软件1. EDA工具(如Xilinx ISE、Cadence等)。
2. 逻辑门电路芯片(如与门、或门、非门等)。
3. 实验电路板、连接线等。
实验步骤1. 设计全加器电路的原理图。
在EDA工具中,使用逻辑门电路芯片和连接线等元件,绘制全加器电路的原理图。
全加器电路由两个半加器和一个或门组成,其中半加器负责处理两个输入位的和与进位,而或门负责处理两个半加器的进位输出。
2. 进行电路布局和布线。
在EDA工具中,根据全加器电路的原理图进行布局和布线。
合理地安排电路元件的位置和连接方式,以最大限度地减少电路延迟和功耗。
3. 进行电路仿真。
使用EDA工具提供的仿真功能,对设计好的全加器电路进行仿真。
通过输入不同的二进制数,观察输出结果是否符合预期。
可以检查和验证全加器的功能和正确性。
4. 进行电路测试。
将实验电路板与设计好的全加器电路连接,输入不同的二进制数,观察输出结果是否正确。
可以使用开关或按钮等方式输入二进制数,同时使用数码管或LED等显示器件显示输出结果。
实验结果与分析通过实验,我们成功设计和实现了一个全加器电路,并对其进行了仿真和测试。
经过多次输入不同的二进制数进行验证,我们发现全加器的功能和正确性得到了有效的验证。
此外,我们还可以通过改变电路布局和布线等方式,进一步优化全加器电路的性能。
例如,可以通过减少电路延迟和功耗,提高电路的工作频率和效率。
结论通过本次实验,我们深入了解了全加器的原理和功能,并掌握了EDA工具的使用方法。
通过设计、仿真和测试全加器电路,我们对数字电路设计有了更深入的理解,并掌握了一些基本的设计思路和方法。
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.熟悉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全加器实验报告 含有程序及其仿真图像
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为本位和。
EDA一位全加器
南昌大学实验报告学生姓名:邱永洪学号:6100210026专业班级:中兴101实验类型:□验证□综合■设计□创新实验日期:2012、10、12实验一一位二进制全加器设计实验一、实验目的1、学习Quartus II的文本和原理图输入方法设计简单组合电路以熟悉QuartusII的使用;2、熟悉设备和软件,掌握实验操作。
二、实验内容与要求(1)在利用VHDL编辑程序实现半加器和或门,在主层中进行应用。
熟悉层次设计概念;(2)给出此项设计的仿真波形;(3)参照实验板的引脚号,选定和锁定引脚,编程下载,进行硬件测试。
三、设计思路1 ,一个1位全加器可以用两个1位半加器及一个或门连接而成。
而一个1位半加a b so co0 0 0 00 1 1 01 0 1 01 1 0 1其中a为被加数,b为加数,co为本位向高位进位,so为本位和因而可得表达式为:co=ab而so= ab+ab =a⊕b其VHDL文本如下LIBRARY IEEE; --半加器描述(1):布尔方程描述方法USE IEEE.STD_LOGIC_1164.ALL;ENTITY h_adder ISPORT (a, b : IN STD_LOGIC;co, so : OUT STD_LOGIC);END ENTITY h_adder;ARCHITECTURE fh1 OF h_adder isBEGINso <= NOT(a XOR (NOT b)) ; co <= a AND b ;END ARCHITECTURE fh1;2,而全加器的真值表如下;其中ain sum为本位和所以,一位全加器的表达式如下:Sum=ain⊕bin⊕cincount=ainbin+cinain+cinbin3,或门VHDL文本如下LIBRARY IEEE ; --或门逻辑描述USE IEEE.STD_LOGIC_1164.ALL;ENTITY or2a ISPORT (a, b :IN STD_LOGIC;c : OUT STD_LOGIC );END ENTITY or2a;ARCHITECTURE one OF or2a ISBEGINc <= a OR b ;END ARCHITECTURE one;四、VHDL文本输入法设计常用的硬件描述语言(HDL)就是VHDL语言,同原理图设计方法类似,首先打开Quartus II 7.2建立工程文件,然后选择菜单File->New,在Device Design Files标签选项框中选择VHDL File。
EDA实验报告 4位全加器,16位频率计数器
实验课程名称:EDA技术与应用实验项目名称4位全加器实验实验成绩实验者专业班级组别同组者实验日期一、实验目的1.进一步加深理解全加器的工作原理及电路组成,加深对EDA技术的掌握。
2.熟悉利用Quartus Ⅱ的原理图输入方法设计简单组合电路,掌握层次化设计的方法,并通过一个四位全加器的设计把握原理图输入方式设计的详细流程。
二、实验内容实验内容1:按照书本4.5.1节完成半加器和1位全加器的设计,包括用原理图输入,编译,综合,适配,仿真,实验板上的硬件测试,并将此全加器电路设置成一个元件符号入库。
实验内容2:建立一个更高层次的原理图,利用以上获得的1位全加器构成4位全加器,并完成编译,综合,适配,仿真和硬件测试。
三、实验仪器1.计算器及操作系统2.Quartus II软件四、实验原理一个4位全加器可以由4个1位全加器构成,加法器间的进位可以串行方式实现,即将低位加法器的进位输出cout与相邻的高位加法器的最低进位输入信号cin相接。
1、半加器描述根据半加器真值表可以画出半加器的电路图。
a b so Co0 0 0 00 1 1 01 0 1 01 1 0 1表1半加器h_adder真值表图1 半加器h_adder电路图2、1位全加器描述一位全加器可以由两个半加器和一个或门连接而成,因而可以根据半加器的电路原理图或真值表写出1位全加器的VHDL 描述。
图2 1位全加器电路图3、4位全加器设计描述4位全加器可以看做四个1位全加器级联而成,首先采用基本逻辑门设计一位全加器,而后通过多个1位全加器级联实现4位全加器。
其中,其中cin 表示输入进位位,cout 表示输出进位位,输入A 和B 分别表示加数和被加数。
S 为输出和,其功能可用布尔代数式表示为:S=A+B+Ciii i i o ABC ABC ABC ABC C +++=首先根据一位全加器的布尔代数式应用基本逻辑门设计一位全加器,而后仿真验证一位全加器设计,准确无误后生成元件,供4位全加器设计用。
南昌大学eda实验报告
实验报告课程名称: EDA技术实用教程指导老师:学生姓名:学号:专业班级:通信工程134班2015年 12月 7 日目录实验一、全加器设计实验实验二、模可变计数器设计实验实验三、序列信号发生和检测器设计实验实验四、交通灯控制器设计实验实验五、多功能数字钟设计实验实验六、出租车计费器设计实验本课程总结一、全加器设计实验(一)实验目的1、熟悉建立文件夹和建立工程的整个过程。
2、学会建立波形文件。
3、学会将文件下载到板子上。
(二)设计要求完成设计、仿真、调试、下载、硬件测试等环节,在EDA实验装置上实现模可变计数器功能,具体要求如下:1、利用书上的程序,完成实验目的,实现两个一位二进制数的相加,并将进位输出。
(三)主要仪器设备1、微机1台2、QuartusII集成开发软件1套3、EDA实验装置1套(四)实验思路由于要用到例化语句,所以需要将文件都放在一个文件夹里然后创建工程。
选择文件夹和名称。
添加文件选择实验室用的芯片选择仿真工具A B SO CO0 0 0 00 1 1 01 0 1 01 1 0 1其中module banjia(A,B,SO,CO);input A,B;output SO,CO;assign SO=A^B;assign CO=A&B;Endmodule由真值表可得输入信号A和B异或可作为和值输出,相与可作为进位输出。
ain书,sum为和值输出。
程序如下。
module quanjia(ain,bin,cin,cout,sum);output cout,sum;input ain,bin,cin;wire net1,net2,net3;banjia U1(ain,bin,net1,net2);banjia U2(.A(net1),.SO(sum),.B(cin),.CO(net3));or U3(cout,net2,net3);Endmodule这里用了例化语句调用了一个半加器的模块让ain与bin通过半加器的相加之后的和值net1作为一个输入信号再与进位信号cin相加作为和值sum,ain与bin 相加产生的进位信号net2和ain与bin的和值net1与cin相加产生的进位信号net3相或作为整体的进位输出cout,便可完成真值表的要求。
EDA实验报告二(一位全加器的设计)
实验二:一位全加器的设计一、实验目的1、了解和学习Quartus II 7.2软件设计平台。
2、了解EDA的设计过程。
3、通过实例,学习和掌握Quartus II 7.2平台下的文本输入法。
4、学习和掌握全加器的设计原理。
5、初步掌握该实验的软件仿真过程。
二、实验仪器PC机,操作系统为Windows7,本课程所用系统均为Windows7(下同),Quartus II 7.2设计平台。
三、实验步骤1、创建工程,在File菜单中选择New Project Wizard,弹出对话框如下图所示在这个窗口中第一行为工程保存路径,第二行为工程名,第三行为顶层文件实体名,和工程名一样。
2、新建设计文本文件,在file中选择new,出现如下对话框:选择VHDL File 点击OK。
2、文本输入,在文本中输入如下程序代码:library ieee;use ieee.std_logic_1164.all;ENTITY xor31 isport (a,b,cin:in std_logic;sum:out std_logic);end xor31;ARCHITECTURE d1 OF xor31 isbeginsum<=a xor b xor cin;end d1;library ieee;use ieee.std_logic_1164.all;ENTITY and21 isport (a,b:in std_logic;c:out std_logic);end and21;ARCHITECTURE d2 OF and21 isbeginc<=a and b;end d2;library ieee;use ieee.std_logic_1164.all; ENTITY or31 isport (s1,s2,s3:in std_logic;y:out std_logic);end or31;ARCHITECTURE d3 OF or31 isbeginy<=s1 or s2 or s3;end d3;library ieee;use ieee.std_logic_1164.all; ENTITY f_adder1 isport (a,b,cin:in std_logic;cout,sum:out std_logic); end f_adder1;ARCHITECTURE bhv OF f_adder1 iscomponent and21 isport(a,b:in std_logic;c:out std_logic);end component;component xor31 isport(a,b,cin:in std_logic;sum:out std_logic);end component;component or31 isport(s1,s2,s3:in std_logic;y:out std_logic);end component;signal s1,s2,s3:std_logic;beginu1:xor31 port map(a,b,cin,sum); u2:and21 port map(a,b,s1);u3:and21 port map(b,cin,s2);u4:and21 port map(a,cin,s3);u5:or31 port map(s1,s2,s3,cout); end bhv;然后保存到工程中,结果如下图所示:4、编译,如果有多个文件要把这个文件设为当前顶层实体,这样软件编译时就只编译这个文件。
EDA实验报告(四位全加器的实现)
实验一四位全加器的实现一、实验目的1、掌握Quartus9.0图形编辑输入法2、掌握Quartus环境下文件的编译、仿真及下载方法3、了解VHDL语言的设计流程4、掌握quartus环境下VHDL的使用方法二、实验内容1、用图形/原理图法实现4位全加器。
2、用VHDL语言实现4位全加器,必须使用元件例化。
3、仿真并通过。
3、下载到实验板,并验收三、实验步骤1、图形编辑发设计4位加法器(1)新建图形文件,设计一位全加器,逻辑电路图如下图(图1-1)所示。
图1-1(2)将设计好的一位全加器进行例化,操作为file→Create/Update→Create symbol files for currentfile,完成此操作后会在元器件符号表里找到刚刚做好的一位全加器。
(3)再新建一个图形文件,用四个已经做好的一位全加器级联成一个四位全加器,其逻辑原理图如图1-2所示。
编辑好后保存文件,在文件列表里找到该文件,右键→Set as Top-level Entity,将其设置为顶层文件,点击编译按钮就行编译。
图1-2(4)新建波形文件,赋予每个输入端口某种输入信号,保存波形文件,进行功能仿真,观察输出端波形与输入信号关系是否正确。
若不正确,查找问题所在并解决问题;若正确,则进行管脚分配,分配完毕后再编译一次使分配生效,连接DE2开发板到电脑,将文件下载到开发板进行验证。
2、用VHDL语言设计4位加法器(1)新建一个VHDL源文件,文件名为adder1.vhd,使用VHDL实现一位全加器,其VHDL代码如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY adde1r ISPORT(A,B,Ci:IN STD_LOGIC;S,Co:OUT STD_LOGIC);END adder1;ARCHITECTURE qadder OF adder1 ISBEGINPROCESS(A,B,Ci)VARIABLE n1,n2,n3:STD_LOGIC;BEGINn1:=A AND B;n2:=A XOR B;n3:=Ci AND n2;Co<=n3 OR n1;S<=n2 XOR Ci;END PROCESS;END qadder;(2)再新建一个VHDL源文件,命名为adder4.vhd,在这里将adder 一位全加器例化并使用它,做成四位全加器,代码如下:library ieee;use ieee.std_logic_1164.all;entity adder4 isport(A,B:in std_logic_vector(3 downto 0);S:out std_logic_vector(3 downto 0);Co:out std_logic;Ci:in std_logic);end adder4;architecture adder_4 of adder4 iscomponent adderport(A:in std_logic;B:in std_logic;Ci:in std_logic;Co:out std_logic;S:out std_logic);end component;signal c1,c2,c3:std_logic;beginu1:adder port map(A(0),B(0),Ci,c1,S(0));u2:adder port map(A(1),B(1),c1,c2,S(1));u3:adder port map(A(2),B(2),c2,c3,S(2));u4:adder port map(A(3),B(3),c3,Co,S(3));end adder_4;(3)保存文件后将adder4设置为顶层文件并编译,编译通过后按照与图形编辑发一样的仿真、管脚分配方式进行操作,最后下载到开发板验证四、实验现象两种方式实现的四位加法器下载到DE2开发板后都可正常工作,其中使用SW0作为低位的进位,SW4~1作为数据B,SW8~5作为数据A,LDG3~0作为输出的结果,LEDG4作为输出的进位。
eda实验报告(四位全加器的实现)
eda实验报告(四位全加器的实现)一、概述本实验是基于EDA软件对四位全加器电路进行实现的过程。
在EDA软件中,通过电路图的设计和仿真,可以有效地判断电路的正确性,从而进一步改进设计方案。
二、实验过程本实验的目的是实现四位全加器的电路。
在四位全加器的电路中,需要实现三个输入端口A、B和CIN,以及两个输出端口SUM和COUT。
其中,SUM输出端口表示输入端口A和B相加的结果,COUT输出端口则表示两个输入端口相加后的进位。
首先,在EDA软件中,使用电路图工具设计了四位全加器的电路。
在电路图中,输入端口和输出端口均使用标准连接器进行连接。
在电路图中,使用四个完整加法器电路连接起来,从而实现四位全加器电路的功能。
接着,对设计出的电路进行了仿真。
仿真的过程中,需要给输入端口设置相应的电信号,以模拟实际应用中的电路电信号。
通过观察仿真结果,可以判断输入端口和输出端口的功能是否正确,从而判断电路图的设计是否正确。
最后,将完成的电路图经过PCB工具进行绘制。
绘制完成后,将其导入到模拟工具中,进行实际电路的模拟测试。
在测试过程中,需要将输入端口和输出端口分别连接到接口测试架,并按照正常的电路连接方式进行测试。
通过测试结果,可以判断电路图中所设计的电路是否正确。
同时,测试结果还能验证电路的可靠性和稳定性,从而进行后续改进。
三、实验结果根据以上实验过程,在EDA软件中,成功设计了四位全加器电路,并进行了仿真和实际测试。
在测试结果中,电路功能正常,而输出端口的结果也与预期结果一致。
经过多次测试,电路的稳定性和可靠性也得到了验证。
四、结论通过以上实验,得出如下结论:1. EDA软件在电路设计和仿真方面具有很大的优势,能够极大地提高电路设计的效率和可靠性。
2. 在设计电路时,需要充分考虑各个输入端口之间的电路连接方式,以确保电路的准确性和稳定性。
3. 在完成电路设计之后,需要进行仿真和测试,以验证电路的正常功能和性能表现,从而进一步改进和优化电路设计方案。
eda实验报告——全加器原理图法,例化语句法
姓名:黄娟学号:32214125班级:自动141成绩:实验名称:全加器的原理图法设计及例化语句法一、实验目的1. 掌握EDA工具Quartus Ⅱ的使用;2. 掌握Quartus Ⅱ的原理图设计流程。
3. 掌握半加器、全加器的原理图法设计。
二、全加器的原理图设计1、Quartus Ⅱ原理图设计流程(1)建立文件夹,取名为adder(2)原理图编辑输入a.打开原理图编辑器b.建立一个初始的原理图c.原理图文件存盘d.建立原理图文件为顶层设计的工程e.绘制半加器原理图f.仿真测试半加器(3)将设计项目设置成可以调用的元件(4)设计全加器顶层文件(5)将设计项目进行时序仿真2、半加器(1)原理图(2)仿真测试结果(3)RTL图3、全加器(1)原理图(2)仿真测试结果(3)RTL图三、全加器的例化语句法设计1、vriloge语言描述begincase({a,b})0:begin so=0;co=1'b0;end1:begin so=1;co=1'b0;end2:begin so=1;co=1'b0;end3:begin so=0;co=1'b1;enddefault:begin so=0;co=0;endendcaseendendmodulemodule or2a(a,b,c);output c;input a,b;assign c=a|b;endmodulemodule f_adder(ain,bin,cin,cout,sum);output cout,sum;input ain,bin,cin;wire e,d,f;h_adder u1(ain,bin,e,d);h_adder u2(.a(e),.so(sum),.b(cin),.co(f)); or2a u3(.a(d),.b(f),.c(cout));endmodule2、波形仿真3、RTL图三、实验小结通过这次实验我们了解了原理图法设计步骤,方法!原理图法以硬件连接为基础,对硬件连接了解多的时候比较合适。
EDA技术》实验报告8位二进制加法器设计
《EDA技术》实验报告实验名称: 8位二进制全加器设计
姓名:
班级:
学号:
实验日期:2010-3-29
指导教师:
一、实验设计要求
以一位二进制全加器为基本元件,用例化语句写出8位并行二进制全加器的顶层文件,并讨论此加法器的电路特性。
二、设计原理
电路结构图或原理图
电路功能描述
定义了8位二进制全加器顶层设计元件端口信号,输入端口:AIN, BIN,是八个二进制数,数据类型被定义为STD_LOGIC_VECTOR。
CIN是输入的进位,数据类型IN STD_LOGIC;输出端口:SUM为和,数据类型IN STD_LOGIC COUT 为输出的进位。
三、实验程序
程序1:一位二进制全加器设计顶层描述
程序2:8位并行二进制全加器顶层文件
四、编译及仿真结果
选用器件型号cyclone
编译后使用器件资源情况、引脚配置情况(硬件实验)
仿真结果显示:
该设计是成功的。
输入的进位也要加上去。
0---255 全加器的COUNT 没有进位,而当加到256,COUNT=1,SUM输出0.
五、总结
.1 编译不通过,检查后发现在建立工程时,同一工程的所有文件都必须放在同一文件夹中,而这一步没做。
2 程序中没有将文件名与实体名保持一致出错。
输入半加器的VHDL程序保存文件,将输入的VHDL语言程序保存为h _adder.vhd.
3不知道如何将输入/输出引脚号都添加到矢量波形编辑窗口中。
解决办法:view—utility window—noder finder 将需要引脚拖拽。
EDA全加器实验报告
实验一:1位全加器设计实验目的:用原理图输入法完成半加器和全加器的设计,熟悉和练习Max+PlusⅡ的应用。
实验原理:1位全加器可以用两个半加器及一个或门连接而成,因此需要首先完成半加器的设计。
用最简单的原理图输入法来完成半加器及全加器的设计。
实验内容:一:(1)、建立一个文件夹,设此文件夹为本项设计工程的工作库。
文件夹起名为Quanjiaqi。
(2)、进入原理图输入系统,在File/New下建立新的原理图设计文件。
(3)、在原理图输入窗口中右击选择输入元件项Enter Symbol,在所弹出窗口中查找所需元件INPUT、OUTPUT、AND2、XNOR、NOT并放入当前窗口。
完成半加器电路图(如下图)并起名为Banjiqi.gdf保存在Quanjiaqi工作库内。
(4)、选择File/Project/Set Project to Current File项,将当前设计项目设置成工程文件。
然后在MAX+PLUSⅡ下拉菜单中选择Compiler项对原理图工程文件进行编译。
(5)、进入波形文件输入系统,在File/New下建立新的波形设计文件,文件名默认为Banjiaqi.scf。
(6)、选择Node/Node from SNF项,在弹出的窗口首选List键,将节点信号添加到右栏。
(7)、设置波形参量,设置File/End time项为34us,设半加器输入信号a、b 为高低电平,保存文件,用默认文件名及扩展名。
(8)、运行时序仿真器:选择MAX+plusⅡ/Simulateor项,并观察分析输出信号co、so。
波形图如下(9)、选择File/open下Banjiaqi.gdf文件,并将其设置成当前工程文件,然后选择File/C reate Default Symbol项将当前文件设置成包装好的单一元件,留以备用。
二、(1)、重复“一”中的步骤从第(2)开始,将调入元件改成INPU、TOUTPUT、OR2以及第一步中包装入库的Banjiaqi元件,输入原理图,起名为Quanjiaqi.gdf 保存在Quanjiaqi工作库中,并对其进行编译。
EDA实验一 1位全加器和四位全加器的设计
实验一1位全加器和四位全加器的设计一、实验目的1、掌握Quartus Ⅱ6.0软件使用流程。
2、初步掌握VHDL的编程方法。
3、掌握图形层次设计方法;4、掌握全加器原理,能进行多位加法器的设计。
二、实验原理(一位全加器的逻辑表达式为:sum=a^b^Cl;Ch= a&b|(a^b)&Cl.(2)四位加法器加法器是数字系统中的基本逻辑器件。
多位加法器的构成有两种方式:并行进位和串行进位方式。
并行进位加法器设有并行进位产生逻辑,运算速度快;串行进位方式是将全加器级联构成多位加法器。
通常,并行加法器比串行级联加法器占用更多的资源,并且随着位数的增加,相同位数的并行加法器比串行加法器的资源占用差距也会越来越大。
三、实验连线(1)一位全加器1、将EP2C5适配板左下角的JTAG用十芯排线和万用下载区左下角的SOPC JTAG 口连接起来,万用下载区右下角的电源开关拨到SOPC下载的一边2、将JPLED1短路帽右插,JPLED的短路帽全部上插。
3、请将JP103的短路帽全部插上,,打开实验箱电源。
( 2 ) 四位加法器1、将EP2C5适配板左下角的JTAG用十芯排线和万用下载区左下角的SOPC JTAG 口连接起来,万用下载区右下角的电源开关拨到SOPC下载的一边2、JPLED1短路帽右插,JPLED的短路帽全部上插。
3、请将JP103的短路帽全部插上,,打开实验箱电源。
四、实验代码LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY fulladder ISPORT(A,B,C1 :IN STD_LOGIC;CH,SUM : OUT STD_LOGIC);END ENTITY fulladder;ARCHITECTURE ADO OF fulladder isSIGNAL AB :STD_LOGIC;BEGINSUM<=A XOR B XOR C1;AB<=A XOR B;CH<=(A AND B) OR (AB AND C1);END ARCHITECTURE ADO;一位全加器波形如下:图4-1四位加法器波形如下:图4-2五、实验仿真过程SW1,SW2,SW3对应a,b,Cl;D101,D102分别对应sum和Ch,当结果为0时彩色LED灯熄灭,当结果为1时彩灯点亮,改变SW1,SW2,SW3的输入状态,观察实验结果。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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设计的一般步骤,熟悉了原理图输入法和文本输入法,了解和使用多层工程的设计,能够自己设计并进行仿真,观察波形,与原理进行比对,观察实验现象,并从中找出程序的错误并改正。