EDA实验指导书.docx
《EDA实验指导书.docx》由会员分享,可在线阅读,更多相关《EDA实验指导书.docx(48页珍藏版)》请在冰豆网上搜索。
EDA实验指导书
EDA实验指导书
二零一二年九月
实验一QUARTUSII软件使用
一、实验目的
1、了解QUARTUSII软件安装与配置的基本方法。
2、熟悉QUARTUSII集成开发环境。
二、实验内容
1、安装并配置QUARTUSII。
2、通过创建一个简单的应用工程,初步熟悉QUARTUSII的使用,了解程序开发调试过程。
三、实验设备与仪器
1、计算机
四、实验步骤
一、安装前的准备
1.1、WindowsXP操作系统(最好不要用Ghost精简版)
关掉杀毒软件和防护软件(例如瑞星、360安全卫士),防止安装过程中出现不必要的麻烦。
1.2、QuartusII7.2安装文件
QuartusII和Altera公司配套的IP库。
1.3、QuartusII7.2破解文件
主要有3个文件:
license.DAT、Quartus_II_7.2_b151破解器.exe、读我.txt。
二、Tips
最好不要把Quartus软件安装到C盘。
三、安装过程
3.1、光碟的内容
3.2、安装过程
选择安装的程序
选择了QuartusII和IP库,用户自定义安装(稍后可以选择安装路径)。
同意协议
填写用户名和公司名
不同电脑默认的用户名和公司名都不同,可以随意填写。
选择安装路径
最好不要安装到C盘,这里选择安装到D盘。
开始菜单中本程序的目录名(默认即可)
安装所有功能
总览安装配置
正在安装
安装完QuartusII后安装IP库
全功能安装
正在安装IP库
IP库安装完成
安装完IP库后,配置TalkBack(默认即可,不知道有什么用)
完成所有安装过程
四、破解QuartusII7.2
4.1、破解之前
如果没有破解,打开程序会看到如下提示。
4.2、使用破解器破解指定文件
破解前最好退出QuartusII程序!
!
!
双击打开“Quartus_II_7.2_b151破解器.exe”,点击“浏览”,找到sys_cpt.dll文件(位置与安装路径有关,在这里路径为“D:
\altera\72\quartus\bin”)。
Tips:
进入到“bin”目录后,直接在窗口下方“文件名”一栏中输入“sys_cpt.dll”,然后点击“打开”即可(并不需要在众多文件中找到并点击“sys_cpt.dll”)。
点击“应用”,破解器会进行相应的破解工作,破解完后会提示。
4.3、设定Licensefile
需要知道本机网卡的物理地址!
!
!
把“license.DAT”复制到相应的文件夹下(没有特定要求,推荐放到安装目录“D:
\altera\72”下)。
注意:
license文件存放的路径名称不能包含汉字和空格,空格可以用下划线代替。
4.3.1、查看本机的网卡物理地址
方法1、在Quartus软件中查看网卡号
方法2、在cmd命令行中使用ipconfig–all命令查看
4.3.2、修改license.DAT文件
在“license.DAT”中写入本机网卡的物理地址,即用本机网卡的物理地址把文件中的“XXXXXXXXXXXX”替换掉。
例如本机网卡的物理地址为“002618AFBB76”,则把“license.DAT”中的“XXXXXXXXXXXX”替换为“002618AFBB76”即可。
修改前的“license.DAT”
修改后的“license.DAT”
4.3.3、指定licensefile
4.4、功能更强大的licensefile
实际上,上面使用到的破解文件“license.DAT”破解得不够完全,我们可以使用功能更强大的licensefile(例如“Q2license_fulll.dat”)。
4.4.1、写入网卡的物理地址
使用记事本打开“Q2license_fulll.dat”,使用替换功能把“XXXXXXXXXXXX”替换为“本机网卡的物理地址”,例如“002618AFBB76”。
4.4.2、更换licensefile
打开QuartusII软件,Tools→LicenseSetup…,可以进入到如下界面
选择Q2license_fulll.dat
破解效果
实验二基本输出实验
1.点亮发光二极管
(1)要求
点亮DCPLD-2型CPLD实验板上的4个发光二极管(分别是L1、L3、L5和L7)。
通
过此实验逐步了解、熟悉和掌握CPLD开发软件的使用方法及VerilogHDL的编程方
法。
(2)分析
在DCPLD-2型CPLD实验板上准备了8个发光二极管L1~L8,其硬件原理图如图1所示。
在DCPLD-2型CPLD实验板中,标号LEDl~LED8与芯片的30、31、33~37和39引脚相连,只要正确分配并锁定引脚后,在相应的引脚上输出低电平“o”,就可实现点亮该发光二极管的功能。
图1发光二极管原理图
(3)程序设计
由于要求是实现点亮4个发光二极管,因此只须在相应的引脚上输出低电平“0”即可,
完整的VerilogHDL程序如下。
①利用连续赋值assign语句来实现,文件名led1.v。
moduleledl(1edout);//模块名ledl
output[7:
0]ledout;//定义输出口
assignledout=8’b01010101;//输出0x55
endmodule
②利用过程赋值语句来实现,文件名led.v。
module1ed(ledout);//模块名1ed
output[7:
0]ledout;//定义输出口
reg[7:
0]ledout;//定义寄存器
always//过程1
begin
ledout=8b0l0l0l0l;//输出0x55
end
endmodule
(4)实验方法
在DCPLD-2型CPLD实验板上演示实验的方法如下。
①新建工程项目文件led.pof,并在该项目下新建VerilogHDL源程序文件led.v或ledl.v,输入上面的程序代码并保存。
②然后为该工程项目选择一个目标器件并对相应的引脚进行锁定,在此所选择的器件应
该是Altera公司的EPM7128SLC84—10芯片,引脚锁定方法如表1所列。
引脚信号引脚信号
30ledout035ledout4
31ledout136ledout5
33ledout237ledout6
34ledout339ledout7
表1
③对该工程文件进行编译处理,若在编译过程中发现错误,则找出并更正错误,直至编
译成功为止。
④若需要对所建的工程项目进行验证,则输入必要的激励波形文件,然后进行模拟波形
仿真。
观察模拟仿真结果并与预期的目标相比较,看是否符合设计要求。
若不满足要求,则
更正程序的相关部分。
⑤最后拿出随机附送的ALTERA下载电缆,并将此电缆的两端分别接到PC机和DCPLD
-2型CPLD实验板的JTAG下载口上,打开工作电源,执行下载命令,把程序下载到DCPLD-2型CPLD实验板的EPM7128SLC84—10器件中,此时,DCPLD-2型CPLD实验板上的L1、L3、L5和L7将被点亮。
2.闪烁灯
(1)要求
在DCPLD-2型CPLD实验板上实现L1~L8周期性地闪亮。
(2)分析
在DCPLD-2型CPLD实验板上已经为用户准备了8个发光二极管L1~L8,其硬件原理图如图1所示。
在DCPLD-2型CPLD实验板中,标号LEDl~LED8分别与芯片的30、31、
33~37和39引脚相连,只要正确分配并锁定引脚后,在LEDl~LED8引脚上周期性地输出高电平“1”和低电平“0”,就可实现L1~L8周期性的闪亮。
当然,为了观察方便,闪亮速率最好在1Hz左右。
为了产生1Hz的时钟脉冲,在此使用了一个寄存器对时钟脉冲CLOCK进行计数,当计数器计数到0.5s时求“反”原来的输出状态。
在DCPLD-2型CPLD实验板上有一个有源脉冲发生电路,其具体电路原理图如图2所示。
在DCPLD-2型CPLD实验板中,该时钟脉冲CLOCK经过跳线与芯片的83脚相连。
图2脉冲产生电路
(3)程序设计
文件名light.v。
modulelight(ledout,clk);//模块名light
output[7:
0]ledout;//定义输出口
mputclk;//定义时钟输入口
reg[7:
0]ledout//定义寄存器
reg[21:
0]buffers;
always@(posedgeclk)//过程
begin
buffer=buffer+“//变数加1
if(buffer==22’b11111111111111111111)//是0.5s吗?
Begin
ledout=ledout;//是,则输出取“反”
end
end
endmodule
(4)实验方法
在DCPLD-2型CPLD实验板上演示实验的方法如下。
②新建工程项目文件light.pof并在该项目下新建VerilogHDL源程序文件light.v,输入上面的程序代码并保存。
②然后为该工程项目选择一个目标器件并对相应的引脚进行锁定,在此所选择的器件应
该是Altera公司的EPM7128SLC84—10芯片,引脚锁定方法如表2所列。
引脚信号引脚信号
30ledout036ledou5t
31ledout137ledout6
33ledout239ledout7
34ledout3
35ledout4
83clk
表2
②对该工程文件进行编译处理,若在编译过程中发现错误,则找出并更正错误,直至
编译成功为止。
④若需要对所建的工程项目进行验证,则输入必要的激励波形文件,然后进行模拟波形
仿真。
观察模拟仿真结果并与预期的目标相比较,看是否符合设计要求,若不满足要求则更
正程序的相关部分。
⑤最后将CLOCK与83脚相连。
拿出随机附送的ALTERA下载电缆,并将此电缆的两
端分别接到PC机和DCPLD-2型CPLD实验板的下载口上,打开工作电源,执行下载命
令,把程序下载到DCPLD-2型CPLD实验板的EPM7128SLC84—10器件中,DCPLD-2
型CPLD实验板上的L1~L8将周期性地闪亮。
实验三、基本输入/输出实验
CPLD的所有I/O控制块允许每个I/O引脚单独配置为输人口,不过这种配置是系统自
动完成的,一旦该I/O口被设置为输入口使用时(如定义key0为输入引脚:
inputkey0;),
该I/O控制模块将直接使三态缓冲区的控制端接地,使得该I/O引脚对外呈高阻态,这样
该I/O引脚即可用作专用输入引脚。
1.基本的逻辑门实验
(1)要求
在DCPLD-2型CPLD实验板上完成F=A·B的逻辑功能。
(2)分析
在DCPLD-2型CPLD实验板上准备了8个输入按键,其硬件原理如图3所示。
在DCPLD-2型CPLD实验板中,标号KEYl~KEY8通过分别与芯片的56~58、60、61
和63~65引脚相连,这样用户可以把键K1、K2当作输入A、B,而F可以用L1发光管来
表示。
图3键盘原理图
(3)程序设计
①利用连续赋值语句实现,文件名fab.v。
modulefab(f,a,b);//模块名fab
inputa,b;//定义输入口
outputf;//定义输出口,
assignf=a&b;//输出F=A&B的值
endmodule
②利用过程赋值语句实现,文件名fabl.v。
modulefabl(f,a,b);//模块名fab/
inputa,b;//定义输入口
outputf;//定义输出口
regf;//定义寄存器f
always@(aorb)
begin
if(a&b)f=1;//条件满足输出1
elsef=0;//否则输出0
end
endmodule
(4)实验方法
在DCPLD-2型CPLD实验板上演示实验的方法如下:
①新建工程项目文件fab.pof,并在该项目下新建VerilogHDL源程序文件fab.v,输入上面的程序代码并保存。
②然后为该工程项目选择一个目标器件并对相应的引脚进行锁定,在此所选择的器件
应该是Altera公司的EPM7128SLC84—10芯片,引脚锁定方法如表4所列。
引脚信号
56keyin0
57keyin1
30ledout0
表4
③对该工程文件进行编译处理,若在编译过程中发现错误,则找出并更正错误,直至编
译成功为止。
④若需要对所建的工程项目进行验证,则输入必要的激励波形文件,然后进行模拟波形
仿真。
观察模拟仿真结果并与预期的目标相比较,看是否符合设计要求,若不满足要求,则
更正程序的相关部分。
⑤最后拿出随机附送的ALTERA下载电缆,并将此电缆的两端分别接到PC机和DCPLD
-2型CPLD实验板的下载口上,打开工作电源,执行下载命令,把程序下载到DCPLD-2
型CPLD实验板的EPM7128SLC84—10器件中。
⑥观察发光管L1的亮灭状态,按下K1按键,再次观察发光管的状态,此时为什么发
光二极管L1亮了呢,可自己动脑分析试试看。
2.键盘、LED发光管实验1
(1)要求
在DCPLD-2型CPLD实验板上实现对8个键盘K1~K8进行监控,且一旦有键输入,
对应的发光二极管L1~L8被点亮。
(2)分析
在DCPLD-2型CPLD实验板上为用户准备了8个按键K1~K8和8个发光管L1~18,
其硬件原理如图1所示,其中标号KEYl~KEY8芯片的56~58、60、61和63~65引脚相
连,而标号LEDl~LED8与芯片的30、31、33~37和39引脚相连。
这样一旦KEYl~KEY8
中有键输入,则该节点由高电平跳变到低电平,这时在相应的LEDl~LED8上输出低电平
即可。
(3)程序设计
①利用连续赋值语句实现,文件名keyledl.v。
modulekeyledl(keyin,ledout);//模块名keyledl
mput[7:
0]keyin;//定义键盘输入口
output[7:
0]ledout;//定义发光管输出口
assignledout=keyin;//输出键值
endmodule/
②利用过程赋值语句实现,文件名keyled.v。
modulekeyled(keyin,ledout);//模块名keyled
input[7:
0]keyin;//定义输人口
output[7:
0]ledout;//定义输出口
reg[7:
0]ledout_reg;//定义寄存器
always
begin
ledout_reg=keyin;//读取键值
end
assignledout=ledout_reg;//输出键值
endmodule
(4)实验方法
在DCPLD-2型CPLD实验板上演示实验的方法如下:
①新建工程项目文件keyled.pof,并在该项目下新建VerilogHDL源程序文件keyled.v或keyledl.V,输入上面的程序代码并保存。
②然后为该工程项目选择一个目标器件并对相应的引脚进行锁定,在此所选择的器件应
该是Altera公司的EPM7128SLC84—10芯片,引脚锁定方法如表5所列。
引脚信号引脚信号
56keyin030ledout0
57keyin131ledout1
58keyin233ledout2
60keyin334ledout3
61keyin435ledout4
63keyin536ledout5
64keyin637ledout6
65keyin739ledout7
表5
③对该工程文件进行编译处理,若在编译过程中发现错误,找出并更正错误直至编译成
功为止。
④若需要对所建的工程项目进行验证,输入必要的激励波形文件,然后进行模拟波形仿
真。
观察模拟仿真结果并与预期的目标相比较,看是否符合设计要求,若不满足要求则更正
程序的相关部分。
⑤最后拿出随机附送的ALTERA下载电缆,并将此电缆的两端分别接到PC机和DCPLD
-2型CPLD实验板的下载口上,打开工作电源,执行下载命令,把程序下载到DCPLD-2
型CPLD实验板的EPM7128SLC84—10器件中。
⑥观察发光管L1~L8的亮/灭状态,按下K1~K8中的任一按键,再次观察发光管的
状态。
实验四、静态lED数码管显示
数码管LED显示是工程项目中使用较广的一种输出显示器件。
常见的数码管有共阴和
共阳2种。
共阴数码管是将8个发光二极管的阴极连接在一起作为公共端,而共阳数码管是
将8个发光二极管的阳极连接在一起作为公共端。
公共端常被称作位码,而将其他的8位称作段码。
按驱动方式可以分成静态和动态显示两种方式。
这两种显示方法都可以用CPLD
来控制实现,和使用单片机一样简单。
1.要求·
在DCPLD-2型CPLD实验板的LED数码管上依次显示0~9和A~F16个字符。
2.分析
在DCPLD-2型CPLD实验板上准备了4位动态共阳LED数码管Wl~W4,其硬件原理图如图4所示,其中段码线SLA~SLH与芯片的40、41、44~46和48~50引脚相连,而位码线SL1~SL4与芯片的51、52、54和55引脚相连。
这样,只要在位码线SLl~SL4上一直输出低电平“0”,则4个数码管将显示相同的数码(因为4个LED数码管的段码线分别接到了同一引脚上),这样4个动态的LED数码管就变成了静态的LED。
图4显示原理图
3.程序设计
文件名sled.v。
modulesled(seg,sl,clock);//定义模块结构
output[7:
0]seg;//定义数码管段输出引脚
output[3:
0]s1;//定义数码管选择输出引脚
inputclock;//定义输入时钟引脚
reg[7:
0]seg_reg//定义数码管段输出管脚
reg[3:
0]disp_dat;//定义显示数据寄存器
reg[36:
0]count;//定义计数器寄存器
always@(posedgeclock)//定义clock信号上升沿触发
begin
count=count+1;//计数器值加1
end
always
begin
sl_reg=4'b0000;//选中4个LED数码管
end
a1ways@(count[16])//定义显示数据触发事件
begin
disp_dat=count[27:
24];//显示的数据
always@(disp_dat)//显示解码输出
begin
case(disp_dat)//选择输出数据
4'h0:
seg_reg=8'hc0;//显示0
4'h1:
seg_reg=8'hf9;//显示1
4'h2:
seg_reg=8'ha4;//显示2
4'h3:
seg_reg=8'hb0;//显示3
4'h4:
seg_reg=8'h99;//显示4
4'h5:
seg_reg=8'h92;//显示5
4'h6:
segreg=8'h82;//显示6
4'h7:
seg_reg=8'hf8;//显示7
4'h8:
seg_reg=8'h80;//显示8
4'h9:
seg_reg=8'h90;//显示9
4'ha:
seg_reg=8'h88;//显示a
4'hb:
seg_reg=8'h83;//显示b
4'hc:
seg_reg=8'hc6;//显示c
4'hd:
seg_reg=8'hal;//显示d
4'he:
seg_reg=8'h86;//显示e
4'hf:
seg_reg=8'h8e:
//显示f
endcase
end
assignseg=seg_reg;//输出数码管解码结果
assigns1=s1_reg;//输出数码管选择
endmodule
4.实验方法
在DCPLD-2型CPLD实验板上演示实验的方法如下。
(1)新建工程项目文件sled.pof,并在该项目下新建VerilogHDL源程序文件sled.v,输入上面的程序代码并保存。
(2)然后为该工程项目选择一个目标器件并对相应的引脚进行锁定,在此所选择的器件
应该是Altera公司的EPM7128SLC84—10芯片,引脚锁定方法如表6所列。
引脚信号引脚信号
40seg050seg7
41seg151sl0
44seg252sl1
45seg354sl2
46seg455sl3
48seg5
49seg6
83clock
表6
(3)对该工程文件进行编译处理,若在编译过程中发现错误,则找出并更正错误,直至
编译成功为止。
(4)若需要对所建的工程项目进行验证,则输入必要的激励波形文件,然后进行模拟波
形仿真。
观察模拟仿真结果并与预期的目标相比较,看是否符合设计要求,若不满足要求则
更正程序的相关部分。
(5)最后将CLOCK与83引脚相连。
拿出随机附送的Altera下载电缆,并将此电缆的两
端分别接到PC机和DCPLD-2型CPLD实验板的下载口上,打开工作电源,执行下载命
令,把程序下载到DCPLD-2型CPLD实验板的EPM7128SLC84—10器件中。
(6)观察LED数码管上的数字。
如果让数码管显示“HHHH"和“FFFF”自己动手改改
程序试试看。
实验五、动态LED数码管显示
由上面的学习可以看出,LED数码管的静态显示的编程方法较简单,且专用系统的资
源较少,但是由于LED静态显示需要占用较多的I/O口,且功耗较大,因此在大多数场合
通常采用动态扫描的方法来控制LED数码管的显示。
1.要求
在DCPLD-2型CPLD实验板上完成LED数码管的动态显示,并演示动态显示的原理
过程。
2.分析
在DCPLD-2型CPLD实验板上有4个动态扫描的数码管W1~W4,其硬件原理如图
4所示。
由图可以看出,4个数码管采用共阳的接法,其中段码线SLA~SLH通过与芯片的40、41、44~46和48~50引脚相连,而位码线SLl~SL4通过跳线与芯片的51、52、54和55引脚相连。
动态扫描的方法如下:
首先段码控制口输出要显示数据的段码,同时向位码控制寄存器送数据4'b1110,这