您的当前位置:首页正文

EDA-Quartus II新实验指导书

来源:爱站旅游
导读EDA-Quartus II新实验指导书
实验的基本步骤

本实验指导书的所有实验基于EDA实验台进行。采用软件为Quartus II ,硬件芯片为ALTERA 的Cyclone II 系列FPGA芯片EP2C8Q208C8。

使用本EDA实验台进行数字逻辑实验,不需要进行手工接线。实验工作分3步进行: 1:在PC机上,基于Quartus II软件进行原理图(逻辑图)的设计,设计完成后,需要经过引脚锁定、编译下载到EDA实验台上的FPGA芯片中。下载完成后,即在FPGA芯片中形成物理的逻辑电路。此步工作相当于传统实验的基于物理器件的接线操作。 2:在PC机上仿真,验证逻辑的正确性

3:下载到板子上,进行物理验证(需要安装USB Blaster线缆驱动,具体安装方法自行上网查找)。此过程可以用万用表、LED指示灯、七段码等验证实验的正确性。

实验的注意事项

1:Quartus II的工程名和顶层实体名字必须为英文,且实体名字必须和VHDL代码的实体名字严格一致。存储路径最好不要含中文和空格。

2:Quartus II的设计中所有的命名中,名字不要有空格。 3:Quartus II的原理图方式设计中放置“input”“ouput”引脚符号时,引脚符号的虚线框和原件的虚线框要刚好对上,以保证连接上,虚线框分开和部分重叠都不能正确连接。

4:所用到的时钟信号必须锁定到28脚,具体原理参考“实验用到的资源和原理”部分。

实验报告格式和内容

书写实验报告,语言要简练,书写端正、作图正规。按照如下格式和内容书写。

注意:试验5为综合性实验,其格式和实验1到4不同,同时其需要有封面并装订成册。

一般实验(实验1――4)

项目名称

一、实验目的及要求 二、实验仪器设备 三、实验内容、结果 四、实验总结

包括实验中遇到的问题,如何解决遇到的问题;实验后的认识和感悟等。

综合性实验(实验6)

项目名称

一、实验内容 二、实验目的及要求 三、实验仪器设备 四、实验结果 五、实验总结

2

实验用到的资源和原理

需要的资源: 1:逻辑开关

2:发光二极管指示灯 3:20M时钟

数字逻辑实验需要用到的输入为逻辑0、1,由逻辑开关提供,实验板提供了5个逻辑开关,为KEY_OK,KEY_UP,KEY_DOWN,KEY_LEFT,KEY_RIGHT,和FPGA的连接关系如下表1-1。输出的逻辑0、1接到发光二极管,实验台提供了4个发光二极管。实验平台同时提供七段码,具体见表1-1中。

