EDA-四位二进制加法器设计实验步骤
- 格式:doc
- 大小:267.00 KB
- 文档页数:9
实验报告课程名称:EDA技术与VHDL实验题目:四位加法器设计班级学号:姓名:成绩:一、实验目的 ..................................................................................... - 1 -二、实验任务 ..................................................................................... - 1 -三、系统总体设计 ............................................................................. - 1 -四、VHDL程序设计......................................................................... - 1 -1. 用原理图输入方式设计半加器 ................................................ - 2 -2. 全加器的设计 ............................................................................ - 4 -3.4位全加器的设计 ....................................................................... - 5 -五、仿真 ............................................................................................... - 5 -六、仿真结果分析 ............................................................................... - 6 -一、实验目的熟悉利用QuartusⅡ的原理图输入方法设计简单组合电路,掌握层次化设计的方法,并通过一个4位全加器的设计把握文本和原理图输入方式设计的详细流程。
任务一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 位二进制加法器实验报告一、实验名称:4 位二进制加法器设计实验二、实验目的:1.进一步熟悉QuartusII 软件使用方法。
2.进一步掌握的VerilogHDL 语言描述和原理图描述的方法。
3.进一步掌握4 位二进制加法器的设计方法。
三、设计思想:用串行进位方式构成的 4 位二进制加法器如图:4 位串行进位二进制加法器是以一位二进制全加器为基础,如图,将四个一位二进制全加器串接构成一个4 位二进制加法器。
4 位二进制加法器可对两个4 位二进制数进行加法运算,同时产生进位。
当两个二进制数相加时,较高高位相加时必须加入较低位的进位项(Ci),以得到输出为和(S)和进位(C0)。
可以采用原理图的描述方法和VerilogHDL 语言描述方法。
四、实验内容:1.通过VerilogHDL 语言描述4 位二进制加法器的功能。
2.通过原理图方式描述4 位二进制加法器的功能。
3.通过波形仿真验证描述4 位二进制加法器的功能。
五、实验流程:1.采用VerilogHDL 语言描述实现4 位二进制加法器:(1).首先用VerilogHDL 语言编写二进制半加器:module halfadd(s,c,a,b);input a,b;output s,c;xor(s,a,b);and(c,a,b);endmodule按周期输入波形(2).再编写一位二进制全加器:module fulladd (s,co,a,b,cl); inputa,b,cl;output s,co;wire s1,d1,d2;halfadd ha1 (s1,d1,a,b); halfadd ha2 (s,d2,s1,cl);or g1(co,d2,d1);Endmodule按周期输入波形(2).之后编写4 位二进制加法器:module bitadd (s,c3,a,b,t1);input [3:0]a,b;input t1;output [3:0]s;output c3;wire c0,c1,c2;fulladd fa0(s[0],c0,a[0],b[0],t1);fulladd fa1(s[1],c1,a[1],b[1],c0);fulladd fa2(s[2],c2,a[2],b[2],c1);fulladd fa3(s[3],c3,a[3],b[3],c2);endmodule2.按照4 位二进制加法器的工作原理可以绘制成如下原理图:3.功能仿真波形及说明:(1).按周期输入波形:由此波形图可以分析:例如0001+0001=0010、0100+0100=1000、0110+0110=1100…对于所有的两个四位二进制相加,结果正确。
实验一QUARTUS II软件安装、基本界面及设计入门一、实验目的:QUARTUSII是Altera公司提供的EDA工具,是当今业界最优秀的EDA设计工具之一。
提供了一种与结构无关的设计环境,使得电子设计人员能够方便地进行设计输入、快速处理和器件编程。
通过本次实验使学生熟悉QUARTUSII软件的安装,基本界面及基本操作,并练习使用QUARTUS的图形编辑器绘制电路图。
二、实验内容:1、安装QUARTUSII软件;2、熟悉QUARTUSII基本界面及操作;3通过一个4位加法器的设计实例来熟悉采用图形输入方式进行简单逻辑设计的步骤。
三、实验仪器:1、PC机一台;2、QUARTUSII软件;3、EDA实验箱。
四、实验原理:4位加法器是一种可实现两个4位二进制数的加法操作的器件。
输入两个4位二进制的被加数A和B,以及输入进位Ci,输出为一个4位二进制和数D和输出进位数Co。
半加操作就是求两个加数A、B的和,输出本位和数S及进位数C。
全加器有3位输入,分别是加数A、B和一个进位Ci。
将这3个数相加,得出本位和数(全加和数)D和进位数Co。
全加器由两个半加器和一个或门组成。
五、实验步骤:安装QUARTUSII软件;因为实验时我的机器了已经有QUARTUSII软件,所以我并没有进行安装软件的操作。
设计半加器:在进行半加器模块逻辑设计时,采用由上至下的设计方法,在进行设计输入时,需要由下至上分级输入,使用QuartusIIGraphic Editor进行设计输入的步骤如下。
(1)、打开QUARTUSII软件,选择File-new project wizard…新建一个设计实体名为has的项目文件;(2)、新建文件,在block.bdf窗口下添加元件符号,并连接。
如下图:半加器原理图(3)、将此文件另存为has.gdf的文件。
(4)、在主菜单中选择Processing→Start Compilation命令,系统对设计进行编译,同时打开Compilation Report Flow Summary窗体,Status视图显示编译进程。
本科实验报告课程名称:EDA技术与FPGA应用设计实验项目:4位二进制加法计数器实验地点:跨越机房专业班级:学号:学生姓名:指导教师:2012年6 月20 日一、实验目的:1.学习时序电路的VHDL描述方法。
2.掌握时序进程中同步、异步控制信号的设计。
3.熟悉EDA的仿真分析和硬件测试技术。
二、实验原理:设计一个含计数使能、异步复位和并行预置功能的4位加法计数器,RST是异步复位信号,高电平有效;CLK是时钟信号;当使能信号ENA为“1”'时,加法计数,COUT为计数进位输出,OUTY为计数输出。
三、实验内容:1.编写4位二进制加法计数器的VHDL程序。
2.在ispDesignEXPERT System上对编码器进行仿真。
3.将输入引脚连接到拨码开关,时钟输入锁定到相应频率的时钟信号,输出连接到发光二极管,下载后在实验板上验证其功能,记录实验结果。
四、实验程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALLUSE IEEE.STD_LOGIC_UNSIGNED.ALLENTITY CNT4B ISPORT(CLK:IN STD_LOGIC;RST:IN STG_LOGIC;ENA:IN STD_LOGIC;OUTY:OUT STD_LODGIC_VECTOR(3 DOWNTO 0);COUT:OUT STD_LOGIC);END CNT4B;ARCHITECTURE BEHAV OF CNT4B ISSIGNAL CQI:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINP_REG: PROCESS(CLK,RST,ENA)BEGINIF RST=’1’THEN CQI<=”0000”;ELSIF CLK’EVENT AND CLK=’1’THENIF ENA= ’1’THEN CQI<=CQI+1;ENG IF;END IF;OUTY <= CQI;END PROCESS P_REG;COUT<= CQI(0) AND CQI(1) AND CQI(2) AND CQI(3); END BEHAV;五、仿真结果:1.时序图:2.功能图:六、心得体会:通过本实验,让我对VHDL编程有了一定的了解和认识,让我初步学习了VHDL的编写及调试过程,实验中有错误产生,但是经过细心的改正,解决了问题,希望下次实验能有更大的提高。
eda仿真实验报告EDA仿真实验报告一、引言EDA(Electronic Design Automation)是电子设计自动化的缩写,是指利用计算机技术对电子设计进行辅助、自动化的过程。
在现代电子设计中,EDA仿真是不可或缺的一环,它可以帮助工程师验证电路设计的正确性、性能和可靠性。
本篇报告将介绍我在EDA仿真实验中的经验和收获。
二、实验背景本次实验的目标是对一个数字电路进行仿真,该电路是一个4位加法器,用于将两个4位二进制数相加。
通过仿真,我们可以验证电路设计的正确性,并观察其在不同输入情况下的输出结果。
三、实验步骤1. 电路设计:首先,我们根据给定的要求和电路原理图进行电路设计。
在设计过程中,我们需要考虑电路的逻辑关系、时序要求以及输入输出端口的定义等。
2. 仿真环境搭建:接下来,我们需要选择合适的EDA仿真工具,并搭建仿真环境。
在本次实验中,我选择了Xilinx ISE Design Suite作为仿真工具,并创建了一个仿真项目。
3. 仿真测试向量生成:为了对电路进行全面的测试,我们需要生成一组合适的仿真测试向量。
这些测试向量应该覆盖了电路的所有可能输入情况,以验证电路的正确性。
4. 仿真运行:在仿真环境搭建完成后,我们可以开始进行仿真运行了。
通过加载测试向量,并观察仿真结果,我们可以判断电路在不同输入情况下的输出是否符合预期。
5. 仿真结果分析:仿真运行结束后,我们需要对仿真结果进行分析。
通过对比仿真输出和预期结果,可以判断电路设计的正确性。
如果有不符合预期的情况,我们还可以通过仿真波形分析,找出问题所在。
四、实验结果与讨论在本次实验中,我成功完成了4位加法器的仿真。
通过对比仿真输出和预期结果,我发现电路设计的正确性得到了验证。
无论是正常情况下的加法运算,还是特殊情况下的进位和溢出,电路都能够正确地输出结果。
在实验过程中,我还发现了一些有趣的现象。
例如,在输入两个相同的4位二进制数时,电路的输出结果与输入完全一致。
2012—2013学年第1学期实验报告课程名称:EDA技术实用教程第 1 页一、实验目的:1.掌握8位全加器的设计方法2.掌握原理图输入法二、实验内容:设计并实现一个4位全加器三、实验原理:四、实验连线:9个输入管脚-9个拨码开关5个输出管脚-5个发光二级管五、实验步骤:1.创建工程(1)打开QuartusII并新建工程管理窗口,名称为new3;(2)选择目标芯片(ACEX1K:EP1K100QC208-3);(3)设置其它选项,完成后结束。
2.电路的编译和适配(1)新建一个VHDL File,输入半加器源程序,确认无误后,点击Start Compilation按钮进行全程编译,保存为new1;(2)新建一个VHDL File文件,输入全加器源程序,确认无误后在new1上选择File→Creat/Update→Create Symbol Files for Current File,进行全程编译并添加图标,保存为new2。
(3)新建一个Block Diagram/Schematic File图表,双击空白处,将Project菜单下的new2选中导入电路图,再在电路图上右键选择Generate Pins for symbol ports生成管脚使电路完整;(4)复制上图电路为四组,将每组的count与下一组的c1连接,生成完整电路,并保存为new3.pdf文件;3.仿真和分析:(1)新建一个Vector waveform File保存为new3.vwf文件;(2)选择Edit→Insert→Insert Node or Bus,将工程的端口信号节点导入波形编辑器中。
将a1、a2、a3、a4通过CTRL复选后点击右键选择grouping→group进行编组命名为1组,b1、b2、b3、b4命名为2组。
然后进行编译输入波形,设置总线数格式和参数;(3)启动仿真器,直至等待仿真结束并显示成功,将各组数据调整为8进制,仿真完成并观察仿真结果。
《电子线路设计、实验、测试》实验报告实验名称: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灯的亮、灭状态,测试电路的功能。
6)可调时钟输出单元底板上ADJ_CLK为4位拨码开关SW17--SW20来控制输出40M分频后的可调时钟具体对应如下SW20 SW19 SW18 SW17 ADJ_CLK1 1 1 1 1Hz0 1 1 1 5Hz1 0 1 1 10Hz0 0 1 1 25Hz1 1 0 1 50Hz0 1 0 1 500Hz1 0 0 1 1KHz0 0 0 1 2.5KHz1 1 1 0 10KHz0 1 1 0 20KHz1 0 1 0 50KHz0 0 1 0 200KHz1 1 0 0 500KHz0 1 0 0 2MHz1 0 0 0 5MHz0 0 0 0 20MHzCLK1 10MHz固定时钟(40MHz分频产生)CLK2 1MHzCLK3 100KHzCLK4 5KHzCLK5 100Hz实验四 4位加法计数器设计一、实验目的学习时序逻辑电路的设计、仿真和硬件测试;加深理解VHDL设计技术。
二、实验原理图4-4-1是一含计数使能、异步复位和计数值并行预置功能的4位加法计数器,其VHDL描述参见例4-4-1。
由图4-4-1所示,图中间是4位锁存器(即D触发器);RST是异步清零信号,高电平有效;CLK是锁存信号;D[3..0]是4位数据输入端;PST是同步并行预置信号,高电平有效,置数值为Data[3:0];Outy[3:0]是计数值输出;Cout是计数溢出信号。
① RST为异步清零信号,高电平有效,一旦RST=1,4位锁存器输出状态复位为“0000”;② ENA为同步计数使能信号,当CLK为上升沿时z当ENA=“1”时,加法计数,CQI= CQI+1;z当ENA=“0”时,保持原数,CQI= CQI;③ PST为同步并行预置信号,当CLK为上升沿时图4-4-1含计数使能、异步复位和计数值并行预置功能的4位加法计数器三、实验内容(1)对例4-4-1含计数使能、异步复位和计数值并行预置功能的4位加法计数器的VHDL设计,说明例中各语句的作用,并详细描述示例的功能特点。
用原理图层次化设计法设计一个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将它放置于原理图编辑区中。
作业2:4位加法器设计
(1)任务设计带进位的4位二进制加法器。
(2)要求要考虑低位的进位。
进行仿真。
用ispLSI1016E-80LJ44实现。
步骤一:打开ispDesign EXPERT,单击file,选择new project,弹出如下创建新项目对话框,建子目录,在“保存在(I)”栏,用鼠标点击▼,任选可用区(盘),如 D:区(盘),用鼠标点击从右数的第三个小图标(新建文件夹),自动生成新建文件夹子目录,起一个项目文件夹名(应为便于你记住的英文或拼音),如liu2009,并用鼠标双击文件夹名。
选择 project type:Verilog HDL 。
步骤二:给项目起名(应为便于你记住的英文或拼音,如liu),用鼠标点击保存(S)。
选中器件为ispLSI1016E-80LJ44。
并用鼠标双击下图第一行,并给项目源文件加标题名如liu蓝条示(如将有多个项目源文件,加标题名时要加以区分,这里只针对一题,为了简单,标题名用 liu)。
图1.
步骤三:点击Source下拉选New,弹出窗口,选择上面左下角的Verilog Module ,设置名称如图所示:
步骤四:在TextEditer中编辑输入Verilog 语言源程序:
module liu1(a,b,c1,cout,sum);
output cout;
output[3:0] sum;
input[3:0] a,b;
input c1;
assign {cout,sum}=a+b+c1;
endmodule
步骤五:在Text Editor中点File下拉Save As,将源文件Liu1.v存D盘Liu2009,退出。
选择tools ,synplicity synplify synthesis,点击菜单栏上的“P”,ADD :
步骤六:在如下界面下部点击Chang,确认选器件ispLSI1016E-80LJ44,并运行。
通过Done!在该界面点File下拉Save As,以Liu1保存,退出。
步骤七:在图1.(内容已发生变化)中左边选中ispLSI1016E-80LJ44。
右边选中constraint manager双击。
弹出isp EXPERT Compiler界面,点击Tools下拉选Compile,系统将自动设置引脚。
步骤八:建立仿真测试向量。
在如下界面点击Source下拉选New,弹出窗口,选择上面左边的ABEL Test Vectors。
起名Liu2。
写测试向量文件。
module liang1
" Inputs
a_0_ pin;
a_1_ pin;
a_2_ pin;
a_3_ pin;
b_0_ pin;
b_1_ pin;
b_2_ pin;
b_3_ pin;
c1 pin;
" Outputs
cout pin;
sum_0_ pin;
sum_1_ pin;
sum_2_ pin;
sum_3_ pin;
" Bidirs
x=.x.;
Test_vectors
([a_0_,a_1_,a_2_,a_3_,b_0_,b_1_,b_2_,b_3_,c1] -> [cout,sum_0_,sum_1_,sum_2_,sum_3_]) [0,0,0,0,0,0,0,0,1]->[x,x,x,x,x];
[1,0,1,0,1,1,0,1,0]->[x,x,x,x,x];
[0,1,0,0,0,0,1,0,1]->[x,x,x,x,x];
[1,1,0,1,0,1,0,0,0]->[x,x,x,x,x];
[0,1,1,0,0,0,1,0,1]->[x,x,x,x,x];
[1,1,0,0,1,0,0,1,0]->[x,x,x,x,x];
[1,1,1,1,1,1,1,1,1]->[x,x,x,x,x];
END
步骤九:完成后,在文本编辑窗点File下拉Save As,以Liu2保存,退出。
如下图示编译。
步骤十:进行功能仿真。
点击Simulate下拉选Run,进行一步到位的仿真。
得仿真波形。
下载文件生成。
自动设置的引脚。