EDA实验箱实验指导书.docx
- 文档编号:2917621
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:41
- 大小:57.75KB
EDA实验箱实验指导书.docx
《EDA实验箱实验指导书.docx》由会员分享,可在线阅读,更多相关《EDA实验箱实验指导书.docx(41页珍藏版)》请在冰豆网上搜索。
EDA实验箱实验指导书
实验二流水灯
1.实验目的
通过本实验让学生进一步了解、熟悉和掌握CPLD/FPG/开发软件的使用方法及VHDL语
言的编程方法;学习简单的时序电路的设计和硬件测试。
2.实验内容
本实验的内容是控制实验箱上的发光二极管LED—LED8使之实现流水灯显示。
3.实验原理
在LED1~LED8引脚上周期性地输出流水数据,即输出的数据依次为、、、、、、、、00000000,
如此循环显示,输出数据“0”表示点亮相应的LED小灯。
为了方便观察,流水的速率控制
在2Hz左右。
在核心板上有一个48MHz的标准时钟源,该时钟源与芯片EP2C5的23脚相连。
为了产生2Hz的时钟源,在此调用了分频模块int_div。
4.实验步骤
(1)启动QuartusII,建立一个空白工程,然后命名为。
(2)新建源程序文件,源代码如下。
然后进行综合编译。
若在编译过程中发现错误,则
找出并更正错误,直到编译成功为止。
生产符号文件(FiletCreate/_Update宀Create
SymbolFilesforCurrentFile)。
流水灯程序参考
LIBRARYIEEE;
USE
USEledwaterIS
PORT(
clk:
INSTD_LOGIC;
led:
OUTSTD_LOGIC_VECTOR(7DOWNTO0)
);END;
SIGNALled_r:
STD_L0GIC_VECT0R(8DOWNTO0);
BEGIN
led<=led_r(7DOWNTO0);
PROCESS(clk)
BEGIN
IFclk'eventandclk='1'THEN
led_r<=led_r(7DOWNTO0)&'0';
IFled_r="000000000"THEN--循环完毕吗?
led_r<="1";--是,则重新赋初值
ENDIF;
ENDIF;
ENDPROCESS;
END;
(3)将实验模块库里的和拷贝到工程目录下。
(4)新建图形文件,命名为并保存。
在空白处双击鼠标,打开symbol对话框,在symbol
对话框的左上角的libraies中,分别将project下的ledwater和int_div模块放在图形文
件中,加入输入input、输出output引脚,双击各引脚符号,进行引脚命名。
完整的顶层
模块原理图如下图1所示。
双击int_div中的参数框,并修改参数,如下图2所示。
将F_DIV的值改为,F_DIV_WIDTH的值改为25,单击“确定”按钮保存修改的参数。
图流水灯顶层模块
图参数修改对话框
ShowParameterAssignments
如果在上不能看到参数设置框,在空白出右击鼠标,选择命令来显示参数设置框。
(5)
Altera公
将实验模块选择目标器件并对相应的引脚进行锁定,这里选择的器件为
司的CycloneII系列的EP2C5Q208C8或者CycloneI系列的EP1C12Q240C。
引脚锁定方法如下表所列。
(6)将设置成顶层实体Project宀SetasTop-levelEntity。
对该工程文件进行全程
编译处理,若在编译过程中发现错误,则找出并更正错误,直至编译成功为止。
(7)把JP20的led0~led7的跳帽插上,使发光二极管有效。
下载程序到芯片上,观察流水灯的变化。
更改分频模块的分频系数,并重新编译下载,观察流水灯的变化。
表引脚锁定方法
信号
引脚
信号
引脚
EP2C5
EP1C12
EP2C5
EP1C12
Led[0]
116
128
Led[5]
105
123
Led[1]
110
127
Led[6]
63
122
Led[2]
114
126
Led[7]
106
121
Led[3]
107
125
clock
23
153
Led[4]
112
124
实验三读取按键信号
1.实验目的
通过本实验让学生进一步了解、熟悉和掌握CPLD/FPG/开发软件的使用方法及VHDL语
言的编程方法;并熟悉VHDL文件为顶层模块的设计;学习和体会分支条件语句case的使用方法及FPGAI/O口的输出控制。
2.实验内容
实验箱上有8个发光二极管LED1~LED8和8个按键KEY1~KEY8本实验的内容是用这8
个按键分别控制8个发光二极管,一旦有键按下,则点亮相应的发光二极管。
3.实验原理
FPGA的所有I/O控制块允许每个I/O引脚单独配置为输入口,不过这种配置是系统自动完成的。
当该I/O口被设置为输入口使用时(如定义key1为输入引脚:
input),该I/O控制块将直接使三态缓冲的控制端接地,使得该I/O引脚对外呈高阻态,这样该I/O引脚即可用作专用输入引脚。
正确分配并锁定引脚后,一旦在KEY1~KEY中有键输入,即可在检测
到键盘输入的情况下,继续判断其键盘并作出相应的处理。
4.实验步骤
(1)启动QuartusII,建立一个空白工程,然后命名为。
(2)新建源程序文件,源代码如下。
然后进行综合编译。
若在编译过程中发现错误,则找出并更正错误,直到编译成功为止。
程序参考
LIBRARYIEEE;
USE
USEkeyledIS
PORT(
key:
INSTD_LOGIC_VECTOR(7DOWNTO0);
led:
OUTSTD_LOGIC_VECTOR(7DOWNTO0)
);END;
ARCHITECTUREoneOFkeyledIS
SIGNALled_r:
STD_LOGIC_VECTOR(7DOWNTO0);
SIGNALbuffer_r:
STD_LOGIC_VECTOR(7DOWNTO0);
BEGIN
led<=led_r;
PROCESS(key,buffer_r)
BEGIN
buffer_r<=key;
CASEbuffer_rIS
WHEN""=>led_r<="";
WHEN""=>led_r<="";
WHEN""=>led_r<="";
WHEN""=>led_r<="";
WHEN""=>led_r<="";
WHEN""=>led_r<="";
WHEN""=>led_r<="";
WHEN"01111111"=〉led_r<="01111111";
WHENOTHERS=〉ed_r<="";
ENDCASE;
ENDPROCESS;
END;
(3)选择目标器件并对相应的引脚进行锁定,这里选择的器件为Altera公司的Cyclone
II系列的EP2C5Q208C8或者CycloneI系列的EP1C12Q240C8引脚锁定方法如下表所列。
表引脚锁定方法
信号
引脚
EP2C5
EP1C12
信号
引脚
EP2C5
EP1C12
Led[0]
116
Key[0]
56
Led[1]
110
Key[1]
59
Led[2]
114
Key[2]
57
Led[3]
107
Key[3]
61
Led[4]
112
Key[4]
58
Led[5]
105
Key[5]
64
Led[6]
63
Key[6]
60
Led[7]
106
Key[7]
68
(4)对该工程文件进行全程编译处理,若在编译过程中发现错误,则找出并更正错误,直至编译成功为止。
(5)JP6是一个3针的插座,如果把短接帽接到下面,使下面两个插针短接,则按键有效;如果把短接帽接到上面,使上面两个插针短接,则矩阵键盘有效。
本实验令按键有效,把短接帽接到下面。
把JP20的led0~led7的跳帽插上,使发光二极管有效。
下载程序到芯
片上,按下KEY1~KEY8勺任何一键,观察发光二极管LED1~LED8的亮灭状态。
实验四静态数码管显示
1.实验目的
通过本实验让学生学习7段数码管显示译码器的设计,进一步了解、熟悉和掌握FPGA
开发软件QuartusII的使用方法及VHDL语言的编程方法,学习LPM兆功能模块的调用。
2.实验内容
实验箱上有2个4位动态共阳极数码管LEDD4和LEDD3其中8个位码DIG0~DIG7和8
位段码SEGO~SEG分别与FPGA相应的引脚相连。
这样只要DIG0~DIG7上一直输出低电平“0”,则8个数码管将显示相同的数码,这样8位动态数码管就变成了静态数码管。
本实验的内容是建立7段译码显示模块,用于控制LED数码管的静态显示。
要求在试验箱上循环显示0~9和A~F16个字符。
3.实验原理
数码管LED显示是工程项目中使用较广的一种输出显示器件。
常见的数码管有共阴和共
阳两种。
共阴数码管是将8个发光二极管的阴极连接在一起作为公共端,而共阳数码管是将
8个发光二极管的阳极连接在一起作为公共端。
公共端常称为位码,而将其它8位称为段码,
分别为:
a、b、c、d、e、f、g、h,其中h为小数点。
对于共阳极数码管,只要公共端为高电平“1”,某个段输出为低电平“0”,则相应的段就亮。
本实验通过分频模块得到1Hz的频率信号,加载于4位计数器的时钟输入端,计数循环
输出0~9和A~F16个字符,通过7段译码模块后在数码管上显示出来。
4.实验步骤
(1)启动QuartusII,建立一个空白工程,然后命名为。
(2)新建源程序文件,源代码如下。
然后进行综合编译。
若在编译过程中发现错误,则
找出并更正错误,直到编译成功为止。
生产符号文件(FiletCreate/_Update宀Create
SymbolFilesforCurrentFile)。
程序参考
LIBRARYIEEE;
USE
decl7sIS
PORT(
d:
INSTD_LOGIC_VECTORD(3OWNTO0);--输入4位二进制码seg:
OUTSTD_LOGIC_VECTORD(7OWNTO0-)-七段译码输出
);END;
ARCHITECTUREONEOFdecl7sIS
SIGNALseg_r:
STD_LOGIC_VECTOR(7DOWNTO0)-;-定义数码管输出寄存器
BEGIN
seg<=seg_r;
--输出数码管译码结果
PROCESS(d)
--七段译码
BEGIN
CASEdIS
WHEN
X"0"=>
seg
r<=X"c0";--
显示
0
WHEN
X"1"=>
seg
r<=X"f9";--
显示
1
WHEN
X"2"=>
seg
r<=X"a4";--
显示
2
WHEN
X"3"=>
seg
r<=X"b0";--
显示
3
WHEN
X"4"=>
seg
r<=X"99";--
显示
4
WHEN
X"5"=>
seg
r<=X"92";--
显示
5
WHEN
X"6"=>
seg
r<=X"82";--
显示
6
WHEN
X"7"=>
seg
r<=X
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 实验 指导书