表1-1 FPGA引脚 逻辑开关 PIN_6 PIN_3 PIN_5 PIN_4 PIN_10 时钟 PIN_28 七段码 PIN_37 PIN_39 PIN_40 PIN_41 PIN_43 PIN_44 PIN_45 PIN_46 DIG[0] DIG[1] DIG[2] DIG[3] DIG[4] DIG[5] DIG[6] DIG[7] PIN_15 PIN_30 PIN_31 PIN_33 PIN_34 PIN_35 SEL[5 SEL[4 SEL[3 SEL[2 SEL[1 SEL[0 20M PIN_143 喇叭 KEY_OK KEY_UP KEY_LEFT FPGA引脚 发光二极管 PIN_47 PIN_48 PIN_57 LED[0] LED[1] LED[2] LED[3] KEY_DOWN PIN_56 KEY_RIGHT 从表中可以看出,具体原理如下图0所示(只列出了两个逻辑开关和两个发光二极管,其余同理)。通过拨动逻辑开关实现逻辑0、1的输入,输出的逻辑0、1通过发光二极管指示,1亮0灭。时序电路的实验要用到时钟,由28脚的提供,原理如图0所示。

3

图0

七段码部分原理如下图,其为共阳极数码管,采用动态扫描方法实现6位数码管的同时显示。

4

实验1:基本逻辑门电路功能测试(采用分立元件)

一、实验目的

1:掌握各种门电路的逻辑功能及测试方法。 2:学习用与非门组成其它逻辑门电路。

二、实验用的仪器、仪表

TEC—5实验箱 74LS00二输入四与非门 三态门74LS125

三、实验原理

与非门的逻辑功能是:当输入端中有一个或一个以上低电平时,输出端为高电平。只有当输入端全为高电平时,输出端才为低电平(即有“0”得“1”,全“1”出“0”)。

三态输出门是一种特殊的门电路。它与普通的逻辑门电路不同,它的输出状态除了高、低电平两种状态(均为低阻状态)外,还用第三种状态,即高阻态。处于高阻态时,电路与负载之间相当于开路。三态门主要用途之一是实现总线传输。三态输出门符号与功能表如下(此例以高有效的使能器件为例)。

C0 YA C1

输出高阻 四、实验内容

1:测试二输入与非门的逻辑功能

与非门的输入端接逻辑开关电平,输出端接发光二极管。按表1-2所示测试与非门,并将测试结果填入表中。

A B132F输入

FA•B

表1-1

输出 对地电位 逻辑状态 A 0 0 B 0 1 5

1 1 0 1

2:学习用二输入与非门构成其他逻辑电路的方法,并测试。  与门逻辑功能实现:

根据布尔代数的理论,FA•BA•B,所以用2个与非门即可实现与门逻辑功能。输入A、B接逻辑开关,输出端接发光二极管。参考表1-1,设计表格,并将测试结果填入表中。

AB 或门逻辑功能实现:

F

根据布尔代数的理论,FA•BAB,所以用3个与非门即可实现或门逻辑功能。输入A、B接逻辑开关,输出端接发光二极管。参考表1-1,设计表格,并将测试结果填入表中。

AFB

 异或门逻辑功能实现:

根据布尔代数的理论,FABAB,根跟据此异或逻辑表达式经过变换,逻辑图如下,请自行验证此逻辑图的正确性,同时思考如果直接据逻辑表达式画逻辑图,效果如何,近而体会变换的作用。输入A、B接逻辑开关,输出端接发光二极管。参考表1-1,设计表格,并将测试结果填入表中。

ABF

3:测试三态门的逻辑功能 三态门输入端、使能端分别接逻辑开关,输出端接发光二极管。将测试结果填入表1-3中。 表1-3

输入 输出

C A Y 0 0 1

6

1 0 1

五、实验报告

记录、整理实验结果,并用布尔代数的理论进行分析

实验提示:

1、K15—K0为普通的电平开关,为输入端提供高低电平信号,拨上去为1,拨

下去为0。

2.12个发光二极管位于实验箱的下部中间位置,用于指示信号的高低电平,信号输入孔L0—L11接入高电平时,相应的二极管点亮,信号输入孔L0—L11接入低电平时,相应的二极管熄灭。

实验用芯片内部逻辑图

7

实验2:译码器及其应用

一、实验目的

1:理解VHDL语言的设计流程。 2:掌握译码器的逻辑功能及应用。

二、实验用的仪器、仪表

EDA实验板(台) 万用表 PC机

三、实验原理

译码器是一个多输入、多输出的组合逻辑电路。它的作用是把给定的代码进行“翻译”,变成相应的状态。译码器在数字系统中有广泛的用途,如代码变换、数据分配、存储器寻址、组合控制信号等。

本实验以74138为主要实验对象,图2-1为74138的逻辑图和管脚排列图。其中A2,A1,A0为地址输入端,Y0~Y7为译码输出端,E1,E2,E3为使能端。表2-1为74138的功能表,当E1=1,E2+E3=0时,器件使能,地址码所指定的输出端有信号(为0)输出,其余输出端均为无信号(全为1)输出。当E1=0和E2+E3=0两个条件不能同时满足时,译码器被禁止。所用的输出同时为1。

图2-1 74138的逻辑图和管脚排列图

表2-1

输入 1 1 1 1 1 1 1 1 0

输出 0 0 1 1 0 0 1 1 X 0 1 0 1 0 1 0 1 X 0 1 1 1 1 1 1 1 1 8

E1 E2+E3 A2 A1 A0 Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 0 0 0 0 0 0 0 0 X 0 0 0 0 1 1 1 1 X 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 X 1 X X X 1 1 1 1 1 1 1 1 四、实验内容

1:根据功能表,用VHDL语言设计74138,具体步骤如下(可参考实验视频“38

码器实验流程.mp4”):

1) 建立一个工作目录,用quartusII-File-New project wizard方式以新建目录为工

作目录建立一个采用VHDL file作为输入的工程,在完成基于VHDL语言实现138设计和仿真验证之后,打开File—Creat Update—Creat Symbol Files for Current File,从而创建一个自己设计的138 。

参考VHDL代码如下:

library ieee;

use ieee.std_logic_1164.all; --use ieee.numeric_std.all;

USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY decoder3to8 IS

PORT (A2,A1,A0,E3,E2,E1 : IN STD_LOGIC;

Y: OUT STD_LOGIC_VECTOR(7 DOWNTO 0) );

END ENTITY decoder3to8 ;

ARCHITECTURE BHV OF decoder3to8 IS

SIGNAL A: STD_LOGIC_VECTOR(2 DOWNTO 0); BEGIN

A <= A2 & A1 & A0; PROCESS ( A )

BEGIN

IF((E1 = '1')and (E2 = '0')and(E3 = '0')) then

else

Y <= \"11111111\"; END IF;

CASE (CONV_INTEGER(A)) IS

WHEN 0 => Y <= \"11111110\"; WHEN 1 => Y <= \"11111101\"; WHEN 2 => Y <= \"11111011\"; WHEN 3 => Y <= \"11110111\";

WHEN 4 => Y <= \"11101111\"; WHEN 5 => Y <= \"11011111\";

WHEN 6 => Y <= \"10111111\"; WHEN 7 => Y <= \"01111111\"; WHEN OTHERS =>Y <= \"11111111\";

END CASE;

END PROCESS; END ARCHITECTURE BHV;

9

2) 重新建立一个目录,把步骤1中的工程文件目录打开,找到对应的*.bsf 核*.vhd,

将此两个文件拷贝到当前目录。关闭前一个工程,以当前新建立的目录为工作

目录,新建一个工程,具体方式如同步骤1。工程建立完毕,首先选择File->New,选择Block Diagram/Schematic File,按OK。出现如下窗口,用鼠标展开Project(如下图标识所示),选中其中的我们设计的138。

用鼠标展开此处

10

2:用自己设计的74138,用原理图方式验证74138逻辑功能,视频中有详细步骤。

将E1,E2,E3和地址输入端A2、A1、A0和开关相接。五个输出端接到LED指示灯。拨动逻辑开关,按表2-2测试功能,并记录测试结果。

表2-2 输入 1 1 1 1 1 1 1 1 0 X 0 0 0 0 0 0 0 0 X 1 0 0 0 0 1 1 1 1 X X 0 0 1 1 0 0 1 1 X X 0 1 0 1 0 1 0 1 X X 输出 E1 E2+E3 A2 A1 A0 Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7

3:重复上述验证138逻辑功能的实验步骤,用74138实现逻辑函数。即使用已经设计的138器件,用原理图方式实现如下逻辑函数,其中7420位四输入与非门,可以向放input和output引脚一样,直接输入7420即可找到,直接引用已有的器件,也可以自行设计一个四输入与非门(步骤同设计138一样)。

ZABCABCABCABC,实现该逻辑函数电路如图2-3,将测试结果记录在表2-3

中。

图2-3

表2-3

输入 E1 E2+E3 A B C 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0 输出 11

1 0 1 1 1

4、实验板(箱)端的工作

“74138逻辑功能的测”和“用74138实现逻辑函数”部分工作主要完成对逻辑电路功能的测试,采用对输入逻辑开关的切换,实现不同的“0”“1”输入,从而输出端输出不同的逻辑电平,使指示灯亮或灭。完成实验内容中各个表的填入,完成实验工作。

五、实验报告

1:将测试结果填入相应的表格

1) 提供VHDL语言源代码 2) 验证填写表2-2 2-3

2:对实验结果进行分析讨论总结写出实验结论。

12

实验3 加法器

一、实验目的

1、了解半加器、全加器的原理及实现的方法。

2、测试半加器、全加器的逻辑功能。掌握组合逻辑电路的分析方法。 3、学习四位二进制全加器的使用方法。

二、实验用的仪器、仪表

EDA实验台 万用表 示波器 PC机

三、实验原理

算术运算是数字系统的基本功能,更是计算机中不可缺少的基本单元。半加器和全加器是算术运算电路的基本单元,它们是完成一位二进制数相加的一种组合逻辑电路。

两个一位二进制数的加法运算,真值表如表3-1所示。其中S表示和数,C表示进位数。这种加法运算只考虑了两个加数本身,而没有考虑来自低位的进位,所以称为半加器。由真值表得:S=A⊕B C=A•B

表3-1 被加数A 0 0 1 1 加数B 0 1 0 1 和S 0 1 1 0 进位C 0 0 0 1 全加器能够进行加数、被加数和来自低位的进位数相加,并根据求和结果给出该位的进位信号,真值表如表3-2所示。由真值表得:Si = Ai⊕Bi⊕Ci-1 Ci =(Ai⊕Bi) •Ci-1+ Ai •Bi

表3-2

Ai 0 0 0 0 1 1 1 1 Bi 0 0 1 1 0 0 1 1 Ci-1 0 1 0 1 0 1 0 1 Si 0 1 1 0 1 0 0 1 Ci 0 0 0 1 0 1 1 1 多位数加法器——串行进位加法器。若有多位数相加,可采用并行相加串行进位的方式来完成。例如有两个四位二进制数A3 、A2 、A1、A0和B3 、B2 、B1、B0相加,可以采用集成的电路芯片7483完成。

四、实验内容

1、 分析、测试由与非门组成的半加器的逻辑功能

13

由与非门组成的半加器电路如图5-1所示。

ANAND2F2NAND2NAND2instF1NAND2Sinst1inst3Binst2F3NAND2Cinst4图5-1 与非门组成的半加器电路

① 请写出图3-1的逻辑表达式

F1= F2= F3= S= C= ② 根据表3-3测试半加器的逻辑功能,并记录之。

表3-3 A 0 0 1 1 B 0 1 0 1 F1 F2 F3 S C

2、 分析、测试全加器的逻辑功能

分析、测试由异或门和与非门组成的全加器,电路如图5-4所示,完成表5-5的测试。

Si = Ai⊕Bi⊕Ci-1 XORFAAFABFACINPUTVCCINPUTVCCXOROUTPUTFSinst18inst17NAND2NAND2INPUTVCCinst10NAND2OUTPUTFCinst11Ci =(Ai⊕Bi) •Ci-1+ Ai •Bi

inst12

图3-4 异或门和与非门组成的全加器

表5-5 Ai 0 0 1 1

Bi 0 1 0 1 Ci-1 0 0 0 0 14

Si Ci 0 0 1 1 0 1 0 1 1 1 1 1

3.用VHDL语言写出一个带低位进位的2位全加器,用3个Led指示灯显示结果

五、实验步骤

具体步骤参考实验1部分,所不同的是:

此实验的逻辑图中用的原件为双输入与非门NAND2,异或门XOR,加法器7483,完成的原理图如图3-6所示,具体端口名字可以自行命名。所有的输入锁定到逻辑开关,输出锁定到LED指示灯。

HalfAddAINPUTVCCNAND2NAND2NAND2inst1inst3NAND2OUTPUTHalfAddSuminstHalfAddBINPUTVCCinst2NAND2OUTPUTHalfAddCarryinst4XOROUTPUTHAAHABINPUTVCCINPUTVCCHfASinst16NAND2NAND2OUTPUTHfACinst6inst7XORFAAFABFACINPUTVCCINPUTVCCXOROUTPUTFSinst18inst17NAND2NAND2INPUTVCCinst10NAND2OUTPUTFCinst11inst12图C03-6 7483

六、实验报告

B1B2S2S4整理实验数据、图表,并对实验结果进行分析。 VCCA4FULL ADDERinst13 15

实验4 触发器的设计和应用

一、实验目的

1:理解VHDL语言的设计流程。

2:掌握触发器逻辑功能和寄存器的原理。

二、实验用的仪器、仪表

EDA实验板(台) 万用表 PC机

三、实验原理

触发器具有两个稳定状态,用以表示逻辑状态0和1。在一定的外加信号作用下,可以从一种稳定状态翻转为另一稳定状态。它是一个具有记忆功能的二进制信息存储器件。是构成各种时序电路的最基本的逻辑单元。有RS触发器、D触发器、JK触发器等,本实验重点设计和验证用的最为广泛的D触发器。 D触发器的状态方程为Qn1D,其输出状态的更新发生在CP脉冲的上升沿。触发器

的状态只取决于时钟到来前D端的状态。D触发器的功能表如表4-1所示。

表4-1

输 入 输 出

Rd Sd CP D Qn+1 Qn+1

1 0 × × 1 0

0 1 × × 0 1

1 1 ↑ 1 1 0

1 1 ↑ 0 0 1

Qn 1 1 ↓ × Qn

四、实验内容

1、 用VHDL语言设计符合表4-1逻辑功能的D触发器,生成逻辑图,具体生成步骤同

译码器实验,参考视频。

2、 用由D型触发器组成的三位缓冲寄存器测试

由四个D型触发器组成的四位缓冲寄存器的原理如图4-1所示。

16

图4-1 四位缓冲寄存器

⑴ 将D2~D0接逻辑开关,将Q2~Q0接发光二极管显示。将CLR接一开关,先使它接地,

即送入逻辑0,实现触发器清零,清零完毕接高电平1, CP接一开关,实现上升沿的触发。

⑵ 按表3-2所示,给D2~D0依次键入000~111各种不同组合的数据,给CP加单步脉冲信

号,观察Q2~Q0的变化状态,并记录之。

表3-2 D2 D1D0 000 011 101 111

Q2 Q1Q0 十进制的意义 五、实验报告

1:将测试结果填入相应的表格

1) 提供VHDL语言源代码

2) 验证填写表4-1 4-2

