EPM7128开发板实验指导书Word文档格式.docx
《EPM7128开发板实验指导书Word文档格式.docx》由会员分享,可在线阅读,更多相关《EPM7128开发板实验指导书Word文档格式.docx(24页珍藏版)》请在冰豆网上搜索。
使用于用户开发时与叠合式扩展板实现无导线连接。
叠合式扩展板---板上数字表示其与CPLD相应管脚相连,空焊盘用于扩展器件。
第二节实验指导书
实验一3-8译码器逻辑设计
一、实验目的
l、学习并掌握QUARTUSⅡ7.1AlteraCPLD软件开发平台。
2、通过一个简单的3-8译码器的设计,掌握VHDL编程的使用方法。
3、掌握组合逻辑电路的静态测试方法和开发板的使用。
二.实验步骤
1、进入Windows操作系统,打开QUARTUSⅡ7.1。
(1)、启动File/NewProjectWizard菜单,输入设计项目的名字。
点Assignments/Device菜单,选择器件MAX7000S中的EPM7218。
(2)、启动菜单File/New,选择VHDLFile,打开源程序编辑器,进行程序设计输入。
2、设计、编译、配置管脚、下载
(1)、安照以下程序输入:
--Fi1eName:
decoder3_8.VHD
libraryieee;
useieee.std_logic_1164.all;
entitydecoder3_8is
port(
a,b,c:
instd_logic;
d:
outstd_logic_vector(7downto0)
);
enddecoder3_8;
architecturebehaviourofdecoder3_8is
signalin1:
std_logic_vector(2downto0);
begin
in1<
=c&
b&
a;
process(in1)
casein1is
when"
000"
=>
d<
="
00000001"
;
001"
00000010"
010"
00000100"
011"
00001000"
100"
00010000"
101"
00100000"
110"
01000000"
whenothers=>
10000000"
endcase;
endprocess;
endbehaviour;
(2)、保存文件名为:
实验中取名为:
decoder3_8.vhd。
(3)编译程序
启动Processing\StartCompilation菜单,开始编译,生成.SOF和.POF等文件,以便硬件下载和编程时调用,同时生成.RPT文件。
(4)管脚的重新分配锁定:
启动Assignments\Pins菜单命令,出现引脚配置界面,用户可随意改变管脚分配。
用拨码开关的低三位代表译码器输入(A,B,C),将之与ALTERA(EPM712884-15芯片K1、K2、K3)的31,33,34芯片的管脚相连;
用LED来表示译码器的输出,将它们(LED0-LED7)与81,80,79,77,76,75,74,73管脚相连。
注意:
管脚分配之后一定要重新编译!
(6)器件的下载与配置
1.启动Tools\PROGRAMMER菜单,出现下载对话框。
2.选择HardwareSetup进行下载方式设置。
3.设置完成后,按下Start按扭完成下载。
实验二LED彩灯控制器实验
一.实验目的
1、掌握LED彩灯控制器的设计方法。
2、掌握VHDL的调试方法。
3、掌握VHDL语言注意语言程序的基本结构、数据类型及运算操作符。
二、实验的硬件要求
1、输入:
按键开关2个
2、输出:
LED灯8个
3、主芯片:
ALTERAEPM7128SLC-15
三、实验内容
设计彩灯控制器,要求如下:
用两位开关控制彩灯的显示方式,K1K2为00,闪烁;
为01右循环依次熄灭一个LED;
为10,左循环依次熄灭一个LED;
为11左循环依次熄灭二个LED。
四、实验报告要求
(一)预习报告要求
1.写出描述实现该硬件电路的VHDL程序;
2.写些实现该功能的算法。
(二)实验报告
1.写出详细实验步骤;
2.列出实现该电路的程序清单;
3.画出CPLD引脚连线图。
4.观察实验现象,画出仿真波形。
实验三静态数码管显示控制器设计
1、掌握组合逻辑电路设计方法。
2、掌握组合逻辑电路的静态显示测试方法。
3、比较原理图输入和文本输入的优劣。
可分频的时钟信号输入
一位七段数码管
设计0-9的BCD码计数器,并通过一个七段数码管显示计数结果。
1.写出该电路设计详细过程;
2.用顶层图用图形编程法设计该电路;
3.写出描述实现该硬件电路的VHDL程序。
4.画出仿真波形。
实验四四位动态数码管显示控制电路设计
l、掌握四位动态数码管显示的控制器电路的设计;
2、掌握时序电路的设计;
3、掌握进程内部顺序执行语句及进程外部并行执行语句的区别。
二、实验原理(锁存器)
用于显示的四位数据(BCD码)从IN0~IN3分别输入,通过BUS_4MUX1数选器选出的数据送给bcdto7seg进入BCD码到七段码的转换后送到数码管显示,与此同时,送给数选器的选择信号SIN也送到一个2/4译码上产生与显示数据相对应的位选择信号。
只要这个选择信号循环得足够快(速度由外部CLK确定),就可以在4位数码管上显示清晰的数据。
l、通过模拟和仿真分析,验证控制器能否正常工作。
2、仿真通过后,下载到开发板上查看显示效果。
1、对于原理设计要求有设计过程.
2、写出源程序.
3、详细论述实验步骤,画出仿真波形。
实验五键盘实验程序
1、掌握VHDL语言描述键盘程序;
2、时序逻辑电路的VHDL的设计方法。
二、实验原理
用6个按键作为键盘的输入,输入0-9个数据,并能在数码上显示出所输入的数据。
提示:
我们的6个按键不是扫描方式联结,所以用双功能键的设计思想来实现。
1、用VHDL语言设计上述电路;
2、下载并验证结果。
1、写出七人表决器的VHDL语言设计源程序.
2、书写实验报告时要结构合理、层次分明、在分析叙述时注意语言的流畅。
3、画出仿真波形。
附录IQuartusII7.1的使用
一、quartusii7.1的使用
我们通过一个简单的实例来演示如何使用QuartusII7.1在PLD器件上做一个完整的逻辑设计。
我们将在PLD上实现一个三人表决器的逻辑。
三人表决,以少数服从多数为原则,多数人同意则议案通过,否则议案被否决。
这里,我们使用三个按键代表三个参与表决的人,置“0”表示该人不同意议案,置“1”表示该人同意议案;
两个指示灯用来表示表决结果,LED1点亮表示议案通过,LED2点亮表示议案被否决。
真值表如下:
S1
S2
S3
LED1
LED2
1
下面我们就具体来实现这一设计。
1.双击桌面上QuartusII7.1的图标,启动QuartusII7.1软件。
2.通过File=>
NewProjectWizard…菜单命令启动新项目向导。
3.在随后弹出的对话框上点击Next按钮,继续。
4.在Whatistheworkingdirectoryforthisproject栏目中设定新项目所使用的路径;
在Whatisthenameofthisproject栏目中输入新项目的名字:
vote,点击Next按钮。
5.在这一步,向导要求向新项目中加入已存在的设计文件。
因为我们的设计文件还没有建立,所以点击Next按钮,跳过这一步。
6.在这一步选择器件的型号。
Family栏目设置为Cyclone,选中Specificdeviceselectedin‘Availabledevices’list选项,在Availabledevice窗口中选中所使用的器件的具体型号,这里以EP1C6Q240C8为例。
点击Next按钮,继续。
7.在这一步,可以为新项目指定综合工具、仿真工具、时间分析工具。
在这个实验中,我使用QuartusII7.1的默认设置,直接点击Next按钮,继续。
8.确认相关设置,点击Finish按钮,完成新项目创建。
9.接下来,我们建立一个原理图文件,并加入该项中来。
在File菜单下,点击New命令。
在随后弹出的对话框中选择BlockDiagram/SchematicFile选项,点击OK按钮。
在File菜单下选择SaveAs命令,将其保存,并加入到项目中。
10.根据上面的真值表,做卡诺图简化,可以得出:
LED1=S1S2+S1S3+S2S3,LED2=~LED1。
双击原理图的任一空白的处,会弹出一个元件对话框。
在Name栏目中输入and2,我们就得到一个2输入的与门。
11.点击OK按钮,将其放到原理图的适当位置。
重复操作,放入另外两个2输入与门。
也可以通过右键菜单的Copy命令复制得到。
12.双击原理图的空白处,打开元件对话框。
在Name栏目中输入or3,我们将得到一个3输入的或门。
点击OK按钮,将其放入原理图。
13.双击原理图的空白处,打开元件对话框。
在Name栏目中输入not,我们会得到一个非门。
14.将鼠标入到元件的引脚上,鼠标会变成“十”字形状。
按下左键,拖动鼠标,就会有导线引出。
根据我们要实现的逻辑,连好各元件的引脚。
15.双击原理图的空白处,打开元件对话框。
在Name栏目中输入Input,我们便得到一个输入引脚。
点击OK按钮,放入原理图。
重复操作,给我们的电路加上3个输入引脚。
16.双击输入引脚,会弹出一个属性对话框。
在这一对话框上,我们可更改引脚的名字。
我们分别给3个输入引脚取名in1、in2、in3。
17.双击原理图的空白处,打开元件对话框。
在Name栏目中输入output,我们会得到一个输出引脚。
重复操作,给我们的电路加上两个输出引脚。
给两个输出引肢分别命名为led1、led2。
18.在Assignments菜单下,点击Pins命令,启动PinPlanner工具。
在这个工具中,我们可以为我们的电路的端子分配器件的引脚。
在AllPins表格中,双击NodeName列的newnode单元,输入端子的名字。
在同一行的Location列,选择要分配的位置。
重复操作,为每个端子都分配适当的脚位。
19.在Assignments菜单下,点击Device…命令。
在随后弹出的对话框中点击Device&
PinOptions…按钮,进入Device&
PinOptions对话框。
切换到configuration页,在ConfigurationDevice栏目中,选中useconfigurationdevice选项,配置器件型号选择EPCS1,同时,选中Generatecompressedbitstreams选项。
20.切换到UnusedPins页,在Reservedallunusedpins栏目中,选择Asinputtri-stated。
因为我们的设要在开发板上演示,所以把没有用到的管脚设为输入,以避免与开发板上其它电路发生冲突。
点击确定按钮,确认设置。
回到Seting对话框,点击OK按钮。
21.在Processing菜单下,点击StartCompilation命令,开始编译我们的项目。
编译结束后,点击确定按钮。
22.在把我们的设计下载到开发板上验证之前,我们可以先做一下仿真。
首先,我们要建立一个输入波形文件。
仿真工具会用到该文件,以确定每个输入引脚的激励信号。
在随后弹出的对话框中,切换到OtherFiles页。
选中VectorWaveformFile选项,点击OK按钮。
23.现在,我们已经进入到波形编辑界面。
在Edit菜单下,点击InsertNodeorBus…命令。
24.点击NodeFinder…按钮,打开NodeFinder对话框。
点击List按钮,列出电路所有的端子。
点击>
>
按钮,全部加入。
点击OK按钮,确认。
25.回到InsertNodeorBus对话框,点击OK按钮,确认。
26.选中in1信号,在Edit菜单下,选择Value=>
Clock…命令。
在随后弹出的对话框的Period栏目中设定参数为50ns,点击OK按钮。
27.In2、in3也用同样的方法进行设置,Period参数分别为100ns和200ns。
28.保存文件,在Processing菜单下,选择StartSimulation启动仿真工具。
仿真结束后,点击确认按钮。
观察仿真结果,对比输入与输出之间的逻辑关系否符合真值表。
29.使用下电缆(在WIN2000下CPLD下载线的驱动安装),将开发板Jtag口(J105)与电脑的并行口相连,接通开发板电源。
在Tools菜单下,选择Programmer命令,打开QuartusIIProgrammer工具。
点击HardwareSetup按钮,进行下载线设置,选择所用的下载线型号。
30.选中Program/Configure选项,点击Start按钮,将配置文件vote.sof下载到开发板上。
按下S1、S2、S3按钮的各种组合,观察LED1、LED2的状是否符合真值表。
31.断开开发板电源。
将开发板上的S101置于(1:
on|2:
on)状态,并将下载线从J105换到J106上,然后重新接通开发板电源。
在QuartusII7.1工具软件中,将Mode选项设置为ActiveSerialProgramming。
点击AddFile…按钮,将vote.pof文件加入进来。
选中Program/Configure选项,点击Start按钮,将配置数据烧写到配置芯片中。
32.断开开发板电源,从J106上取下下载线。
重新接通开发板电源,按下S1、S2、S3的个种组合,观察LED1、LED2的输出结果是否符合真值表
二、在WIN2000/XP下CPLD下载线的驱动安装
1.
打开控制面板;
2.
选择“添加/删除硬件”;
3.
点两次下一步;
4.
选择“添加新硬件”,点下一步;
5.
选择“否,我想从列表中选择硬件”,点下一步;
6.
选择“声音,视频和游戏控制器”,点下一步;
7.
选择从“磁盘安装”;
8.
在“浏览”中找到“…\maxplus2\Drivers\win2000\Win2000.inf”,安装即可。