EDA实验指导讲义自编.docx
《EDA实验指导讲义自编.docx》由会员分享,可在线阅读,更多相关《EDA实验指导讲义自编.docx(14页珍藏版)》请在冰点文库上搜索。
EDA实验指导讲义自编
实验注意事项
1.启动计算机,进入2000系统(98系统可以直接进行硬件编程下载,其它系统需装驱动)。
2.打开QuartusII软件,注意软件有没有安装Lisence,若没有请自己安装。
3.在QuartusII中进行设计的输入、编译和仿真,若正确后可进行下一步。
4.检查实验箱的数据线有无连接到计算机的并口(轻插轻拔),电源线有无接上,若均有,则给实验箱上电(开关在实验箱后面)。
5.确认你所需要的实验模式,选中此种模式后,建议按一下右侧的复位键,以便使系统进入该结构模式工作。
6.在QuartusII中进行引脚的锁定后,重新编译一次,然后再下载到实验箱上,接着在实验箱上进行硬件验证。
需要修改代码的话,重复3~6部分。
7.注意在实验中不可带电插拔实验箱上的任何芯片。
8.不可随意搬动实验箱,若确实需要移动,需老师在场,且同意。
9.不可将水、饮料等其它液体洒到实验箱上面。
10.离开实验室时不可带走任何实验室的东西,比如实验说明书等。
11.闲置不用实验箱时,关闭实验箱后面的开关,注意不要拔掉数据线(后续实验还要用),将数据线放平,实验箱的盖子轻轻盖上,不必上锁扣!
!
!
实验的一般步骤
1.原理图或VHDL程序代码输入
2.检查有无语法错误,编译通过
3.建立波形仿真文件
4.进行时序仿真,观察逻辑关系是否正确
5.管脚分配与锁定
6.重新编译适配,产生下载文件
7.检查实验箱的电源接上否?
并行下载线是否正确联接?
拨码开关4为ON,其它为OFF?
8.打开实验箱电源,选择合适的模式,复位系统
9.编程下载,选择JTAG并行下载方式
10.硬件仿真
实验课的上课纪律:
1.珍惜做实验的时间,禁止在电脑上玩游戏
2.实行点名制度,须经老师在实验箱上进行硬件验证,若正确才算完成实验。
3.平时实验的成绩占期末考的30%~40%。
实验报告的撰写格式:
实 验 名 称
一、实验目的
二、实验内容
三、实验条件
(1)、开发软件 Max+PlusII 或者 QuartusII5.0/7.2
(2)、实验设备GW-48系列EDA实验开发系统
(3)、所用芯片 Altera公司ACEX1K系列的EP1K30TC144-3芯片
四、实验设计
(1)、系统的原理框图
(2)、原理图/VHDL源程序
(3)、仿真波形
(4)、管脚锁定情况
五、实验结果及总结
(1)、系统仿真情况
(2)、硬件验证情况
(3)、实验过程中出现的问题及解决的办法
注:
除仿真波形可用截图方式打印外,其余要求用手写。
【实验一】EDA软件的熟悉使用及一位全加器的原理图输入设计
实验目的:
1.了解QuartusⅡ的基本使用方法。
2.掌握并熟悉GW-48型EDA实验开发系统的使用。
3.掌握一位全加器的原理图输入设计过程
设计提示:
图1一位半加器原理图
图2一位全加器顶层原理图
可选用模式5,从PIO0~PIO7选择3个作为输入,从PIO8~PIO15中选择选择两个作为输出,根据相应的数码管的亮暗来判断逻辑关系正确与否。
【实验二】2位十进制频率计的原理图设计(选做)
1.进一步熟悉QuartusⅡ和GW48EDA开发系统的使用2.掌握两位十进制计数器的原理图设计
3.掌握频率计的控制电路设计4.理解自上而下的设计过程
设计提示:
图3二位十进制计数器模块conter8.gdf
图4频率计时序控制模块tr_ctro.gdf
图5两位十进制频率计顶层设计文件
可选用模式6,F_IN接CLOCK0中的两位的频率(1Hz,4Hz,16Hz,64Hz),CLK接CLOCK2中的8Hz,则直接显示待测信号的频率值。
Cout溢出指示可接指示灯D8。
【实验三】1位全减器的VHDL设计
实验目的:
1.熟悉QuartusⅡ和GW48EDA开发系统的使用
2.掌握一位半减器的VHDL设计
3.掌握一位半减器构建一位全减器的方法
4.掌握元件例化语句的使用
设计提示:
表1一位半减器真值表
输入
输出
x
y
Diff=x-y
s_out
0
0
0
0
0
1
1
1
1
0
1
0
1
1
0
0
由表1得一位半减器的逻辑表达式:
表2一位全减器真值表
输入
输出
sub_in
x
y
Diffr=x-y-sub_in
sub_out
0
0
0
0
0
0
0
1
1
1
0
1
0
1
0
0
1
1
0
0
1
0
0
1
1
1
0
1
0
1
1
1
0
0
0
1
1
1
1
1
由表二得全减器的逻辑表达式:
由以上分析可得出结论:
一位全减器可由两个半减器和一个或门构成一个全减器,如图6所示。
图6一位全减器
要求全部用VHDL语句进行设计,可用CASE语句来描述半减器,用元件调用语句、例化语句来描述全减器的顶层文件。
硬件仿真与实验一类同。
【实验四】双二选一多路选择器设计
实验目的:
1.熟悉QuartusⅡ和GW48EDA开发系统的使用
2.用VHDL语言编写二选一多路选择器模块MUX21A.VHD
3.根据图7,利用元件例化语句连接两个MUX21A模块,以达到三选一的功能。
图7
硬件仿真:
可选用模式5,输入a1、a2、a3可接入三组不同的时候信号,s0、s1可接键8和键7,输出outy可接扬声器。
合理选择输入时候信号的频率在人的听觉范围内,当s0、s1取不同的值时,可以听到不同频率的声音,以达到验证的目的。
实验报告:
给出MUX21A和顶层文件的源程序和波形仿真图。
【实验五】带有并行加载功能的增1/减1计数器设计
1、带有计数使能(EN=1计数允许)及异步清零(RST=0清零有效)功能。
2、当加载信号(LOAD)有效时,并行加载四位二进制位数据。
3、当加载信号无效时,若UP_DOWN=1,则在加载数据的基础上进行加1计数,当计数值为1111时,COUT为1;若UP_DOWN=0,则在加载数据的基础上进行减1计数,当计数值为0000时,COUT为1。
设计提示:
Libraryieee;
Useieee.std_logic_1164.all;
Useieee.std_logic_unsigned.all;
Entityup_downis
Port(clk,load,up_down,rst,en:
instd_logic;
data:
instd_logic_vector(3downto0);
Sum:
outstd_logic_vector(3downto0);
Cout:
outstd_logic);
End;
硬件仿真:
可选用模式0,clk接键8,每按两下,产生一个上升沿;load接键7,up_down接键6,rst接键5,en接键4,data接键1,键1可以产生0000~1111之间的任何一个数值,通过指示灯D4~D1显示。
验证时先置en为1,rst为1,确定data的数值和计数的方向(up_down为1或0)后,给load一个高电平,并行装载数据,数码管显示装载的数值,然后load置0,之后随着clk上升沿(每按两次键8产生一个上升沿)的出现,数码管会根据up_down为1或0进行增1或减1显示。
由于硬件资源不够,cout没指示灯可接。
实验报告:
给出完整的VHD文件和波形仿真文件,其中VHD文件的实体部分与讲义上的一样,结构体部分同学自己编写,以实现要求的功能。
波形仿真文件中的输入信号以图10为参考,给出输出信号的仿真情况,COUT的输出情况需要在仿真图中显示。
图10
【实验六】一位十六进制加减可控计数器的七段数码显示电路
实验目的:
1.熟悉QuartusⅡ和GW48_EDA开发系统的使用
2.用VHDL语言设计七段数码管(共阴)显示模块
3.用VHDL语言设计一位十六进制加减可控计数器(要求异步清零,同步使能)
4.将2和3设计的模块整合成一位十六进制加减可控计数器的七段数码显示电路
设计提示:
数码管管脚示意如图8,共阴极数码管译码真值表如表3,顶层原理图如图9。
图8数码管管脚示意图
图9实验四顶层文件原理图
表3:
共阴极数码管译码真值表
四位BCD码
数码管输出
I3
I2
I1
I0
a
b
c
d
e
f
g
0
0
0
0
1
1
1
1
1
1
0
0
0
0
1
0
0
0
0
1
1
0
0
0
1
0
1
1
0
1
1
0
1
0
0
1
1
1
1
1
1
0
0
1
0
1
0
0
0
1
1
0
0
1
1
0
1
0
1
1
0
1
1
0
1
1
0
1
1
0
1
0
1
1
1
1
1
0
1
1
1
1
1
1
0
0
0
0
1
0
0
0
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
1
1
1
0
1
0
1
1
1
0
1
1
1
1
0
1
1
0
0
1
1
1
1
1
1
1
0
0
1
0
0
1
1
1
0
1
1
0
1
0
1
1
1
1
0
1
1
1
1
0
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
其中CNT4B_UP_DOWN为加减可控的计数器,加减方向由UP_DOWN控制,DECL7S模块为译码模块,将四位二进制数译成七段码。
硬件仿真:
可选用模式6,CLK接CLK0的1Hz,EN接键8,RST接键7,UP_DOWN接键6,LED[6..0]接数码管8,COUT接指示灯D8。
当RST为1时,输出为零;当EN为1,RST为0,UP_DOWN为1时,数码管依次从0~F递增显示,当显示到F时,指示灯D8亮一下;当EN为1,RST为0,UP_DOWN为0时,数码管依次从F~0递减显示,当显示到0时,指示灯D8亮一下;当EN为0时,则显示暂停。
CLK也可以接按键,通过按两下按键,数码管数值会加1。
实验报告要求:
编写二个VHD底层文件,一个顶层文件(可用GDF或VHD格式),分别对它们进行编译仿真,给出仿真波形,仿真图形中要求A、LED7S、CQ以总线的方式显示数据,便于阅读。
将硬件仿真的情况写进实验报告。
【实验七】分频器的设计
实验目的:
1、熟悉QuartusⅡ和GW-48型EDA开发系统的使用
2、掌握分频器的设计、分析和测试方法
实验原理:
数字电路系统中,分频器是一种应用非常广泛的器件,其功能是对较高频率的信号进行分频。
分频电路的本质是加法计数器的变种。
分频器常用来对时钟信号进行分频,用以得到较低频率的时钟信号、选通信号、中断信号等。
实验内容一:
设计分频系数为2的整数N次幂的分频器。
(N=1,2,3,4即分频系数分别为2,4,8,16。
分频后的信号占空比为50%,控制信号CON=00,01,10,11时,输出信号CLK_OUT分别是输入信号CLK的2,4,8,16分频)
给出仿真图如下:
实验内容二:
8位数控分频器设计(参P157例6-20)
在实验系统上硬件验证例6-20的功能,可选实验模式一,键2/键1负责输入8位预置数D;CLK由CLK0输入,跳帽可跳至65536HZ或更高(确保分频后的频率在人的听觉范围内20HZ-20KHZ);输出FOUT接扬声器SPKER。
编译下载后进行硬件测试,当改变键2/键1的输入值,可听到不同频率的声音。
注:
要看到如图所示的仿真图形,仿真时间需要设定大一点,才能看到结果,如可设为500us或1ms.
实验内容三:
设计一分频电路,分频后的信号高电平时间和低电平时间可由两个4位的输入数据控制,硬件下载后可通过示波器来观察分频后的波形。
此分频电路的实体可为如下:
ENTITYDVF_1IS
PORT(CLK:
INSTD_LOGIC;--基准的时钟信号
D_H:
ININTEGERRANGE0TO15;--设定输出高电平时间的数据
D_L:
ININTEGERRANGE0TO15;--设定输出低电平时间的数据
LD:
INSTD_LOGIC;--允许装载D_H,D_L的控制信号
FOUT:
OUTSTD_LOGIC);--分频后的信号
END;
在实验系统上硬件验证其功能,可选实验模式一,键2/键1负责输入4位预置数D_H和D_L;CLK由CLK0输入;LD接键8;输出FOUT接适配板的外接引脚PIO24。
编译下载后用示波器测试PIO24输出脚的波形,当改变键2/键1的输入值,可在示波器上观测到不同占空比的波形。
【实验八】具有自动测频功能的四位十进制数字频率计设计
1.熟悉QuartusⅡ和GW-48型EDA开发系统的使用
2.掌握具有一定复杂程度的综合电路设计
3.用VHDL编写含异步清零、同步时钟使能的十进制加法计数器模块CNT10.VHD(参例4-22)。
4.用VHDL编写数字频率计时序控制模块TEST_CTL.VHD,产生允许计数、锁存和清零控制信号,以完成自动测频的目的。
(参考例7-7)
5.用VHDL编写16位锁存器REG16.VHD。
6.以上面已设计的模块为基础,设计四位十进制数字频率计。
设计提示:
四位十进制频率计原理框图如图11示:
其中CNT10.VHD为十进制计数模块,TEST_CTL.VHD为时序控制模块,REG16.VHD为16位锁存器,用来使数码管稳定显示。
图11四位十进制频率计总原理框图
硬件仿真:
可选用模式5,F_in接CLOCK0,根据跳线的不同输入不同的待测频率,CLK接CLOCK2中的1Hz,DOUT[15..0]接数码管5~数码管8,CARRY_OUT接指示灯8。
实验报告:
给出三个底层VHD文件的源程序和波形仿真图,顶层文件可用原理图设计或VHD设计,给出顶层文件的仿真图。
实验结论中应详细说明硬件仿真情况,并且思考以下问题:
1改变输入频率值,输出显示为何能自动更新?
2若要求输出显示的是直接的输入频率值,对计数允许时间有何要求?
3顶层设计文件中锁存模块的作用是什么?
4若顶层设计文件中没有锁存模块,依据你设计的情况,描述输出显示的具体细节?
【实验九】数字秒表的设计
1.熟悉Max+PlusⅡ和GW-48型EDA开发系统的使用2.掌握具有一定复杂程度的综合电路设计
3.设计并调试好数字秒表(要求:
计时范围0.01S~1H,用6个数码管表示),并用EDA实验开发系统进行硬件验证
设计提示:
图12数字秒表的原理框图(顶层设计文件)
其中CNT10.VHD为十进制计数模块,DIV_CLK.VHD为分频模块。