2:对实验结果进行分析讨论总结写出实验结论。

17

实验5:计数器

一、实验目的

1:理解VHDL语言的设计流程。

2:掌握计算器的逻辑功能原理和应用。

二、实验用的仪器、仪表

EDA实验板(台) 万用表 PC机

三、实验原理

计数器是一个用以实现计数功能的时序部件。它不仅可以用来计脉冲数,还常用作数字系统的定时,分频和执行数字运算以及其他特定的逻辑功能。

计数器种类很多。按构成计数器中的各触发器是否使用一个时钟脉冲源来分,有同步计数器和异步计数器。根据计数制的不同,分为二进制计数器、十进制计数器和任意进制计数器。根据计数器的增减趋势,又分为加法、减法和可逆计数器。

五、 实验内容

1.写一个带清零端的16位计数器,并仿真 2.写一个100分频的分频器,并仿真

3.写一个带清零端的加/减可逆四位二进制计数器,计数值用指示灯显示,要求计数器的输入脉冲为2S,黑金盒自带脉冲2MHZ,引脚为28脚。

六、 实验报告

1:将测试结果填入相应的表格

1) 提供VHDL程序 2) 验证表4-1,填表

3) 画出24进制的161实现逻辑图,描述实验结果 2:对实验结果进行分析讨论总结写出实验结论。

