基于QuartusII的数字电路仿真实验报告手册
实验一 QUARTUSII原理实验报告
实验一QUARTUSII原理图输入法实验
一,实验目的
熟悉利用Quartusll的原理图输入方法设计简单电子线路,掌握原理图输入法设计思路,掌握层次化设计的方法,并通过8位全家器和5-24线译码器的设计把握利用EDA软件进行电子线路设计的详细流程。
二,实验内容
1,用原理图输入设计一个一位全加器
三,实验原理
1,一个一位全加器可以由两个一位半加器和一个或门构成,先用原理图输入法绘制半加器文件,然后生成半加器模块,保存在当前文件夹。
然后新建一个原理图文件,在当前文件夹中调用2个新生成的半加器模块和一个或门。
然后用导线连接即可。
具体步骤参见课本及半加器和全加器原理图参见课本相关章节。
四,实验设备
Pc机Quartusll软件
五,实验截图
六,实验心得体会。
(完整版)基于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位同步二进制计数器,它除了具有二进制加法计数功能外,还具有预置数、保质和异步置零等附加功能。
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
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)等功能。
实验一 Quartus II的使用
实验一、Quartus II的使用—电路图输入方式一、实验目的:(1)熟悉Quartus II开发环境的使用(2)掌握利用Quartus II进行简单数字电路设计的基本流程及方法(3)掌握Quartus II开发环境中建立电路图的方法(4)了解Quartus II下简单设置输入激励的方法二、实验步骤下面以1位全加器为例介绍如何使用Altera Quartus II设计软件来对可编程逻辑器件进行编程。
(1)双击桌面上Quartus II 图标,运行Quartus II 软件,如图所示:图1 Quartus II 软件界面(2)建立工程。
选择菜单File→New Project Wizard,如图2所示图2 选择建立新工程向导菜单项单击菜单项New Project Wizard 后,出现向导提示框,单击按钮Next,出现如图3所示New Project Wizard 对话框界面,在该界面中输入相应工程名称和存放路径,然后单击按钮Next。
图3 New Project Wizard对话框界面出现如图4所示的Add Files 对话框界面,在File name 栏中输入文件名称,如“Adder”。
图4 Add Files对话框界面出现如图 5 所示的器件设置对话框界面,实验系统使用的是MAXII 系列的EPM1270T144C5 芯片,找到该器件后选中它,然后一直单击按钮Next,完成新工程的建立图5 器件设置对话框界面(3)新建设计文件建立新工程后,选择菜单File→New,弹出如图6 所示的新建设计文件选择窗口。
选择框中的Device Design Files 页下的项目Block Diagram/Schematic File,使用图形设计方式,单击按钮OK,则打开了图形编辑器窗口。
图6 新建设计文件选择框选择菜单File→Save As,在文件保存对话框中输入文件名,如Adder,然后单击按钮“保存”,则创建了图形设计文件Adder(4)设计逻辑电路。
计算机组成原理QuartusⅡ的使用的试验报告
计算机组成原理使用的实验报告Quartus H 的计算机组成原理使用的实验报告Quartus H 的南通大学计算机科学与技术学院上机实验报告课程名称:计算机组成原理 姓名:实验名称:Quartus H 的使用一、 目的及要求 实验目的:1•掌握Quartus H 的基本使用方法2. 了解 74138 (3: 8)译码器 74244b74273b 的功能。
3.利用 Quartus H 验证 74138 (3: 8)译码器、74244b 、74273b 的功能 实验要求:1•做好实验预习,掌握74138、74244b 、74273b 的功能特性。
2.写出实验报告,内容如下:① 实验目的 ② 实验电路图 ③ 完整的实验步骤。
④ 7413& 74244b 和74273b 的功能仿真波形,有关输入输出信号要标注清 ⑤ 仿真波形及仿真波形的分析方法、分析过程和分析结果。
二、 环境(软、硬件平台)软件平台:Quartus II硬件平台::现行的XP , WIN7 , 64位机都可以使用 三、 内容及步骤(包括程序流程及说明)1. 利用Quartus I 验证74138 (3: 8)译码器的功能 实验电路图如下:上机日期:2014年 成绩:© I实验步骤:创建波形文件进行仿真分析,对于输入端 ABC 设置不同的初始值进行测试, 对仿真波形及译码的结果进行分析, ABC 的初始值从000~111,共有8种,译码器的输出低 电平有效的分别从丫0变化至丫72. 利用Quartus H 验证74244b 的功能 实验电路图如下:.IA:匕二七J一lirm ■l..MM^..fl i^JH,MJ^M..1^ b-4 ■ ■ ua. 1..IIM-TYOAY1B Y2CY3G1 Y4NG2A YS G?BhYfiV7OlJfl ofT七^己m …布诵迈…产二5”颐T©7413£mH4.1 ■.J :' * uJU -^AM2?3bI iloIEnull : io:HL]ni,[L1IDL31Lin: i ii n「Wil4Z ns-实验步骤:设置寄存器74273b 的各端口取值,CLRN 接VCC ,时钟CLK 上升沿有效, 输入和输出同样采用总线式接法,测试时 D[8..1]的取值为0000 0000~0000 1000寄存器将在 每个时钟上升沿时被触发,写入新的数据 2.验证缓存器74244b 的功能,运行仿真波形如下:四、运行结果1.验证74138(3: 8)译码器的功能,运行仿真波形如下:IB ? ns*]fainter!'-33帕巧3 1ME-mttSJ・D[= .. Il| |0LiC局 OCTAL WFSirmjlaoon WavcrQirmc L0 y jts-tder :7T jp? Eikter Til - -W. 82 it-indJk_nwH[2]B 1 a[31B 0 码J B 0 S n 1 OWL BrinE JBL1J B 1 E : [_ ■<ID P EYS出AA[1J AE2)A[31 *[q)3 At tt[.^rtEiATJ3J1T[*JC L 00DUDIB, 9 ■--ilirdHIOlOG XI l-^-TBT[33 9 D RTI41 B 0更L3.验证缓存器 74273b 的功能,运行仿真波形如下:五、问题及心得通过这次实验,我意识到实践与理论的差距,虽然已经知道74138 74244b和74273b 的功能,但是在实验时还是出现了各种各样的问题,如何新建文件,新建波形文件,如何使用总线,如何转换Compile Mode (编译模式)和Simulate Mode(仿真模式),如何在计算机中找到保存好的数据,如何消除毛刺现象,正是在不断的修改中对Quartus H的使用愈加熟悉,还有对芯片的功能更多了一分了解,通过实验更能明白课堂理论的抽象涵义,知道缓存器,寄存器的功能。
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。
数电quartus实验报告
可编程逻辑器件FPGA实验一组合逻辑电路设计1、掌握中规模数字集成器件的逻辑功能及使用方法2、熟悉组合逻辑电路的设计方法3、了解数字可编程器件的应用设计4、学会QUARTUS软件的基本使用方法二.实验器材1、软件:QUARTUSII2、硬件:DE-2实验板,PC机三.实验原理利用74283芯片进行加减法运算,(M控制加减法,结果为负数时CO和M的异或输出为1,接二极管亮)并再利用另外一个74283芯片将运算得到的补码输出转换为原码。
接着利用7485数据比较器进行数据比较(与9比较),当输出小于9时,利用7485 的AGBO的输出为低电平控制十位输出为0,并控制个位输出为原码输出减0的结果;当输出大于9时AGBO输出为高电平,其可控制十位输出为1,个位输出为原码输出减10的结果。
最后十位输出和个位均接7447进行显示。
四.实验内容1、设计一个两组四位二进制数的加减运算显示电路。
要求:一个控制加减运算的功能按键;两数相加的绝对值不大于15;用两个七段数码管显示算术运算结果(0~15);当运算结果为负数时,红色发光二极管亮。
在QUARTUSII中进行:(1)电路设计(2)功能仿真(3)时序仿真2、下载DE-2板验证设计结果。
五.实验总结1、实验故障及解决方法①电脑无法连接DE-2板可能是数据线的问题。
②DE-2板无法使用更换DE-2板。
③输出结果不对仔细检查并修改电路设计,必要时寻求同学或老师的帮助。
2、实验体会完成实验的重点是理解实验内容要求,并通过对quartus ii 的学习,根据自己思路自行设计或者和同学共同设计电路原理图。
六.思考题1、当运算结果大于15时,显示译码电路如何设计?可以将运算结果输出用7485与15比较,把AGBO输出加非门后再与VCC与门输入两个数码管的BIN端。
当结果大于15时,两个数码管全灭,结果小于等于15时,不受影响。
2、如何实现两个一位十进制数的加减运算电路?讲十进制转化为四位二进制就可以用上述电路原理图进行加减法运算。
Quartus II实验报告4
CPLD/FPGA 设计实验报告实验名称: 时序电路设计基础 实验目的: 掌握Quartus II 软件的基本使用方法,完成基本时序电路设计 实验内容:实验一 译码器一、 创建工程工程名称: tt138_cas 顶层实体文件名:tt138_cas 器件: EP1C3T100C7 (要求:Cyclone 系列任意器件)二、 创建文件创建Verilog HDL 文件,用always 实现一个3——8译码器。
module tt138_cas(a,y,g1,g2a,g2b); input[2:0] a; input g1,g2a,g2b; output reg [7:0] y; always @ (a,y,g1,g2a,g2b) begin if(g1& ~g2a& ~g2b) begin case(a) 3'b000:y=8'B1111_1110; 3'b001:y=8'B1111_1101; 3'b010:y=8'B1111_1011;3'b011:y=8'B1111_0111;3'b100:y=8'B1110_1111;3'b101:y=8'B1101_1111;3'b110:y=8'B1011_1111;3'b111:y=8'B0111_1111;default:y=8'b1111_1111;endcase endelse y=8'b1111_1111;endendmodule三、编译工程报告中下列数据是多少total logic elements装订线四、仿真电路1、创建VWF文件2、设定“End Time”为20us3、在VWF文件中添加Node OR Bus4、编辑波形5、仿真6、画出仿真结果实验二译码器一、创建工程工程名称:tt138_assig顶层实体文件名:tt138_assig器件:EP1C3T100C7 (要求:Cyclone系列任意器件)二、创建文件创建Verilog HDL文件,用assign语句实现一个3——8译码器。
数字电路实验报告4
一、实验内容利用EDA工具Quartus-ll的原理图输入法,验证D触发器的功能,用触发器设计并实现4位二进制计数器电路,设计并实现4位二进制自循环寄存器电路,仿真验证电路功能。
二、实验目的熟悉用QuartusII原理图输入法进行电路设计和仿真,掌握QuartusII图形模块单元的生成与调用。
学会根据时序电路图分析电路的功能,并会自主实现时序逻辑电路的功能设计与仿真。
三、实验设备EDA工具 Quartus-ll四、实验方法与手段(一)D触发器触发器是一种具有两种稳态的用于储存的组件,可记录二进制数字信号“1”和“0”。
D触发器有一个输入、一个输出和一个时脉输入,当时脉由0转为1时,输出的值会和输入的值相等。
此类触发器可用于防止因为噪声所带来的错误,以及通过管线增加处理资料的数量。
其真值表如下:在Quartus-ll原理图输入法导入D触发器,设置输入输出,编译后进行波形仿真,仿真后导出波形。
(二)同步4位二进制加计数器电路4位二进制同步计数器是由四个触发器组成的M=2的4位二进制同步计数器。
计数脉冲N同时接于各位触发器的时钟脉冲输入CP端,当计数脉冲到来时,各触发器同时被触发,触发器状态由前级的现态决定后级的次态,各触发器的翻转与时钟脉冲同步。
同步计数器的工作速度较快,工作频率也较高。
从而得到其状态转移表为:根据功能表画出卡诺图,从而得到时序逻辑门电路设计图,设置输入输出,编译后进行波形仿真,将清零端先置0后置1,仿真后导出波形。
(三)4位循环移位寄存器电路移位寄存器是一种在若干相同时间脉冲下工作的以触发器级联为基础的器件,每个触发器的输出接在触发器链的下一级触发器的“数据”输入端,使得电路在每个时间脉冲内依次向左或右移动一个比特,在输出端进行输出。
从而得到4位循环移位寄存器的状态转移表为:从而得到逻辑门电路设计图,设置输入输出,设置输入输出,编译后进行波形仿真,将清零端先置0后置1,仿真后导出波形。
数字电子技术实验报告-基于Quartus-II的硬件描述语言电路设计
数字电子技术基础实验报告题目:实验四基于Quartus II的硬件描述语言电路设计小组成员:小组成员:一、实验四基于Quartus II的硬件描述语言电路设计一、实验目的1)学习并掌握硬件描述语言VHDL;熟悉门电路的逻辑功能,并用硬件描述语言实现门电路的设计。
2)熟悉中规模器件译码器的逻辑功能,用硬件描述语言实现其设计。
3)熟悉时序电路计数器的逻辑功能,用硬件描述语言实现其设计。
4)熟悉分频电路的逻辑功能,并用硬件描述语言实现其设计。
二、实验要求要求1:参考“参考内容1”中给出的与门源程序,编写一个异或门逻辑电路。
1)用QuartusII波形仿真验证;2)下载到DE0开发板验证。
要求2:参考“参考内容2”中给出的将8421BCD码转换成0-9的七段码译码器源程序,编写一个将二进制码转换成0-E的七段码译码器。
1)用QuartusII波形仿真验证;2)下载到DE0开发板,利用开发板上的数码管验证。
要求3:参考“参考内容3”中给出的四位二进制计数器的源程序,编写一个计数器实现0-E计数。
用QuartusII波形仿真验证;要求4:参考“参考内容4”中给出的50M分频器的源程序,编写一个能实现占空比50%的5M和50M分频器即两个输出,输出信号频率分别为10Hz和1Hz。
下载到DE0开发板验证。
(提示:利用DE0板上已有的50M晶振作为输入信号,通过开发板上两个的LED灯观察输出信号)。
电路框图如下:要求5:利用已经实现的VHDL模块文件,顶层文件采用原理图设计方法,实现0-E计数自动循环显示,频率1Hz和10Hz可以切换。
(提示:如何将VHDL模块文件在顶层原理图文件中引用,参考参考内容5)三、实验设备(1)电脑一台;(2)数字电路实验箱;(3)数据线一根。
四、实验原理1.VHDL具有功能强大的语言结构,可以用简洁明确的源代码来描述复杂的逻辑控制。
它具有多层次的设计描述功能,层层细化,最后可直接生成电路级描述。
Quartus II 原理图输入法设计 数电实验报告
数字电路与逻辑设计实验实验名称:Quartus II 原理图输入法设计班级:实验目的:1、熟悉用Quartus II 原理图输入法进行电路设计和仿真;2、掌握Quartus II图形模块的生成与调用;3、熟悉实验板的使用。
一、实验所用仪器与元器件:1、计算机2、直流稳压电源3、数字系统与逻辑设计实验开发板二、实验内容:1、用逻辑门设计实现一个半加器,仿真验证其功能,并生成新的半加器图形模块单元。
2、用实验内容 1 中生成的半加器模块和逻辑门设计实现一个全加器,仿真验证其功能,并下载到实验板测试,要求用拨码开关设定输入信号,发光二极管显示输出信号。
3、用3线-8线译码器和逻辑门设计实现函数=+++,仿真验证其功能,并下载到实验F C B A C B A C B A C B A板测试。
要求用拨码开关设定输入信号,发光二极管显示输出信号。
三、 设计思路与过程:1、半加器的实现:半加器是能够实现两个1位二进制数码相加求得和数及向高位进位的逻辑电路。
设被加数和加数用变量A 、B 表示,求得的和、向高位进位用变量S 、C 表示,则可得如下真值表:由真值表可以写出S 、C 的函数表达式:S A BC A B=⊕=所以半加器用一异或门和与门即可实现。
2、全加器的实现(可用1中封装好的半加器) 全加器是实现两个1位二进制数及低位来的进位相加(即将3个1位二进制数相加),求得和数及向高位进位的逻辑电路。
在该全加器中,A1、B1分别表示输入的被加数、加数、C_1表示低位来的进位,S1、C1分别表示本位和、高位的进位。
可得该电路的真值表:由真S1、C1的卡诺图为得1111111111111111S =A B C _+A B _A B _A B _=A B _C C C C ++⊕⊕同理可得111111()_C A B C A B =⊕+3、利用3线-8线译码器和逻辑门设计实现函数F C B A C B A C B A CBA=+++3线-8线译码器的符号如右图所示(由于没有74LS138,就用74138来替代了)。
(完整word版)数电实验实验报告(Quartus)数码管循环显示
实验101、结果:同时显示012345代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY sweep ISPORT(clk,clr:IN STD_LOGIC; --clk输入时钟;clr状态清零a:OUT STD_LOGIC_VECTOR (6 DOWNTO 0); --输出数码管相同段sweep:OUT STD_LOGIC_VECTOR (5 DOWNTO 0) --输出cat(数码管选通控制信号)端);END sweep;ARCHITECTURE sweep_arch OF sweep ISSIGNAL sweep_arc:STD_LOGIC_VECTOR (5 DOWNTO 0); --声明内部信号(选通控制信号)SIGNAL b:STD_LOGIC_VECTOR (6 DOWNTO 0); --声明内部信号(相同段信号)BEGINPROCESS(sweep_arc)BEGINIF (clk'event and clk='1') THENIF clr='0' THEN --状态清零sweep_arc <="011111" ; b <="0000000";ELSEcase sweep_arc IS --选通控制信号WHEN"011111" => sweep_arc <="111110";WHEN"111110" => sweep_arc <="111101";WHEN"111101" => sweep_arc <="111011";WHEN"111011" => sweep_arc <="110111";WHEN"110111" => sweep_arc <="101111";WHEN"101111" => sweep_arc <="011111";WHEN OTHERS => sweep_arc <="011111";END CASE;CASE sweep_arc IS --相同段信号WHEN"011111" => b <="1011011";WHEN"101111" => b <="0110011";WHEN"110111" => b <="1111001";WHEN"111011" => b <="1101101";WHEN"111101" => b <="0110000";WHEN"111110" => b <="1111110";WHEN OTHERS => b <="0000000";END CASE;END IF;END IF;sweep<=sweep_arc;a<=b;END PROCESS;END;仿真:管脚:2、(1)结果:循环显示:012345—123450—234501—345012—450123—501234—012345代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY sweep2 ISPORT(clk:IN STD_LOGIC; --clk输入时钟sweep2:OUT STD_LOGIC_VECTOR(5 DOWNTO 0); --输出数码管相同段a:OUT STD_LOGIC_VECTOR(6 DOWNTO 0) --输出cat(数码管选通控制信号)端);END sweep2;ARCHITECTURE arc_sweep2 OF sweep2 ISSIGNAL number:INTEGER RANGE 0 TO 6; --状态声明(6种状态,7种状态值)SIGNAL n:INTEGER RANGE 0 TO 6; --声明数码管(6个管,7个值)SIGNAL flag:INTEGER RANGE 0 TO 50; --同一状态运行次数BEGINPROCESS(clk)BEGINIF (clk'event AND clk='1') THENIF n>5 THENn<=0;ELSE n<=n+1;flag<=flag+1;END IF;IF flag>20 THENflag<=0;number<=number+1;IF number>5 THENnumber<=0;END IF;CASE number ISWHEN 0=> --状态0,输出012345CASE n ISWHEN 0=>sweep2<="011111"; a<="1111110";WHEN 1=>sweep2<="101111"; a<="0110000";WHEN 2=>sweep2<="110111"; a<="1101101";WHEN 3=>sweep2<="111011"; a<="1111001";WHEN 4=>sweep2<="111101"; a<="0110011";WHEN 5=>sweep2<="111110"; a<="1011011";WHEN OTHERS=>sweep2<="111111";END CASE;WHEN 1=> ----状态1,输出123450 CASE n ISWHEN 0=>sweep2<="011111"; a<="0110000";WHEN 1=>sweep2<="101111"; a<="1101101";WHEN 2=>sweep2<="110111"; a<="1101101";WHEN 3=>sweep2<="111011"; a<="1111001";WHEN 4=>sweep2<="111101"; a<="0110011";WHEN 5=>sweep2<="111110"; a<="1111110";WHEN OTHERS=>sweep2<="111111";WHEN 2=> --状态2,输出234501 CASE n ISWHEN 0=>sweep2<="011111"; a<="1101101";WHEN 1=>sweep2<="101111"; a<="1111001";WHEN 2=>sweep2<="110111"; a<="0110011";WHEN 3=>sweep2<="111011"; a<="1011011";WHEN 4=>sweep2<="111101"; a<="1111110";WHEN 5=>sweep2<="111110"; a<="0110000";WHEN OTHERS=>sweep2<="111111";END CASE;WHEN 3=> --状态3,输出345012 CASE n ISWHEN 0=>sweep2<="011111"; a<="1111001";WHEN 1=>sweep2<="101111"; a<="0110011";WHEN 2=>sweep2<="110111"; a<="1011011";WHEN 3=>sweep2<="111011"; a<="1111110";WHEN 4=>sweep2<="111101"; a<="0110000";WHEN 5=>sweep2<="111110"; a<="1101101";WHEN OTHERS=>sweep2<="111111";END CASE;WHEN 4=> --状态4,输出450123 CASE n ISWHEN 0=>sweep2<="011111"; a<="0110011";WHEN 1=>sweep2<="101111"; a<="1011011";WHEN 2=>sweep2<="110111"; a<="1111110";WHEN 3=>sweep2<="111011"; a<="0110000";WHEN 4=>sweep2<="111101"; a<="1101101";WHEN 5=>sweep2<="111110"; a<="1111001";WHEN OTHERS=>sweep2<="111111";END CASE;WHEN 5=> --状态5,输出501234CASE n ISWHEN 0=>sweep2<="011111"; a<="1011011";WHEN 1=>sweep2<="101111"; a<="1111110";WHEN 2=>sweep2<="110111"; a<="0110000";WHEN 3=>sweep2<="111011"; a<="1101101";WHEN 4=>sweep2<="111101"; a<="1111001";WHEN 5=>sweep2<="111110"; a<="0110011";WHEN OTHERS=>sweep2<="111111";END CASE;WHEN OTHERS=>sweep2<="111111";END CASE;END IF;END PROCESS;END arc_sweep2;仿真:仿真时将循环次数改为1方便观察波形,共6种状态管脚:2、(2)结果:循环显示:012345—12345X—2345XX—345XXX—45XXXX —5XXXXX—XXXXXX—XXXXX0—XXXX01—XXX012—XX0123—X01234—012345代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY sweep3 ISPORT(clk:IN STD_LOGIC; --clk输入时钟sweep3:OUT STD_LOGIC_VECTOR(5 DOWNTO 0); --输出数码管相同段a:OUT STD_LOGIC_VECTOR(6 DOWNTO 0) --输出cat(数码管选通控制信号)端);END sweep3;ARCHITECTURE arc_sweep3 OF sweep3 ISSIGNAL number:INTEGER RANGE 0 TO 12; --状态声明(12种状态,13种状态值)SIGNAL n:INTEGER RANGE 0 TO 6; --声明数码管(6个管,7个值)SIGNAL flag:INTEGER RANGE 0 TO 50; --同一状态运行次数BEGINPROCESS(clk)BEGINIF clk'event AND clk='1' THENIF n>5 THENn<=0;ELSE n<=n+1;flag<=flag+1;END IF;IF flag>20 THENflag<=0;number<=number+1;END IF;IF number>11 THENnumber<=0;END IF;CASE number ISWHEN 0=> --状态0,输出012345 CASE n ISWHEN 0=>sweep3<="011111"; a<="1111110";WHEN 1=>sweep3<="101111"; a<="0110000";WHEN 2=>sweep3<="110111"; a<="1101101";WHEN 3=>sweep3<="111011"; a<="1111001";WHEN 4=>sweep3<="111101"; a<="0110011";WHEN 5=>sweep3<="111110"; a<="1011011";WHEN OTHERS=>sweep3<="111111";END CASE;WHEN 1=> --状态1,输出12345X CASE n ISWHEN 0=>sweep3<="011111"; a<="0110000";WHEN 1=>sweep3<="101111"; a<="1101101";WHEN 2=>sweep3<="110111"; a<="1101101";WHEN 3=>sweep3<="111011"; a<="1111001";WHEN 4=>sweep3<="111101"; a<="0110011";WHEN 5=>sweep3<="111111"; a<="1111110";WHEN OTHERS=>sweep3<="111111";END CASE;WHEN 2=> --状态2,输出2345XX CASE n ISWHEN 0=>sweep3<="011111"; a<="1101101";WHEN 2=>sweep3<="110111"; a<="0110011";WHEN 3=>sweep3<="111011"; a<="1011011";WHEN 4=>sweep3<="111111"; a<="1111110";WHEN 5=>sweep3<="111111"; a<="0110000";WHEN OTHERS=>sweep3<="111111";END CASE;WHEN 3=> --状态3,输出345XXX CASE n ISWHEN 0=>sweep3<="011111"; a<="1111001";WHEN 1=>sweep3<="101111"; a<="0110011";WHEN 2=>sweep3<="110111"; a<="1011011";WHEN 3=>sweep3<="111111"; a<="1111110";WHEN 4=>sweep3<="111111"; a<="0110000";WHEN 5=>sweep3<="111111"; a<="1101101";WHEN OTHERS=>sweep3<="111111";END CASE;WHEN 4=> --状态4,输出45XXXX CASE n ISWHEN 0=>sweep3<="011111"; a<="0110011";WHEN 1=>sweep3<="101111"; a<="1011011";WHEN 2=>sweep3<="111111"; a<="1111110";WHEN 3=>sweep3<="111111"; a<="0110000";WHEN 4=>sweep3<="111111"; a<="1101101";WHEN OTHERS=>sweep3<="111111";END CASE;WHEN 5=> --状态5,输出5XXXXX CASE n ISWHEN 0=>sweep3<="011111"; a<="1011011";WHEN 1=>sweep3<="111111"; a<="1111110";WHEN 2=>sweep3<="111111"; a<="0110000";WHEN 3=>sweep3<="111111"; a<="1101101";WHEN 4=>sweep3<="111111"; a<="1111001";WHEN 5=>sweep3<="111111"; a<="0110011";WHEN OTHERS=>sweep3<="111111";END CASE;WHEN 6=> --状态6,输出XXXXXX CASE n ISWHEN 0=>sweep3<="111111"; a<="1111110";WHEN 1=>sweep3<="111111"; a<="0110000";WHEN 2=>sweep3<="111111"; a<="1101101";WHEN 3=>sweep3<="111111"; a<="1111001";WHEN 4=>sweep3<="111111"; a<="0110011";WHEN 5=>sweep3<="111111"; a<="1011011";WHEN OTHERS=>sweep3<="111111";END CASE;WHEN 7=> --状态7,输出XXXXX0WHEN 1=>sweep3<="111111"; a<="1101101";WHEN 2=>sweep3<="111111"; a<="1101101";WHEN 3=>sweep3<="111111"; a<="1111001";WHEN 4=>sweep3<="111111"; a<="0110011";WHEN 5=>sweep3<="111110"; a<="1111110";WHEN OTHERS=>sweep3<="111111";END CASE;WHEN 8=> --状态8,输出XXXX01 CASE n ISWHEN 0=>sweep3<="111111"; a<="1101101";WHEN 1=>sweep3<="111111"; a<="1111001";WHEN 2=>sweep3<="111111"; a<="0110011";WHEN 3=>sweep3<="111111"; a<="1011011";WHEN 4=>sweep3<="111101"; a<="1111110";WHEN 5=>sweep3<="111110"; a<="0110000";WHEN OTHERS=>sweep3<="111111";END CASE;WHEN 9=> --状态9,输出XXX012 CASE n ISWHEN 0=>sweep3<="111111"; a<="1111001";WHEN 1=>sweep3<="111111"; a<="0110011";WHEN 2=>sweep3<="111111"; a<="1011011";WHEN 5=>sweep3<="111110"; a<="1101101";WHEN OTHERS=>sweep3<="111111";END CASE;WHEN 10=> --状态10,输出XX0123 CASE n ISWHEN 0=>sweep3<="111111"; a<="0110011";WHEN 1=>sweep3<="111111"; a<="1011011";WHEN 2=>sweep3<="110111"; a<="1111110";WHEN 3=>sweep3<="111011"; a<="0110000";WHEN 4=>sweep3<="111101"; a<="1101101";WHEN 5=>sweep3<="111110"; a<="1111001";WHEN OTHERS=>sweep3<="111111";END CASE;WHEN 11=> --状态11,输出X01234 CASE n ISWHEN 0=>sweep3<="111111"; a<="1011011";WHEN 1=>sweep3<="101111"; a<="1111110";WHEN 2=>sweep3<="110111"; a<="0110000";WHEN 3=>sweep3<="111011"; a<="1101101";WHEN 4=>sweep3<="111101"; a<="1111001";WHEN 5=>sweep3<="111110"; a<="0110011";WHEN OTHERS=>sweep3<="111111";WHEN OTHERS=>sweep3<="111111";END CASE;--END IF;END IF;END PROCESS;END arc_sweep3;仿真:仿真时将循环次数改为1方便观察波形,共12种状态管脚:。
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”框中出现本设计项目中所有端口引脚列表,从端口列表中选择所需要的,并逐个拖到波形编辑器窗口中。
Quartus II 使用方法——数字电路课程设计实验
Quartus II 使用方法实例:设计一个3线-8线译码器,真值表如表1所示:(1)设置使能控制端,低电平有效。
(2)输出高电平有效。
(3)采用Verilog语言的文本输入方式。
(4) 进行功能仿真与验证。
程序://Gate-level description of a 3-to-8line decoder (Figure 1)module _3to8decode(A1,A2,A3,E,Y);input A1,A2,A3,E; //定义输入信号output[7:0] Y; //定义输出信号wire A1not,A2not,A3not,Enot; //定义电路内部节点信号not n1(A1not,A1), //非门调用n2(A2not,A2),n3(A3not,A3),n4(Enot,E);and n5(Y[0],A3not,A2not,A1not,Enot), //与门调用n6(Y[1],A3not,A2not,A1,Enot),n7(Y[2],A3not,A2,A1not,Enot),n8(Y[3],A3not,A2,A1,Enot), //与门调用n9(Y[4],A3,A2not,A1not,Enot),n10(Y[5],A3,A2not,A1,Enot),n11(Y[6],A3,A2,A1not,Enot),n12(Y[7],A3,A2,A1,Enot);endmodule一.打开Quartus II二.创建一个工程1.执行菜单命令“File > New Project Wizard”,打开Introduction对话框。
单击“Next”。
2.选择所建立工程的工作目录,输入工程名称、顶层实体名工程名称可以是任何名字,建议使用和顶层实体名相同的名字。
顶层实体名称必须和顶层文件名字相同!单击“Next”。
3.若事先没有写好verilog程序,则直接点next3.注意红色圈出的部分,其他的默认,点next4.默认,next5.确认红色圈出部分一致,点finish工程创建完成。
Quartus II 实验报告
Quartus II 实验报告时间:2014-12-21 地点:行政楼202机房指导老师:王本有一、实验目的1、熟悉Quartus II的软件的基本操作。
2、使用Quartus II软件绘制简单原理图电路。
3、使用Quartus II进行VHDL的组合逻辑电路设计。
二、实验内容1、先打开Quartus II软件,点File菜单→new→Device Design File→ VHDL File,新建一个新的VHDL空白文件,在这个新弹出的空白窗口里输入一个四选一电路的VHDL程序,输入完毕后点击File菜单→Save as…,在弹出的窗口里选择一个纯英文路径,保存刚才写好的VHDL文件,此处的VHDL文件里面电路的名字MUX41要与文件的保存名字一致,点击保存。
然后会弹出一个Do you want to creat a new project with this file?的对话框,点击Yes按钮,会弹出新建工程页面。
此处若要详细对芯片的选择进行设置可以点击Next逐步选择,也可直接选择Finish使用默认选项。
点击Finish,完成新工程的创建。
编写好VHDL后,对VHDL进行编译,若有错误,可双击错误选项进行修改,通常只需修改第一项后继续编译,修改完成后如下图所示:图01-01 四选一VHDL程序程序编译完成没有出错后,就可以进行波形仿真。
点击File菜单→new→Other Files→Vector Waveform File,新建一个波形仿真窗口,在新弹出来的窗口空白处点击鼠标右键,弹出一个菜单,选择Insert Node or Bus…选项,在弹出的窗口中选择Node Finder…,然后点击新窗口中的List按钮把VHDL中的引脚全部列出来,然后点击>>按钮把引脚导入到波形仿真窗口中,点击OK。
此时波形仿真窗口出现多个引脚,点击保存将波形仿真也保存到刚才VHDL文件的相同路径下,名字也为MUX41,。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字电路仿真实验报告
班级通信二班姓名:孔晓悦学号: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位同步二进制计数器,它除了具有二进制加法计数功能外,还具有预置数、保质和异步置零等附加功能。
四、实验内容
MULTIPLEXER
1C11GN 1C02C02GN 2C21C21C3B A 2C12C3
1Y 2Y
74153
inst6
(一)密码锁
1. 设计要求:保密锁上有三个键钮A 、B 、C 。
要求当三个键钮同时按下,或A 、B 两个同时按下,或A 、B 中任一个单独按下时,所就能被打开(用F 表示开锁信号);而当有键按下却不符合上列组合状态时,将发出报警信号(用
G 表示报警信号)。
2. 试用数据选择器74LS153或译码器74LS138及与非门电路设计此保密锁逻辑电路。
3. 用学习机上的逻辑开关的1、0分别表示键钮的按下和松开状态;开锁和报警信号用发光二极管表示。
1. 74LS153输出逻辑式
3.设计
设计过程和结果(后面继续添加)
(二)任意进制计数器
设计要求:用中规模集成计数器(74LS290或74LS161)设计一个二十四进制计数器,并与译码、显示电路连接起来。
(显示译码器使用7446)
设计过程:
1. 计数器使用74LS161,显示译码器使用7446。
74LS161十六进制计数器功能表
CLK
CLRN LDN ENP ENT 工作状态 × 0 × × × 置零 ↑ 1 0 × × 预置数 × 1 1 0 1 保持 × 1 1 × 0 保持(C=0) ↑
1
1
1
1
计数
7446显示译码器功能表
设计过程和结果(后面继续添加)
BIN RBIN LTN RBON 工作状态 0 × 1 × 灭灯 1 0 1 × 灭零 × × 0 × 测灯 1 1 1 0 输出灭零 1
1
1
×
正常显示
COUNTE R
CLRN
CLK E NP LDN
A D E NT
B
C Q
D QC QB QA
RCO 74161
inst BCD TO 7SE G
D C B LTN A
RBIN BIN OC OD OE RBON OA
OB OF OG 7446
inst11
(三)二进制全减器电路
设计要求:用74LS138和门电路设计1位二进制全减器电路。
输入为被减数、减数和来自地位的结尾,输出为两数之差和向高位的借位信号。
1.了解74LS138逻辑功能
输入输出
S1 S2’+S3’A2 A1 A0 Y0’Y1’Y2’Y3’Y4’Y5’Y6’Y7’0 ×××× 1 1 1 1 1 1 1 1 × 1 ××× 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 1 1 0 0 1 0 1 1 0 1 1 1 1 1 1 0 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 1 1 1 0 1 1 1 1 0 1 0 1 1 1 1 1 1 0 1 1 1 0 1 1 0 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 0
设计过程和结果(后面继续添加)
五、实验要求
1、写出实验的过程,给出真值表,连接电路截图和仿真结果截图
2、设计过程在,每个分实验的后面给定的“设计过程”后面添加。
附录:
一、QuartusII 仿真环境使用指南
1.1基本门电路仿真
例:设计一个监视交通信号灯状态的逻辑电路。
参考教材相关内容。
分析后得到,逻辑电路的逻辑函数形式 ,逻辑图
如下。
根据得到的逻辑图,在QuartusII 中进行仿真。
(一)、打开QuartusII 仿真环境。
启动QuartusII 软件,启动后操作界面如下图-0003。
AG RG RA G A R Z +++='''
图-0003 QuartusII操作界面
(二)、建立工程。
首先,菜单“File”→”New Project Wizard”,打开工程向导。
点击“Next”,设定工程目录,制定工程名和顶层文件名。
然后下一步。
然后按照图片上的提示,选择器件。
完成工程的建立和基本配置。
(三)、新建原理图文件。
菜单“File”→”New”→选择“Design Files”下面的“Block
Diagram/Schematic File”如下图。
,然后
可在如下图所示的对话框中选择相应的逻辑元件,添加到系统中。
对元件进行连接,最后得到连接完成的电路,进行编译。
如下
编译成功后,建立测试文件。
(四)、建立测试文件。
如下图,选择向量波形文件。
添加测试信号量,如下图所示,
点击“Node Finder..”,则配置如下
然后,ok---ok,则出现如下界面。
设定输入的值。
修改“End Time”和“Grid size”分别为10ns和1us。
并设定输入的值。
保存设定的向量文件。
然后进行编译。
(五)进行仿真,根据输入的设定,观测输出“Processing” ”simulator tools”,打开仿真操作窗口。
保存结果,一切end
(六)练习
根据上面给定的设计步骤,完成下面的练习,巩固基于QuartusII原理图的设计仿真流程.
1.与非门设计一个数值判断器。
逻辑功能描述如下:
给定任意一个4位二进制数x,判断数值x小于等于6,还是在6和12之间,或者大于等于13。