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将它放置于原理图编辑区中。
实验一四位全加器的实现一、实验目的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作为输出的进位。
作业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保存,退出。
实验2 4位二进制加法器的设计2.1 实验目的进一步熟悉Quartus Ⅱ的基本操作方法,并利用原理图输入设计方法设计简单组合电路,掌握层次化设计的方法,通过4位全加器的设计掌握利用EDA 工具进行电子系统设计的流程。
2.2 原理提示一个4位二进制加法器可以由4个全加器构成,各全加器之间的进位以串行方式实现,即将低位的进位输出CO 与相邻的高一位全加器的进位位Ci 相连,最低进位位接“0”。
实验原理图如下。
2.3实验内容采用Quartus Ⅱ基于图形的设计方法,在实验1的基础上,按层次化结构实现4位全加器的设计。
完成原理图输入、编译、进行波形仿真验证。
(仿真时要对所有输入、输出端进行)。
2.4实验步骤(1) 为本项设计任务建立工程。
启动Quartus Ⅱ,新建一个工程,有关操作如下图。
将实验1中已设计好的原理图文件fualladd.bdf 拷贝到D:\0501\exp2下。
在实验1中fualladd.bdf 是顶层设计文件,而在本实验中,fualladd.bdf 将作为底层设计文件使用。
∑C i C o ∑C i C o ∑C i C o a 0b 0a 1b 1a 2b 2a 3b 3s 0s 1s 2s 3c o ∑C i C o 0建立本工程的顶层设计。
点击“File/New”→“Block Diagram/Schematic File”→“OK”,将Block1.dbf 另存为add4. dbf。
add4. dbf是本工程的顶层设计文件。
(2)点击“File / Open…”将fualladd.bdf 文件打开。
(3)将fualladd.bdf制作成一个符号块,以便在add4. dbf中调用。
点击“File / Create/Update / Create Symble Files For Currenf Fils”,弹出对话框(文件名一栏应出现fualladd.bsf),点击“保存”。
电子设计(EDA)实验报告(4位二进制加法器)一、实验名称4位二进制加法器二、实验目的掌握输入编辑原理图文件的方法;掌握编译原理图文件的方法;掌握仿真原理图文件的方法;理解Quartus 2 器件编程的方法三、实验环境计算机与Quartus 2 工具软件四、实验原理图、源程序entity halfadd isport(a1,b1:in bit;s1,c1:out bit);end ;architecture a of halfadd isbeginprocess(a1,b1)begins1<=a1 xor b1 after 10ns;c1<=a1 and b1 after 10ns;end process;end a;entity orgate isport(a,b:in bit;o:out bit);end orgate;architecture a of orgate isbegino<=a or b;end a;entity fulladd isport(i1,i2,c_in:in bit;fs,c_out:out bit);end ;architecture a of fulladd issignal temp_s,temp_c1,temp_c2:bit; component halfaddport(a1,b1:in bit;s1,c1:out bit);end component;component orgate port(a,b:in bit;o:out bit);end component;beginu0:halfadd port map(i1,i2,temp_s,temp_c1);u1:halfadd port map(temp_s,c_in,fs,temp_c2); u2:orgate port map(temp_c1,temp_c2,c_out); end a;entity add4 isport(a,b:in bit_vector(3 downto 0);cin:in bit;fs:out bit_vector(3 downto 0);cout:out bit);end add4;architecture a of add4 issignal temp_co0,temp_co1,temp_co2:bit; component fulladd isport(i1,i2,c_in:in bit;fs,c_out:out bit);end component;beginu0:fulladd port map(a(0),b(0),cin,fs(0),temp_co0);u1:fulladd port map(a(1),b(1),temp_co0,fs(1),temp_co1);u2:fulladd port map(a(2),b(2),temp_co1,fs(2),temp_co2);u3:fulladd port map(a(3),b(3),temp_co2,fs(3),cout);end a;五、实验波形图及分析延迟12.08ns。
实验7 4位二进制并行加法器的设计一、实验目的学习加法器的设计、仿真和硬件测试,进一步熟悉Verilog设计技术。
二、实验条件1、PC机一台。
2、开发软件:Q uartusII。
3、实验设备:GW48-CK EDA实验开发系统。
4、选用芯片:ACEX系列EP1K30TC144-3。
三、实验原理多位加法器的构成有两种方式:并行进位和串行进位。
并行进位加法器设有进位产生逻辑,运算速度较快;串行进位方式是将全加器级联构成多位加法器。
并行进位加法器通常比串行级联加法器占用更多的资源。
随着位数的增加,相同位数的并行加法器与串行加法器的资源占用差距也越来越大。
因此,在工程中使用加法器时,要在速度和容量之间寻找平衡点。
实践证明,4位二进制并行加法器和串行级联加法器占用几乎相同的资源。
这样,多位加法器由4位二进制并行加法器级联构成是较好的折中选择。
图1 4位二进制并行加法器原理图四、实验内容1、编写图1 所示4位二进制并行加法器的Verilog程序,并在Quartus II上对4位加法器进行编译、仿真。
2、实验内容2:引脚锁定以及硬件下载测试。
目标器件是ACEX1K30,建议选实验电路模式1,键1可输入4位加数(此值显示于键对应的数码管上);键3可输入4位被加数(此值显示于键对应的数码管上);加法器最低进位位由键8控制;加数和显示于数码管5;加法器溢出位由发光管D8显示。
五、实验报告:将实验原理、硬件测试实验结果写进实验报告。
六、参考资料1、4位加法器的参考程序:module adder4(cout,sum,ina,inb,cin);output[3:0] sum;output cout;input[3:0] ina,inb;input cin;assign{cout,sum}=ina+inb+cin;endmodule2、参考管脚设定图2 4位加法器参考管脚设定实验报告:根据实验内容写出实验报告,包括实验目的,实验原理,实验内容,程序设计或原理图;给出程序分析报告、仿真波形图、硬件下载实验结果及其分析报告。
eda实验报告(四位全加器的实现)一、概述本实验是基于EDA软件对四位全加器电路进行实现的过程。
在EDA软件中,通过电路图的设计和仿真,可以有效地判断电路的正确性,从而进一步改进设计方案。
二、实验过程本实验的目的是实现四位全加器的电路。
在四位全加器的电路中,需要实现三个输入端口A、B和CIN,以及两个输出端口SUM和COUT。
其中,SUM输出端口表示输入端口A和B相加的结果,COUT输出端口则表示两个输入端口相加后的进位。
首先,在EDA软件中,使用电路图工具设计了四位全加器的电路。
在电路图中,输入端口和输出端口均使用标准连接器进行连接。
在电路图中,使用四个完整加法器电路连接起来,从而实现四位全加器电路的功能。
接着,对设计出的电路进行了仿真。
仿真的过程中,需要给输入端口设置相应的电信号,以模拟实际应用中的电路电信号。
通过观察仿真结果,可以判断输入端口和输出端口的功能是否正确,从而判断电路图的设计是否正确。
最后,将完成的电路图经过PCB工具进行绘制。
绘制完成后,将其导入到模拟工具中,进行实际电路的模拟测试。
在测试过程中,需要将输入端口和输出端口分别连接到接口测试架,并按照正常的电路连接方式进行测试。
通过测试结果,可以判断电路图中所设计的电路是否正确。
同时,测试结果还能验证电路的可靠性和稳定性,从而进行后续改进。
三、实验结果根据以上实验过程,在EDA软件中,成功设计了四位全加器电路,并进行了仿真和实际测试。
在测试结果中,电路功能正常,而输出端口的结果也与预期结果一致。
经过多次测试,电路的稳定性和可靠性也得到了验证。
四、结论通过以上实验,得出如下结论:1. EDA软件在电路设计和仿真方面具有很大的优势,能够极大地提高电路设计的效率和可靠性。
2. 在设计电路时,需要充分考虑各个输入端口之间的电路连接方式,以确保电路的准确性和稳定性。
3. 在完成电路设计之后,需要进行仿真和测试,以验证电路的正常功能和性能表现,从而进一步改进和优化电路设计方案。
实验一、EDA软件及PLD器件的设计应用
2015级电子信息工程
1515212024 罗宏刚
一、四位加法计数器的设计
1.VHDL语言输入。
2.全程编译成功。
3.功能仿真。
4.仿真波形及结果。
5.封装
二、七段数码显示译码器的设计
1.VHDL语言输入。
2.全程编译成功。
3.功能仿真。
4.仿真波形及结果。
5.封装
三、含七段数码显示译码的4位加法器的设计
1.原理图输入。
2.全程编译成功。
3.功能仿真。
4.仿真波形及结果。
5.封装。
四、硬件验证部分
1.将实验箱与电脑相连接,点击菜单栏的TOOL中的Programmer进行硬件实验。
2.在电路结构图中设置,找出引脚名和然后找出引脚名所对应的位置的引脚号,然后将此引脚号输入quarts中pins端口的芯片位置。
(结构管脚电路图)(电路引脚对照图)
3.这里选择键6键7键8分别作为时钟、使能、重置端,分别对应PIN28、PIN30、PIN31。
4.设置硬件,并下载到FPGA进行硬件验证。
5.将数码管设置到模式6,开通电源后,通过键7使能打开,按键6可以在数码管看到跳变的数字,依次显示为:1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,按键8可置零。
硬件验证成功。
作业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,进行一步到位的仿真。
得仿真波形。
下载文件生成。
自动设置的引脚。