18

实验6移位寄存器的设计和应用

一、实验目的

1:理解VHDL语言的设计流程。 2:掌握移位寄存器的功能和应用

二、实验用的仪器、仪表

EDA实验板(台) 万用表 PC机

三、实验原理

移位寄存器是具有移位功能的寄存器。是指寄存器中所存的代码能够在移位脉冲的作用下依次左移或右移。移位寄存器应用很广,可构成移位寄存器型计数器;顺序脉冲发送器;串行累加器;可用作数据转换,即把并行数据转换为串行数据,或把串行数据转换为并行数据。

四、实验内容

移位寄存器测试

图5-1所示是由四个D型触发器组成的左移移位寄存器。

DINDFFDPRNQ0QD1DFFDPRNQ1D2QDFFDPRNQ2D3QDFFDPRNQ3QCLRNinstCLRNinst2CLRNinst3CLRNinst4CPCLR

图5-1 D型触发器组成的左移寄存器 四位左移移位寄存器的功能是,当输入端DIN置1时,第一个触发器的D0=1,当CP的上升沿到来时,Q0=1,这时第二个D触发器的D1=1,但要等下一个CP上升沿到来时才能有Q1=1……。这样随着CP脉冲的变化,移位寄存器的置位就逐个向左移,故称为左移寄存器。

