流水灯实验报告

  • 格式:doc
  • 大小:44.00 KB
  • 文档页数:3

下载文档原格式

  / 3
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验二流水灯

实验时间: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,新建工程与下载程序的方法等等