EDA实验报告(quartus2仿真)
实验一 QUARTUSII原理实验报告
实验一QUARTUSII原理图输入法实验
一,实验目的
熟悉利用Quartusll的原理图输入方法设计简单电子线路,掌握原理图输入法设计思路,掌握层次化设计的方法,并通过8位全家器和5-24线译码器的设计把握利用EDA软件进行电子线路设计的详细流程。
二,实验内容
1,用原理图输入设计一个一位全加器
三,实验原理
1,一个一位全加器可以由两个一位半加器和一个或门构成,先用原理图输入法绘制半加器文件,然后生成半加器模块,保存在当前文件夹。
然后新建一个原理图文件,在当前文件夹中调用2个新生成的半加器模块和一个或门。
然后用导线连接即可。
具体步骤参见课本及半加器和全加器原理图参见课本相关章节。
四,实验设备
Pc机Quartusll软件
五,实验截图
六,实验心得体会。
eda实验报告2
实验二多路选择器的设计一、实验目的1、进一步熟悉QUARTUSII软件的使用方法和VHDL输入的全过程。
2、进一步掌握实验系统的使用。
二、实验原理四选一多路选择器的原理如下图及下表,由Sl,S0来选择d0 ,dl ,d2 ,d3的信号,并使其能在Q上输出。
三、实验内容1、用VHDL语言的不同语句分别描述任务选择器,并通过编译仿真比较不同语句描述的区别。
2、通过仿真下载并通过硬件验证实验结果。
四、实验步骤1、打开QUARTUSII软件,新建一个工程。
2、建完工程之后,再新建一个VHDL File。
新建一个VHDL文件的过程如下:1)选择QUARTUSII软件中的File>New命令,出现New对话框。
如图2-2所示。
图2-1 新建设计文件选择窗口2)在New对话框(图2-1)中选择Device Design Files页下的VHDL File,点击OK按钮,打开VHDL编辑器对话框,如图2-2所示。
图2-2 VHDL编辑窗口1、按照实验原理和自己的想法,在VHDL编辑窗口编写VHDL程序,用户可参照光盘中提供的示例程序。
2、编写完VHDL程序后,保存起来。
方法同实验一。
3、对自己编写的VHDL程序进行编译并仿真,对程序的错误进行修改。
4、编译仿真无误后,进行管脚分配,下表是示例程序的管脚分配表。
分配完成后,再进行全编译一次,以使管脚分配生效。
表2-1 端口管脚分配表5、“模式选择键”:按动该键能使实验板产生12种不同的实验电路结构。
本次实验的模式选择到“6”(红色数码管上显示)。
6、用下载电缆通过JTAG口将对应的sof文件加载到FPGA中。
观察实验结果是否与自己的编程思想一致。
五、实验现象与结果当设计文件加载到目标器件后,按键按键开关,LED会按照实验原理中的格雷码输入一一对应的亮或者灭。
六、实验报告1、绘出仿真波形,并作说明。
2、进一步熟悉QUARTUSII软件。
3、将实验原理、设计过程、编译仿真波形和分析结果、硬件测试结果记录下来。
(完整版)基于QuartusII的数字电路仿真实验报告手册
数字电路仿真实验报告班级通信二班姓名:孔晓悦学号:10082207 作业完成后,以班级为单位,班长或课代表收集齐电子版实验报告,统一提交.文件命名规则如“通1_王五_学号”一、实验目的1. 熟悉译码器、数据选择器、计数器等中规模数字集成电路(MSI)的逻辑功能及其使用方法。
2. 掌握用中规模继承电路构成逻辑电路的设计方法。
3. 了解EDA软件平台Quartus II的使用方法及主要功能。
二、预习要求1. 复习数据选择器、译码器、计数器等数字集成器件的工作原理。
2. 熟悉所有器件74LS153、74LS138、74LS161的功能及外引线排列。
3.完成本实验规定的逻辑电路设计项目,并画出接线图,列出有关的真值表。
三、实验基本原理1.译码器译码器的逻辑功能是将每个输入的二进制代码译成对应的高、低电平信号。
译码器按功能可分为两大类,即通用译码器和显示译码器。
通用译码器又包括变量译码器和代码变换译码器。
变量译码器是一种完全译码器,它将一系列输入代码转换成预知一一对应的有效信号。
这种译码器可称为唯一地址译码器。
如3线—8线、4线—16线译码器等。
显示译码器用来将数字或文字、符号的代码译成相应的数字、文字、符号的电路。
如BCD-七段显示译码器等。
2.数据选择器数据选择器也陈伟多路选择器或多路开关,其基本功能是:在选择输入(又称地址输入)信号的控制下,从多路输入数据中选择某一路数据作为输出。
因此,数据选择器实现的是时分多路输入电路中发送端电子开关的功能,故又称为复用器。
一般数据选择器有n 个地址输入端,2n错误!未找到引用源。
个数据输入端,一个数据输出端或反码数据输出端,同时还有选通端。
目前常用的数据选择器有2选1、4选1、8选1、16选1等多种类型。
3.计数器计数器是一个庸医实现技术功能的时序部件,它不仅可以用来对脉冲计数,还常用作数字系统的定时、分频、执行数字运算以及其他一些特定的逻辑功能。
74LS161是4位同步二进制计数器,它除了具有二进制加法计数功能外,还具有预置数、保质和异步置零等附加功能。
quartus ii实验报告
quartus ii实验报告Quartus II实验报告引言:Quartus II是一款由Intel公司开发的集成电路设计软件,广泛应用于数字逻辑设计和FPGA开发领域。
本实验报告旨在介绍Quartus II的基本功能和使用方法,并通过实际案例展示其在数字逻辑设计中的应用。
一、Quartus II概述Quartus II是一款功能强大的集成电路设计软件,它提供了从设计到验证的全套工具。
Quartus II支持多种编程语言,如VHDL和Verilog,使得用户可以根据自己的需求选择适合的语言进行设计。
此外,Quartus II还提供了丰富的库和模块,方便用户进行快速原型开发和验证。
二、Quartus II的基本功能1. 设计入口Quartus II提供了多种设计入口,包括图形界面、命令行和脚本等方式。
用户可以根据自己的习惯和需求选择适合的方式进行设计。
图形界面友好易用,适合初学者;命令行和脚本则更适合有一定经验和需求的用户。
2. 设计编辑Quartus II提供了强大的设计编辑功能,用户可以在其中创建和编辑设计模块、信号线和电路连接等。
设计编辑界面清晰简洁,用户可以方便地进行设计布局和调整。
3. 仿真和验证Quartus II内置了仿真和验证工具,用户可以通过仿真来验证设计的正确性和性能。
仿真工具支持波形查看和信号分析等功能,帮助用户进行设计调试和优化。
4. 综合和优化Quartus II具备强大的综合和优化功能,可以将设计代码转化为硬件描述,进而生成逻辑电路。
综合工具会根据用户的约束条件和优化目标,自动进行逻辑优化和资源分配,提高设计的性能和效率。
5. 布局和布线Quartus II提供了先进的布局和布线工具,可以将逻辑电路映射到实际的FPGA芯片上。
布局工具可以根据用户的约束条件和性能要求,自动进行电路元件的位置分配;布线工具则负责将电路元件之间的连接线路进行规划和布线。
6. 下载和调试Quartus II支持将设计文件下载到目标FPGA芯片上,并提供了调试工具来验证和调整设计的正确性。
EDA实验报告(quartus2仿真)
EDA 设计(Ⅱ)学号:姓名:院系:指导:谭雪琴时间:2011年4月8日目录1.引言 (03)2.正文 (03)2.1.设计要求 (03)2.2.整体电路工作原理 (04)2.3.子模块设计原理与仿真 (04)2.3.1.脉冲发生电路 (04)2.3.2.计时电路 (07)2.3.3.译码显示电路 (10)2.3.4.报时电路 (15)2.3.5.校时、保持以及清零电路 (16)2.3.6.总功能电路连接 (20)2.4.整体电路下载 (21)2.5.扩展闹铃功能设计 (21)2.5.1.闹铃时间设定功能 (21)2.5.2.闹铃显示功能 (22)2.5.3.闹铃响铃功能 (23)2.5.4.闹铃总电路连接 (24)3.结论 (25)4.致谢 (26)5.参考资料 (26)多功能数字钟设计(南京理工大学)摘要:本文详细介绍了多功能数字钟的工作原理及设计过程。
首先利用quartus2软件,采用模块化设计方法,分别设计分频器、模计数器、动态显示电路、清零校时电路和报时电路等功能模块,然后观察仿真波形,确认功能实现后进行封装与调用。
最后将各功能模块整合起来构成整体电路,仿真和调试通过后下载到EDA实验箱,观察实际运行结果。
此外,本文还描述了附加闹铃功能的设计过程,并记述了实验过程中出现的一些问题及解决方案,以及对这次设计的一些经验教训的反思。
关键词:数字钟;校时报时;闹铃;动态显示;消颤;仿真;下载1、引言该数字钟功能丰富、操作简单,可使人们方便的获取时间信息及相关提醒,在实际生活中广泛应用,具有显著的实用价值。
其构成虽较简单,但融合了组合逻辑电路和时序逻辑电路,包括了分频器、计数器、数据选择器、编码器译码器以及锁存器等几乎所有数字逻辑电路的所学内容,是理论联系实际,提高知识技能的绝佳途径。
2、正文2.1 设计要求利用quartus2软件设计一个数字钟,并下载到EDA实验系统中。
要求可以完成00:00:00到23:59:59的计时功能,并在控制电路的作用下具有保持、清零、快速校时、快速校分、整点报时(当时钟计到59’53”时开始报时,在59’53”, 59’55”,59’57”时报时频率为512HZ,59’59”时报时频率为1KHZ)等功能。
EDA实验报告
实验一:QUARTUS II 软件使用及组合电路设计仿真页脚内容1实验目的:学习QUARTUS II 软件的使用,掌握软件工程的建立,VHDL源文件的设计和波形仿真等基本内容。
实验内容:1.四选一多路选择器的设计基本功能及原理:选择器常用于信号的切换,四选一选择器常用于信号的切换,四选一选择器可以用于4路信号的切换。
四选一选择器有四个输入端a,b,c,d,两个信号选择端s(0)和s(1)及一个信号输出端y。
当s输入不同的选择信号时,就可以使a,b,c,d中某一个相应的输入信号与输出y端接通。
逻辑符号如下:页脚内容2程序设计:软件编译:在编辑器中输入并保存了以上四选一选择器的VHDL源程序后就可以对它进行编译了,编译的最终目的是为了生成可以进行仿真、定时分析及下载到可编程器件的相关文件。
仿真分析:仿真结果如下图所示页脚内容3分析:由仿真图可以得到以下结论:当s=0(00)时y=a;当s=1(01)时y=b;当s=2(10)时y=c;当s=3(11)时y=d。
符合我们最开始设想的功能设计,这说明源程序正确。
2.七段译码器程序设计基本功能及原理:七段译码器是用来显示数字的,7段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是2进制的,所以输出表达都是16进制的,为了满足16进制数的译码显示,最方便的方法就是利用VHDL译码程序在FPGA或CPLD 中实现。
本项实验很容易实现这一目的。
输出信号的7位分别接到数码管的7个段,本实验中用的数码管为共阳极的,接有低电平的段发亮。
数码管的图形如下页脚内容4七段译码器的逻辑符号:程序设计:页脚内容5软件编译:在编辑器中输入并保存了以上七段译码器的VHDL源程序后就可以对它进行编译了,编译的最终目的是为了生成可以进行仿真、定时分析及下载到可编程器件的相关文件。
仿真分析:仿真结果如下图所示:页脚内容6分析:由仿真的结果可以得到以下结论:当a=0(0000)时led7=1000000 此时数码管显示0;当a=1(0001)时led7=1111001 此时数码管显示1;当a=2(0010)时led7=0100100 此时数码管显示2;当a=3(0011)时led7=0110000 此时数码管显示3;当a=4(0100)时led7=0011001 此时数码管显示4;当a=5(0101)时led7=0010010 此时数码管显示5;当a=6(0110)时led7=0000010 此时数码管显示6;当a=7(0111)时led7=1111000 此时数码管显示7;当a=8(1000)时led7=0000000 此时数码管显示8;页脚内容7当a=9(1001)时led7=0010000 此时数码管显示9;当a=10(1010)时led7=0001000 此时数码管显示A;当a=11(1011)时led7=0000011 此时数码管显示B;当a=12(1100)时led7=1000110 此时数码管显示C;当a=13(1101)时led7=0100001 此时数码管显示D;当a=14(1110)时led7=0000110 此时数码管显示E;当a=15(1111)时led7=0001110 此时数码管显示F;这完全符合我们最开始的功能设计,所以可以说明源VHDL程序是正确的。
Quartus II 软件操作实验报告
实验题目:Quartus II 软件操作一、实验目的(1)了解并掌握QuartusII软件图形输入的使用方法。
(2)了解并掌握仿真(功能仿真及时序仿真)方法及验证设计正确性。
二、实验内容及步骤1.实验内容:本实验通过简单的例子介绍FPGA开发软件QuartusII的使用流程,包括图形输入法的设计步骤和仿真验证的使用以及最后的编程下载。
2.实验步骤:在QuartusII中通过原理图的方法,使用与门和异或门实现半加器。
原理图第1步:打开QuartusII软件,新建一个空项目。
选择菜单File->New Project Wizard,进入新建项目向导,填入项目的名称“hadder”。
第2步:单击Next按钮,进入向导的下一页进行项目内文件的添加操作,或直接点击Next按钮。
第3步:选择CPLD/FPGA器件,选择芯片系列为“MAX II”,型号为“EPM240T100C5”。
向导的后面几步不做更改,直接点击Next即可,最后点击Finish结束向导。
第4步:新建一个图形文件。
选择File->New命令,选择“Diagram/Schematic File”,点击OK按钮完成。
将该图形文件另存为hadder.bdf。
第5步:在图形编辑窗口的空白处双击,打开符号库窗口。
选择好需要的符号后,单击OK按钮,界面将回到原理图编辑界面,然后单击左键即在窗口内放置该符号。
分别放置与门“7408”和异或门“xor”。
第6步:在编辑窗口中放入两个输入符号,命名为a和b。
放置2个输出“output”符号,并分别命名为s、cout。
将各符号连接起来。
第7步:保存图形文件,进行语法检查和编译。
在信息(Messages)窗口中显示检查结果。
第8步:仿真。
执行File->New命令,选择“Other Files”选项页中 Vector Waveform File,并单击OK按钮,打开矢量波形编辑器窗口。
另存矢量波形文件为hadder.vwf。
EDA实验报告 (2)
实验一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技术与实验第4章 QuartusⅡ软件的应用
G08GJ
1. QuartusⅡ软件的主界面
(1)项目文件引导(Project Navigator)窗口 此窗口有3个可以切换的面 板。 (2)设计文件编辑窗口 在集成开发环境中,利用这个窗口进行图形 编辑、文本编辑。 (3)编译状态(Status)窗口 此窗口可以显示编译阶段的进度和时间。 (4)信息显示(Messages)窗口 此窗口可以显示设计文件编译的报告、 警告和错误信息。 (5)TCL文件控制(TCL Console)窗口 此窗口可以在用户图形界面(GU I)中提供一个可以输入TCL命令或执行TCL脚本的控制台。 (6)修改管理(Change Manager)窗口 可以利用此窗口来跟踪Chip Edito r中对设计文件进行ቤተ መጻሕፍቲ ባይዱ改的信息。
G08GJ
1.图形用户界面的功能及设计流程
(9)基于模块设计 包括LogicLock窗口、时序逼近布局 和 VQM写入 等功能。 (10)EDA接口 包括EDA网表写入功能。 (11)功耗分析 包括PowerPlay功耗分析工具和PowerPlay早期功耗估 算器等功能。 (12)时序逼近 包括时序逼近布局、LogicLock窗口、时序优化向导、 设计空间管理器和渐进式编译等功能。 (13)调试 包括SignalTap II、SignalProbe、在系统存储器内容编辑器、 RTL查看器、技术映射查看器和芯片编辑器等功能。 (14)工程更改管理器 包括芯片编辑器、资源属性编辑器和更改管理 器等功能。
G08GJ
3. Quartus Ⅱ 软件的授权方法
EDA实验报告2
EDA 第二次试验报告一、实验目的:利用QuartusII 软件,采取VHDL 语言编程和LPM 实现的方式设计比较电路,从而熟悉硬件描述语言和LPM 元件定制。
二、实验设计方案: 1、原理说明:当输入两位二进制数A 和B ,设A=A2A1,B=B2B1。
首先从高位开始比较,即比较A2、B2大小。
若A2>B2,则输出F1为1;若A2<B2,则输出F2为1。
当A2=B2时,则再比较低位A1、B1大小,若A1=B1,则输出F3为1。
2、结构框图:三、实验过程:比较电路:设计一个能实现两个二位数比较的电路,如下图所示,根据A 数是否大于、小于、等于B 数,相应输出端F1、F2、F3为1,设 A=A2A1,B=B2B1,当A2A1>B=B2B1时,F1为1;A2A1<B=B2B1时,F2为1;A2A1=B=B2B1时,F3为1。
VHDL 实现:1、 新建工程所在的文件夹名称为bijiao 、工程名为bijiao 、顶层实体名称为bijiao ,之后再新建VHDL 文件,以下为其编译并通过的代码: library IEEE;use IEEE.std_logic_1164.all; entity bijiao is二位数据A二位数据BLPM 定制实现比较电路 VHDL 实现比较电路输出F1或F2或F3结果波形仿真验证硬件试验箱验证比较电路A2 A1 B2B1F1 F2 F3> < =port( a2,a1:in STD_LOGIC; b2,b1:in STD_LOGIC; f1,f2:buffer STD_LOGIC; f3:out STD_LOGIC); end bijiao;architecture bijiao_arch of bijiao is beginf1<=(a2 and(not b2)) or (a1 and(not b1)and a2) or (a1 and(not b1)and (not b2));f2<=(( not a2) and b2) or (( not a2) and ( not a1)and b1) or ((not a1) and b1 and b2);f3<=not( f1 or f2);end bijiao_arch;VHDL 分析调试工具RTL viewer:2、 新建波形文件进行波形仿真:功能仿真结果:a1.b1.c1a2'.b2a1'.a2'.b1a2'.b2a1.b1'a1.a2.b1'(a2’.b2)+(a2’.a1’.b1)+(a1’.b1.b2)a1.b1’.b2’(a2.b2’)+(a1.b1’.a2)+(a1.b1’.b2’)(f1+f2)’参数设置:输入数据A (a2a1)的参数设置:End Time :2.0 us Gard Size: 400ns 输入数据B (b2b1)的参数设置:End Time :2.0 us Gard Size: 100ns 信号A 、B 的属性:二进制 输出端属性:二进制图示结论:当A 输入为00时,若B 也为00,则f1f2f3显示结果为001,其表示f3为1,即A=B ;当A 输入为00时,若B 为01、10、11,则f1f2f3显示结果为010,其表示f2为1,即A=<B ;当A 输入为01时,若B 为00,则f1f2f3显示结果为100,其表示f1为1,即A>B ;时序仿真结果:当输入由某一种取值组合变成另一种取值组合时,由于竞争使得电路产生了与稳态输出不同的、暂时的错误输出,即为冒险。
第二次EDA试验报告
EDA实验报告班级学号:姓名:郭泽榜一.实验目的1、熟悉Quartus II软件的使用。
2、熟悉简单组合电路的设计。
3、熟悉基本时序电路的VHDL描述。
二、Quartus II基本设计流程1、建立工作库文件夹和编辑设计文件首先建立工作库目录,以便存储工程项目设计文件。
在建立了文件夹后就可以将设计文件通过Quartus U的文本编辑器编辑并存盘,步骤如下:(1)新建一个文件夹。
首先可以利用Windows资源管理器,新建一个文件夹。
这里假设本项设计的文件夹取名为CNTIOB,在D盘中,路径为D:\NT10B。
注意:文件夹名不能用中文,也最好不要用数字。
(2)输入源程序。
打开Quartus II,选择菜单File->New。
在New窗口中的Device Design Files中选择编译文件的语言类型。
(3)文件存盘。
选择File—Save As命令,找到已设立的文件夹D:\CNTl0B,存盘文件名应该与实体名一致,即CNTl0.vhd。
当出现问句“Do you want to create…”时,若单击“是”按钮,则直接进入创建工程流程:若单击“否”按钮,可按以下的方法进入创建工程流程。
2、创建工程使用New Project Wiz~d可以为工程指定工作目录、分配工程名称以及指定最高层设计实体的名称,还可以指定要在工程中使用的设计文件、其他源文件、用户库和EDA工具,以及目标器件系列和具体器件等。
在此要利用New Preiect Wiz~d工具选项创建此设计工程,即令顶层设计cntl0.vhd 为工程,并设定此工程的一些相关的信息,如工程名、目标器件、综合器、仿真器等。
(1)打开建立新工程管理窗口。
选择菜单File—New Preject Wiz~d命令,即弹出“工程设置”对话框。
单击此对话框最上一栏右侧的“…”按钮,找到文件夹D:\CNTloB,选中已存盘的文件CNTl0.VHD(一般应该设顶层设计文件为工程),再单击“打开”按钮,即出现如图5-2所示的设置情况。
Quartus II 软件操作实验报告
实验题目:Quartus II 软件操作一、实验目的(1)了解并掌握QuartusII软件图形输入的使用方法。
(2)了解并掌握仿真(功能仿真及时序仿真)方法及验证设计正确性。
二、实验内容及步骤1.实验内容:本实验通过简单的例子介绍FPGA开发软件QuartusII的使用流程,包括图形输入法的设计步骤和仿真验证的使用以及最后的编程下载。
2.实验步骤:在QuartusII中通过原理图的方法,使用与门和异或门实现半加器。
原理图第1步:打开QuartusII软件,新建一个空项目。
选择菜单File->New Project Wizard,进入新建项目向导,填入项目的名称“hadder”。
第2步:单击Next按钮,进入向导的下一页进行项目内文件的添加操作,或直接点击Next按钮。
第3步:选择CPLD/FPGA器件,选择芯片系列为“MAX II”,型号为“EPM240T100C5”。
向导的后面几步不做更改,直接点击Next即可,最后点击Finish结束向导。
第4步:新建一个图形文件。
选择File->New命令,选择“Diagram/Schematic File”,点击OK按钮完成。
将该图形文件另存为hadder.bdf。
第5步:在图形编辑窗口的空白处双击,打开符号库窗口。
选择好需要的符号后,单击OK按钮,界面将回到原理图编辑界面,然后单击左键即在窗口内放置该符号。
分别放置与门“7408”和异或门“xor”。
第6步:在编辑窗口中放入两个输入符号,命名为a和b。
放置2个输出“output”符号,并分别命名为s、cout。
将各符号连接起来。
第7步:保存图形文件,进行语法检查和编译。
在信息(Messages)窗口中显示检查结果。
第8步:仿真。
执行File->New命令,选择“Other Files”选项页中 Vector Waveform File,并单击OK按钮,打开矢量波形编辑器窗口。
另存矢量波形文件为hadder.vwf。
EDA实验报告一(QuartusII软件的使用)
实验一:QuartusII软件的使用一、实验目的1、了解和学习Quartus II 7.2软件设计平台。
2、了解EDA的设计过程。
3、通过实例,学习和掌握Quartus II 7.2平台下的文本输入法。
4、学习和掌握D触发器的工作和设计原理。
5、初步掌握该实验的软件仿真过程。
二、实验仪器PC机,操作系统为Windows7/XP,本课程所用系统均为WindowsXP(下同),Quartus II 7.2设计平台。
三、实验步骤1、创建工程,在File菜单中选择New Project Wizard,弹出对话框如下图所示在这个窗口中第一行为工程保存路径,第二行为工程名,第三行为顶层文件实体名,和工程名一样。
2、新建设计文本文件,在file中选择new,出现如下对话框:选择VHDL File 点击OK。
3、文本输入,在文本中输入如下程序代码: library ieee;Use ieee.std_logic_1164.all;entity men isport(a,b:in std_logic;c:out std_logic);end men;architecture rt1 of men isbeginc<=a AND b;end rt1;然后保存到工程中,结果如下图所示:4、编译,如果有多个文件要把这个文件设为当前顶层实体,这样软件编译时就只编译这个文件。
点击projet->Set as Top-level EntityCtrl+Shift+J接下来进行编译,点击processing->Start Compilation ,见下图5、仿真验证,打开波形编辑器,新建一个波形仿真文件,如下图:然后选择菜单“View”→“Utility”→“Node Finder”出现如下对话框,在“Filter”中选择“Pins:all”,再点击“List”即在下边的“Node Found”框中出现本设计项目中所有端口引脚列表,从端口列表中选择所需要的,并逐个拖到波形编辑器窗口中。
EDA实验报告
实验一:QUARTUS II 软件使用及组合电路设计仿真实验目的:学习QUARTUS II 软件的使用,掌握软件工程的建立,VHDL 源文件的设计和波形仿真等基本内容。
实验内容:1.四选一多路选择器的设计基本功能及原理:选择器常用于信号的切换,四选一选择器常用于信号的切换,四选一选择器可以用于4路信号的切换。
四选一选择器有四个输入端a,b,c,d,两个信号选择端s(0)和s(1)及一个信号输出端y。
当s输入不同的选择信号时,就可以使a,b,c,d中某一个相应的输入信号与输出y端接通。
逻辑符号如下:程序设计:软件编译:在编辑器中输入并保存了以上四选一选择器的VHDL源程序后就可以对它进行编译了,编译的最终目的是为了生成可以进行仿真、定时分析及下载到可编程器件的相关文件。
仿真分析:仿真结果如下图所示分析:由仿真图可以得到以下结论:当s=0(00)时y=a;当s=1(01)时y=b;当 s=2(10)时y=c;当s=3(11)时y=d。
符合我们最开始设想的功能设计,这说明源程序正确。
2.七段译码器程序设计基本功能及原理:七段译码器是用来显示数字的,7段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是2进制的,所以输出表达都是16进制的,为了满足16进制数的译码显示,最方便的方法就是利用VHDL译码程序在FPGA或CPLD中实现。
本项实验很容易实现这一目的。
输出信号的7位分别接到数码管的7个段,本实验中用的数码管为共阳极的,接有低电平的段发亮。
数码管的图形如下七段译码器的逻辑符号:程序设计:软件编译:在编辑器中输入并保存了以上七段译码器的VHDL源程序后就可以对它进行编译了,编译的最终目的是为了生成可以进行仿真、定时分析及下载到可编程器件的相关文件。
仿真分析:仿真结果如下图所示:分析:由仿真的结果可以得到以下结论:当a=0(0000)时led7=1000000 此时数码管显示0;当a=1(0001)时led7=1111001 此时数码管显示1;当a=2(0010)时led7=0100100 此时数码管显示2;当a=3(0011)时led7=0110000 此时数码管显示3;当a=4(0100)时led7=0011001 此时数码管显示4;当a=5(0101)时led7=0010010 此时数码管显示5;当a=6(0110)时led7=0000010 此时数码管显示6;当a=7(0111)时led7=1111000 此时数码管显示7;当a=8(1000)时led7=0000000 此时数码管显示8;当a=9(1001)时led7=0010000 此时数码管显示9;当a=10(1010)时led7=0001000 此时数码管显示A;当a=11(1011)时led7=0000011 此时数码管显示B;当a=12(1100)时led7=1000110 此时数码管显示C;当a=13(1101)时led7=0100001 此时数码管显示D;当a=14(1110)时led7=0000110 此时数码管显示E;当a=15(1111)时led7=0001110 此时数码管显示F;这完全符合我们最开始的功能设计,所以可以说明源VHDL程序是正确的。
Quartus II实验报告
××××大学实验报告自学院(系)专业班成绩评定实验题目:第周星期一、实验目的1. 熟悉译码器、数据选择器、计数器等中规模数字集成电路(MSI)的逻辑功能及其使用方法。
2. 掌握用中规模继承电路构成逻辑电路的设计方法。
3. 了解EDA软件平台Quartus II的使用方法及主要功能。
二、预习要求1. 复习数据选择器、译码器、计数器等数字集成器件的工作原理。
2. 熟悉所有器件74LS153、74LS138、74LS161的功能及外引线排列。
3.完成本实验规定的逻辑电路设计项目,并画出接线图,列出有关的真值表。
三、实验基本原理1.译码器译码器的逻辑功能是将每个输入的二进制代码译成对应的高、低电平信号。
译码器按功能可分为两大类,即通用译码器和显示译码器。
通用译码器又包括变量译码器和代码变换译码器。
变量译码器是一种完全译码器,它将一系列输入代码转换成预知一一对应的有效信号。
这种译码器可称为唯一地址译码器。
如3线—8线、4线—16线译码器等。
显示译码器用来将数字或文字、符号的代码译成相应的数字、文字、符号的电路。
如BCD-七段显示译码器等。
2.数据选择器数据选择器也陈伟多路选择器或多路开关,其基本功能是:在选择输入(又称地址输入)信号的控制下,从多路输入数据中选择某一路数据作为输出。
因此,数据选择器实现的是时分多路输入电路中发送端电子开关的功能,故又称为复用器。
一般数据选择器有n 个地址输入端,2n个数据输入端,一个数据输出端或反码数据输出端,同时还有选通端。
目前常用的数据选择器有2选1、4选1、8选1、16选1等多种类型。
3.计数器计数器是一个庸医实现技术功能的时序部件,它不仅可以用来对脉冲计数,还常用作数字系统的定时、分频、执行数字运算以及其他一些特定的逻辑功能。
74LS161是4位同步二进制计数器,它除了具有二进制加法计数功能外,还具有预置数、保质和异步置零等附加功能。
《EDA技术及应用》QuartusII 原理图设计实验
《EDA技术及应用》QuartusII 原理图设计实验
课程名称: EDA技术及应用实验类型:设计性
实验项目名称: QuartusII 原理图设计
一、实验目的和要求
1.学习EDA集成工具软件Quartus II的使用;
2.2. 熟悉基于PLD的EDA设计流程;
3.3. 学会使用原理图设计半加器、全加器电路;
4.4. 掌握对设计进行综合、仿真、指定引脚和配置下载的方法。
二、实验内容和原理
三、实验步骤及结果
半加器原理图及编译结果半加器波形
半加器原理图及编译结果
全加器波形
四、讨论和心得
在这次实验中,要求使用原理图设计半加器、全加器电路,建立原理图,在图中加入输入、输出、与门、异或门等来搭建电路是实现半加器、全加器的功能。
通过这次实验,让我学会了如何使用原理图来设计半加器和全加器,如何生成半加器的原理图符号,并在全加器的原理图中使用,同时创建波形图,来进行功能仿真和时序仿真,观察波形来看是否正确。
EDA 应用QuartusⅡ完成基本组合电路设计
专业班级:学号:姓名:EDA 技术实验报告实验项目名称:应用QuartusⅡ完成基本组合电路设计实验日期:2012.05.21 实验成绩:实验评定标准:一、实验目的熟悉QuartusⅡ的VHDL文本设计流程全过程,学习简单组合电路的设计、多层次电路设计、仿真和硬件测试。
二、实验器材FPGA实验箱、PC机、QuartusⅡ软件三、实验内容(实验过程)实验内容1:首先利用QuartusⅡ完成2选1多路选择器的文本编辑输入(mux21a.vhd)和仿真测试等步骤,给出仿真波形图。
最后在实验系统上进行硬件测试,验证本项设计的功能。
实验内容2:将此多路选择器看成是一个元件mux21a,利用元件例化语句描述此程序,并将此文件放在同一目录中。
对此顶层文件进行编译、综合、仿真。
并对其仿真波形作出分析说明。
实验内容 3:引脚锁定以及硬件下载测试。
若选择目标器件是EP1K30,建议选试验电路模式5,用键1控制s0,用键2控制s1;a3、a2、a1分别接clock5、clock0和clock2;输出信号outy仍接扬声器speaker。
四、实验程序(1)二选一选择器的实验程序library ieee;use ieee.std_logic_1164.all;entity mux31a isport (a1,a2,a3,s0,s1:in bit;outy:out bit);end mux31a;architecture one of mux31a iscomponent mux21aport(a,b,s:in bit;y:out bit);end component;signal tmp:bit;beginu1:mux21a port map(a=>a2,b=>a3,s=>s0,y=>tmp); u2:mux21a port map(a=>a1,b=>tmp,s=>s1,y=>outy); end one;(2)三选一选择器的实验程序library ieee;use ieee.std_logic_1164.all;entity mux21a isport (a,b,s:in bit;y:out bit);end mux21a;architecture one of mux21a isbeginprocess (a,b,s)beginif s ='0' then y<=a; else y<=b;end if;end process;end one;五、实验仿真、结果及分析<一>试验仿真:(1)书中仿真图双2选择器如图。
EDA大作业_Quartus II_简易计算器_实验报告
实验报告——简易计算器目录:一、实验目的 (1)二、实验任务 (1)三、电路设计及仿真 (2)1. 结构设计图示如下: (2)2. 设计描述 (2)3. 一位全加器: (2)4. 四位全加器: (2)5. 补码器 (3)6. 四位加减器 (4)7. 八位全加器 (5)8. 乘法器 (5)9. 整体电路: (6)四、实验总结 (7)1. 实验收获: (8)2. 实验中出现的问题及解决: (8)一、实验目的1. 学习面向可编程器件(FPGA)的简单数字系统的设计流程。
2. 熟练掌握EDA设计软件Quartus II的原理图输入方式和层次化设计模式。
3. 熟悉实验装置——实验箱。
二、实验任务1. 设计1位全加器,并将其封装成1位全加器模块,仿真验证运算结果;2. 设计4位加/减运算器。
用封装好的1位全加器模块组成成4位加/减运算器。
仿真验证运算结果;3. 以全加器为基础设计一个4位乘法器并封装成乘法器模块,输出显示乘积和正负数标志。
仿真验证运算结果;4. 使用已生成的器件模块为基础设计一个简易计算器,根据控制端的状态,完成加、减、乘法运算,用十进制显示运算结果;用发光二极管显示负数标志。
仿真验证运算结果;即实现如下设计:三、电路设计及仿真1.结构设计图示如下:2.设计描述①利用门电路组合成1位全加器,封装;②调用1位全加器组合4位全加器和4位补码全加器(实现补码和相加),分别封装;③利用门电路实现补码器,封装;(可改进——使用4位全加器实现,见下);④调用4位补码全加器和补码器实现4位加减器;⑤调用4位全加器实现8位全加器,封装;⑥调用8位全加器实现乘法器;⑦译码(二进制码——BCD码);⑧组合4位加减器和乘法器成简易计算器;3.一位全加器:①利用门电路组合而成4位全加器;电路图如下:②将其封装成1位全加器模块。
4.四位全加器:①利用1位全加器模块搭建4位补码全加器(实现补码后相加),电路如下:② 将其封装成4位补码全加器模块。
QuartusII仿真实验
input A,B;\\定义输入
output L1,L2,L3;\\定义输出
reg L1,L2,L3;
always@(A,B)begin
if(A>B)begin\\根据AB大小关系分别给输出赋值
L1=1'b1;L2=1'b0;L3=1'b0; end
3、“求反加一”电路设计
设计一组合逻辑电路,能够对输入的四位二进制数求反加一运算。设输入四位二进制数接至开关控制,输出接至发光二极管。
4、数据选择器设计
设S[1:0]为数据选择控制端,D0、D1、D2、D3为数据输入端,L为数据输出端。设计具有下表功能的数据选择器。
四、
实验内容
1.大小比较器
(1)实验代码
else if(A==B)begin
L1=1'b0;L2=1'b1;L3=1'b0; end
else if(A<B)begin
L1=1'b0;L2=1'b0;L3=1'b1; end
end
endmodule
(2)仿真波形
(3)管脚分配与下载
(4)测试记录
A B L1 L2 L3
0 0 0 1 0
0 1 0 1 1
1 0 1 0 0
1 1 0 1 0
2、全加全减器
(1)实验代码
采用的是逻辑表达式的方法。
module full_add_sub1(A,B,M,Ci,Co,S);
input A,B,M,Ci;
output Co,S;
reg Co,S;
always@(A,B,M,Ci)begin
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
EDA 设计(Ⅱ)学号:姓名:院系:指导:谭雪琴时间:2011年4月8日目录1.引言 (03)2.正文 (03)2.1.设计要求 (03)2.2.整体电路工作原理 (04)2.3.子模块设计原理与仿真 (04)2.3.1.脉冲发生电路 (04)2.3.2.计时电路 (07)2.3.3.译码显示电路 (10)2.3.4.报时电路 (15)2.3.5.校时、保持以及清零电路 (16)2.3.6.总功能电路连接 (20)2.4.整体电路下载 (21)2.5.扩展闹铃功能设计 (21)2.5.1.闹铃时间设定功能 (21)2.5.2.闹铃显示功能 (22)2.5.3.闹铃响铃功能 (23)2.5.4.闹铃总电路连接 (24)3.结论 (25)4.致谢 (26)5.参考资料 (26)多功能数字钟设计(南京理工大学)摘要:本文详细介绍了多功能数字钟的工作原理及设计过程。
首先利用quartus2软件,采用模块化设计方法,分别设计分频器、模计数器、动态显示电路、清零校时电路和报时电路等功能模块,然后观察仿真波形,确认功能实现后进行封装与调用。
最后将各功能模块整合起来构成整体电路,仿真和调试通过后下载到EDA实验箱,观察实际运行结果。
此外,本文还描述了附加闹铃功能的设计过程,并记述了实验过程中出现的一些问题及解决方案,以及对这次设计的一些经验教训的反思。
关键词:数字钟;校时报时;闹铃;动态显示;消颤;仿真;下载1、引言该数字钟功能丰富、操作简单,可使人们方便的获取时间信息及相关提醒,在实际生活中广泛应用,具有显著的实用价值。
其构成虽较简单,但融合了组合逻辑电路和时序逻辑电路,包括了分频器、计数器、数据选择器、编码器译码器以及锁存器等几乎所有数字逻辑电路的所学内容,是理论联系实际,提高知识技能的绝佳途径。
2、正文2.1 设计要求利用quartus2软件设计一个数字钟,并下载到EDA实验系统中。
要求可以完成00:00:00到23:59:59的计时功能,并在控制电路的作用下具有保持、清零、快速校时、快速校分、整点报时(当时钟计到59’53”时开始报时,在59’53”, 59’55”,59’57”时报时频率为512HZ,59’59”时报时频率为1KHZ)等功能。
此外,还可以设计闹铃功能或自行添加其他功能。
基本设计要求为:1、能进行正常的时、分、秒计时功能;2、分别由六个数码管显示时分秒的计时;3、 K1是系统的使能开关(K1=0正常工作,K1=1时钟保持不变);4、 K2是系统的清零开关(K2=0正常工作,K2=1时钟的分、秒全清零);5、 K3是系统的校分开关(K3=0正常工作,K3=1时可以快速校分);6、 K4是系统的校时开关(K4=0正常工作,K4=1时可以快速校时);2.2 整体电路的工作原理数字钟主要由脉冲发生电路、计时电路、译码显示电路、报时电路、校时清零电路以及附加功能电路组成。
其中脉冲发生电路产生1HZ 、2HZ 、500HZ 、1KHZ 以及1MHZ 时钟信号,分别送至计时电路、校时电路、报时电路和动态显示电路等作为时钟信号。
计时电路为系统核心,利用1HZ 信号作为计数脉冲,两个模60计数器和一个模40计数器,实现秒分时的计时功能。
译码显示电路将计时电路输出的计时信号进行译码后送至数码管并在时钟的驱动下动态显示计时数据。
报时电路通过计时电路的计时信号而产生相应的选通信号,控制扬声器在特定时间发出不同频率的声音信号,实现报时功能。
清零保持电路通过控制计数器使能端的电位实现清零和保持。
校时电路根据开关的状态,选择输入到计数器的时分时钟信号的信号源,从而实现正常计数和快速校时功能。
附加功能电路依照具体要求对电路进行相关改进,以实现相应功能。
以下为系统电路框图:图 2.2.1 整体电路框图2.3子模块设计原理与仿真波形自顶向下模块化设计方法,是根据系统的总要求,将系统分解为若干个子系统,再将每个子系统分解为若干个功能模块……直到分成许多各具特定子功能的基本模块为止。
再利用分解的逆过程进行互联,完成系统设计。
2.3.1脉冲发生电路图 2.3.1 脉冲发生电路其中,in 为振荡电路48MHZ 时钟信号输入端,在模块内部经过分频,分别输出1HZ 、1KHZ 、1MHZ 、500HZ和2HZ 信号,送到后级电路作为相应时钟信号。
其中n 分频器可由模n 计数器来实现,最高位的输出即为n分频之后的信号,且占空比为1:1。
译码显示电路计时电路 报时电路脉冲发生电路 校时清零电路 附加功能电路由于 48M=24×1000×1000×2故可以通过模24计数器、模1000计数器以及模2计数器的组合来实现各种所需信号的分频。
模1000计数器选用3片74163级联,利用同步清零实现。
当计数器计数输出为11,1110,0111(十进制999)的时候,通过8位与非门输出清零信号,使计数器清零。
下图为模1000分频器内部原理图和输出仿真波形。
图2.3.2 模1000分频器原理图图 2.3.2 模1000分频器仿真波形输出检验以上输出波形,10脚输出的波形周期为时钟的1000倍,且占空比为1:1。
模24计数器选用两片74160级联,通过异步清零实现。
当计数器输出BCD 码10,0100(十进制24)时,两位与非门输出低电平清零信号,送至芯片CLRN 端异步清零。
图 2.3.3 模24分频器原理图图2.3.4 模24分频器仿真输出波形根据波形可知,最高位输出周期为时钟周期的24倍,满足分频要求。
但由于74160是10进制计数器,故其占空比不再为1:1,而是5:1。
同理,模2计数器可采用一片74163或74160构成,也可以用D触发器直接构成,功能较简单,在此就不再赘述。
最后,将各子功能模块组合起来,构成脉冲发生电路模块,并进行封装。
图2.3.5 脉冲发生电路总原理图通过观察其输出的波形,确认输出的各个波形满足要求。
2.3.2计时电路时钟的计时进制分别为60和24,故可根据要求设计模60和模24的计数器,通过级联,输出各位的计数信号。
其中,模24计数器的设计在脉冲发生部分已经叙述,故不再介绍其设计过程。
模60计数器的设计可采用两片74160级联,辅以四位与非门实现。
以下分析其设计原理。
74160为模10计数器,将其进位信号(个位)作为下一片(十位)的计数使能信号,就能实现级联。
计数器的工作计数为000,0000——110,1001,共60个状态,利用与非门分别接其为110,1001时为1的输出脚,与非之后送到置数端LD,实现同步置数。
需要指出的是,由于74160采用的是同步置数、异步清零,为了电路工作稳定,消除冒险,在此选用置数法实现清零。
图 2.3.6 模60计数器连接图图 2.3.7 模60计数器输出波形图由上图各位输出波形可知计数状态符合要求,且占空比都达到较大,适合作为下级电路的驱动信号。
调试成功后进行封装,以便于调用。
图 2.3.8 模60封装图封装后的模60计数器,其低4位(out1~out4)作为秒和分的个位计数值,高三位作为秒分的十位计数值。
clk60为时钟信号,由外部引入。
clear和keyEN分别为计数控制输入端,将在下文中的校时和清零保持电路设计部分进行详细论述。
oclk为进位信号,以便于级联。
但若由计数器的置数位引出,由于为同步清零,下一级将会在本级计数到59时就发生进位。
因此,在进行深入思考之后,我们决定采用D触发器将置位信号锁存一个时钟周期,以便使进位与清零能够同步。
具体解决电路如下:图 2.3.9 清零信号锁存输出作为进位信号从图2.3.7可以看出oclk进位信号成功实现与清零的同步,消除了电路冒险。
此外,我们还考虑了从另一个方面来解决这个问题。
由于是采用可编程逻辑器件(PLD)来实现电路设计,硬件描述语言(HDL,Hardware Description Language)可以描述硬件电路的功能,我们采用应用最为广泛的VHDL语言进行了模60计数器的设计,成功的消除了电路中的冒险。
以下为其源代码:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all; 库和包集合说明语句ENTITY mod60vhdl ISPORT(ci :IN std_logic;nreset :IN std_logic; 实体描述部分load :IN std_logic;d :IN std_logic_vector(7 downto 0);clk :IN std_logic;co :out std_logic;qh :buffer std_logic_vector(3 downto 0);ql :buffer std_logic_vector(3 downto 0));END mod60vhdl;ARCHITECTURE behave OF mod60vhdl ISBEGINco<='1' when(qh="0101" and ql="1001" and ci='1')else '0'; 结构体描述PROCESS(clk,nreset) 进程及敏感表BEGINIF(nreset='0')THEN 清零端低电平清零qh<="0000";ql<="0000";ELSIF(clk 'EVENT AND clk='1')THEN 时钟信号上升沿来临if(load='1')then 置数端高电平同步置数qh<=d(7 downto 4);ql<=d(3 downto 0);elsif(ci='1')thenif(ql=9)then 各位计满后自动清零ql<="0000";if(ql=5)thenqh<="0000";elseqh<=qh+1; 未计满则加计数end if;else ql<=ql+1;end if;END IF;END IF;END PROCESS; 结束进程END behave; 结束结构体可见,采用VHDL进行设计,不局限于仅有的元器件,相比原理图设计方式,设计的灵活性大大增加,并且思路清晰,逻辑严密,设计起来省时省力。
图2.3.10 计数电路的总连接图可以发现,quartus2的封装功能使设计过程条理清晰,连线简洁,便于识图。
这既是自顶向下模块化设计方法的基本要求,也是其必然结果。