根据上述原理,可以使用4个D触发器构成四位左移移位寄存器。正确设置好4个触发器的连接及其清零引脚CLRN和脉冲信号CLK后,按表3-3所示逐个键入脉冲信号,观察 Q3~Q0的变化,并记录,要求移位前清零,即没有脉冲来的初态为0000,DIN=1。

使CLK、DIN、CLRN分别接逻辑开关,先,使CLR接地,即按一下键盘,实现清零,DIN端的键盘不需要按下恰好为1,按动CLK端的逻辑开关,观察现象并记录于表5-1

表5-1 脉冲个数 Q3Q2Q1Q0 功能 19

0 1 2 3 4

0 0 0 0 如果要构成一个四位右移寄存器,应将图5-2的连接线适当更改,想想怎样改。

五、实验报告

1:将测试结果填入相应的表格

3) 提供VHDL语言源代码 4) 验证填写表5-1

2:对实验结果进行分析讨论总结写出实验结论。

20

附加实验:数字系统的设计

一、实验目的

1:掌握VHDL语言的设计流程。

2:综合应用学过的组合和时序逻辑电路知识,设计一简易秒表数字系统。

二、实验用的仪器、仪表

EDA实验板(台) 万用表 PC机

三、实验原理

本实验为综合设计性实验,设计实现秒表。要用到本门课的众多知识点,如多路选择器、译码器、分频器、计数器等。

五、 设计要求

1:能实现0到59秒的自动周而复始计时 2:通过键盘能暂停计时

3:通过键盘能倒计时59到0,到计时结束,发蜂鸣器报警 4: 通过键盘能复位计时从0开始 5: 计时结果通过两位七段码显示

6:附加:如何考虑键盘的消抖(可选)

六、 实验报告

1:将系统用框图的方式描述 2:写VHDL代码

3:对实验结果进行分析讨论总结写出实验结论。

21

因篇幅问题不能全部显示,请点此查看更多更全内容

Top