FPGA 实验.doc
文本预览下载声明
电子科技大学成都学院
实验报告册
课程名称: FPGA实验
姓 名: 徐 源
学 号: 1040710526
院 系: 微电子技术系
专 业: 集成(嵌入式)
教 师: 李 海
2012 年 11 月 22 日
实验一: 计数器计数学号后两位
一、实验目的:
1、通过实验进一步了解和掌握FPGA开发软件的使用方法。
2、通过实验进一步熟悉Verilog HDL的编程方法。
3、掌握用Verilog HDL语言描述十进制计数器的方法。
二、实验原理和内容:
通过软件编写代码并仿真实现计数器功能。
实验步骤:
1、启动Quartus II建立一个空白工程,然后命名为counter.qpf。
2、新建一个Verilog HDL源程序文件counter.v,输入程序代码并保存。
3、对编写好的源程序文件进行综合编译,若编译过程中发现错误,则及时找出并更正,直至编译成功为止。
4、从设计文件创建模块,由counter.v生成counter.bsf模块符号文件。
5、将int_div.v和int_div.bsf拷贝到工程目录。
6、创建原理图模块counter.bdf;并将int_div.bsf和counter.bsf模块添加到图形文件中;连接各模块;加入输入输出引脚并进行引脚命名。
7、将图形文件设置成顶层文件。
8、设置芯片引脚、引脚三态,编译。
9、新建一个波形仿真文件counter.vwf,调入输入输出引脚,并对时钟、复位引脚做相应的负责操作,仿真出波形结果。
四、实验数据和结果:
module count(clk,date);
input clk;
output [5:0]date;
reg[5:0]date;
always@(posedge clk)
begin
date=date+1;
if(date==26)
begin
date=0;
end
end
Endmodule
实验总结:
通过实验学会了如何去编写计数器代码。
实验二: 按键控制数码管显示
一、实验目的:
编写代码实现按键控制数码管的显示。
实验原理和内容:
FPGA的所有I/O控制块允许每个I/O引脚单独配置为输入口,不过这种配置是系统自动完成的。当I/O口被设置为输入口使用时,该I/O控制模块将直接使三态控制端接地,使得该I/O引脚对外呈高阻态,这样该I/O引脚就可作为专用输入引脚。正确分配并锁定引脚后,一旦KEY1~KEY8中有键输入,即可在检测到键盘输入的情况下,继续判断其键盘值并做出相应的处理。
三、实验步骤:
1、启动Quartus II建立一个空白工程,然后命名为keyled.qpf。
2、新建一个Verilog HDL源程序文件keyled.v,输入程序代码并保存。
3、对编写好的源程序文件进行综合编译,若编译过程中发现错误,则及时找出并更正,直至编译成功为止。
4、设置芯片引脚、引脚三态,编译。
5、将程序下载到试验箱中,观察并记录实验结果。
实验数据和结果:
module keyled(key,led);
input [7:0]key;
output[7:0]led;
reg[7:0]led_r;
reg[7:0]buffer_r;
assign led=led_r;
always @(key)
begin
buffer_r=key;
case(buffer_r)
8led_r=8
8led_r=8
8led_r=8
8led_r=8
8led_r=8
8led_r=8
8led_r=8
8led_r=8
default; led_r=8
endcase
end
endmodule
设置引脚,把程序加载到试验箱,通过按键成功控制led灯点亮。
实验总结:
通过实验学习了如何去点亮了led灯。
实验三:
显示全部