文档库 最新最全的文档下载
当前位置:文档库 › FPGA实验报告

FPGA实验报告

FPGA实验报告
FPGA实验报告

电子科技大学成都学院

实验报告册

课程名称:FPGA实验

姓名:

学号:

院系:微电子技术系

专业:集成电路设计与集成系统

教师:

2014 年12 月20日

实验一:奇数分频

一、实验目的:

1、熟悉QuartusII的VHDL的文本设计流程全过程,学习计数器的设计与仿真。

2、掌握简单逻辑电路的设计方法与功能仿真技巧。

3、学习并掌握VHDL语言、语法规则。

4、学习使用VHDL语言进行奇数分频器的设计。

二、实验原理和内容:

要实现占空比为50%的N倍奇数分频,首先上升沿触发进行模N计数,计数到某一个值n时输出时钟进行翻转,然后再计数(N-1)/2次,再进行翻转得到一个占空比非50%奇数n分频时钟。同时进行下降沿触发的模N计数,等计数到n 时,输出时钟进行翻转,同样再计数(N-1)/2次,输出时钟再次翻转生成占空比非50%的奇数n分频时钟。两个占空比非50%的n分频时钟进行或运算,即得到占空比为50%的奇数N分频时钟。

三、实验步骤:

1、启动QuartusII软件,建立工程。点击fiel→new project Wizard...进入命名窗口,如图1.1

图1.1

2、点击右下角next→next,选择参数如图1.2

图1.2

点击finish。

3、建立源文件:点击file→new→Verilog HDL File 如图1.3

图1.3

点击OK,进入程序编写页面。

4、程序写完后点击编译按钮,如图1.4

图1.4

左边第一个紫色三角符号为编译按钮。

5、查看电路图:确定编译无误后,点击tools→Netlist Viewers→Technology Map Viewer.

6、建立波形仿真文件:点击fiel→new→Vector Waveform File,如图1.5

图1.5

7、再一次仿真后,点击processing→simulator Tool 如图1.6

图1.6

点击start开始波形仿真。

四、实验数据和结果:

1、程序代码:

2、电路图:

3、波形仿真图:

五、实验总结:

1、通过该实验基本熟悉了Verilog HDL的设计流程。

2、在程序编程中出现了许多问题,比如阻塞和非阻塞语句的混合使

用。

3、保存程序代码时要加后缀.v

4、波形仿真中如果想要看到中间变量的波形变化,则需要手动添加。

实验二:按键控制LED

一、实验目的:

1、通过实验逐步了解、熟悉和掌握FPGA开发软件QuartusII的

使用方法及Verilog HDL的编程方法。

2、了解LED工作的基本原理。

二、实验内容和原理:

通过实验箱上的key0~key7来控制LED0~LED7的点亮,比如当按下key0时LED0点亮,按下key3时LED3点亮。

三、实验步骤:

1、创建工程,取名为led。

2、建立源文件led.v。

3、编写程序,编译。

4、编译无误后设置引脚。

5、编译,下载。观察数码管显示情况。

四、实验数据和结果:

1、程序代码:

2、实验电路图:

五、实验总结:

本实验只是LED灯的入门实验,实验步骤比较简单。通过本实验了解了Verilog HDL的编程方法,以及熟悉了case语句的用法。

实验三:花样流水灯

一、实验目的:

1、进一步熟悉Verilog HDL设计流程。

FPGA开发软件的使用方法及Verilog HDL 的编程方法。

二、实验原理和内容:

在LED1~LED8引脚上周期性的输出流水数据,如原来输出的流水数据是11111100则表示点亮LED1、LED2。流水一次后输出的数据应该为11111000,而此时应该点亮LED1、LED2、LED3,这样就可以实现LED流水灯。

本实验的内容是建立可以用于控制LED流水灯的简单硬件电路,要求在SmartSOPC实验箱上实现LED1~LED8发光二极管流水灯显示。

三、实验步骤:

1、启动QuartusII建立一个空白工程,然后命名为led_water.qpf。

2、新建Verilog HDL缘程序文件ledwater.v,输入程序代码并保存,然后综合编译。若再编译过程中发现错误,则找出并更正错误,直到编译成功为止。

3、设置引脚。Assignments→pins

将跳线短接帽接到SmartSOPC实验箱上的JP6的LED0~LED7,使LED1~LED8分别与FPGA的引脚50、53~55、176和47~49相连。然后打开电源,执行下载命令。

4、编译无误后点击下载

右边第三个键

点击start开始下载,完成后观看LED灯的闪烁情况。

5、更改分频系数,重新编译下载,观看流水灯的变化。

四、实验结果和数据:

1、程序代码:

2、电路图:

3、实验图片采样:

五、实验总结:

1、在保存文件名时不能以数字开头,文件名要和程序中的模块名一

致,不然编译的时候会报错。当编译的警告超过20个后,程序不能在目标板上正常执行。

QuartusII新建工程与下载程序的方法。

实验四:静态数码管显示

一、实验目的:

1、学习7段数码管显示译码器的设计。

2、进一步了解、熟悉和掌握FPGA开发软件QuartusII的使用方法及

Verilog HDL的编程方法。

二、实验原理和内容:

本实验通过分频模块的到1Hz的频率信号,加载于4位奇数的时钟输入端,计数循环输出0~9、A~F共16个数。最后通过7段译码模块译码后在数码管上显示出来。

本实验的内容是建立7段译码显示模块,用于控制LED数码管的静态显示。要求在SmartSOCP实验箱上的数码管依次显示0~9、A~F 16个字符。

三、实验步骤:

1、启动QuartusII建立一个空白工程,然后命名为decl7s。

2、建立源文件,取名为deci7s.v。

3、编写程序代码,编译。如果编译有错误,则需要改正错误后继续

编译。

4、设置引脚。Assignments→pins

5、编译、下载,观察数码管显示情况。

四、实验结果和数据:

1、程序代码:

2、电路图:

3、实验图片采样:

五、实验总结:

1、本实验连续运用三个always模块,所以要明白每个always模

块之间的关系。

2、本实验只运用了数码管的段选,没有用位选,所以得到的结果

每个数码管显示的数都是相同的。

实验五:数码管显示学号后8位

一、实验目的:

1、进一步学习7段数码管显示译码器的设计。

相关文档