流水灯实验报告
- 格式:doc
- 大小:44.00 KB
- 文档页数:3
实验二流水灯
实验时间:2011-11-20 实验地点:物理楼406
一、实验目的
通过此实验进一步了解,熟悉FPGA开发软件的使用方法及Verilog.HDL,的编程方法;学习简单时序电路的设计。
二、实验原理和内容
实验内容:在实验板上实现LED1~LED8发光二极管流水灯显示
实验原理:在LED1~LED8引脚上周期性地输出流水数据,如原来输出的数据是11111100则表示点亮LED1,LED2,流水一次后,输出数据应该为11111000,而此时则应点亮LED1~LED3三个LED发光二极管,这样就可以实现LED流水灯,为了观察方便,流水速率最好在2Hz左右。在QuickSOPC核心板上有-48MHz的标准时钟源,该时钟脉冲CLOCK 与芯片的28脚相连,为了产生2Hz的时钟脉冲,在此调用了一个分频模块int_div模块,通过修改分频系数来改变输出频率,int-div模块是一个占空比为50%的任意整数分频器。
三、实验步骤
1,启动QuartusⅡ建立一个空白工程,然后命名为led-water.qpf。
2,新建Verilog HDL源程序文件ledwater.v,输入程序代码并保存,然后进行综合编译。若在编译过程中发现错误,则找出并更正错误,直至编译成功为止。
3,从设计文件创建模块,由ledwater.v生成名为ledwater.bsf的模块符号文件。
4,将光盘中EDA-Component目录下的int-div.bsf和int-div.v拷贝到工程目录。
5,新建图形设计文件命名为led-water.bdf并保存。在空白处双击鼠标左键,在Symbol对话框左上角的libraries.v中,分别将project下的ledwater和int-div模块放在图形文件led-water.bdf中,加入输入,输出引脚,双击各引脚符号进行引脚命名。将与ledwater模块led[7..0]连接的引脚命名为led[7..0],与int-div模块clock连接的引脚命名为clock,int-div模块的clk-out与ledwater模块的clk相连接。
6,选择目标器件并对相应的引脚进行锁定,在这里所选择的器件为Altera公司Cyclone系列的EPIC12Q240C8芯片,引脚锁定方法见下表,将未使用的引脚设置为三态输入。
表引脚锁定方法
7,将led-water.bdf设置为顶层实体,对该工程文件进行全程编译处理,若在编译过程中发现错误,则找出并更正错误,直至编译成功为止。
8,最后将跳线短接跳帽跳接到SmartSOPC实验箱上JP6的LED0~LED7,使LED1~LED8分别与FPGA的引脚50,53~55,176和47~49相连,将Altera ByteBlasterⅡ下载电缆的两端分别接到PC机的打印机并口和QuickSOPC核芯板上的JTAG下载口上,打开电源,执行下载命令,把程序下载到FPGA器件中,此时,即可在SmartSOPC实验箱上看到流水灯。
9,更改分频模块(int-div)的分频系数,并重新编译下载,观察流水灯的变化。
实验参考程序
四、实验数据与结果
观察到实验箱流水灯依次闪烁。
五、实验总结
(1)在保存文件名字时不能以数字开头,并文件名要和程序中的模且块名一致,不然编译的时候会报错,当程序编译时的警告超过25个以上后,程序不能在目标板上正常执行。
(2)学会了怎么使用Quartus II,新建工程与下载程序的方法等等