FPGA实验二:LED流水灯
##一、实验目的1、学习LED闪烁原理;2、学习Nexys4-DDR处理器控制LED的闪烁;3、学习如何实现分频。 二、实验要求1、基本:编写单个LED闪烁的代码并下载至FPGA,观察实验现象(这里注意:由于引脚时钟是100Mhz,所以要实现1s闪烁需要计数器,否则频率太高肉眼无法观察)。2、扩展:在Vivado中编写verilog代码,通过控制两个拨码开关,实现16个LED的循环闪烁,其中闪烁方式至少有两种以上,闪烁的频率至少有两种。(LED端口为1亮,为0灭;拨码开关往下为0,往上为1)。 三、实验仪器PC 机一台, WinXP/Win7 操作系统;Nexy4-DDR处理器开发与应用实验平台;USB串口线。 四、实验原理1、LED灯与拨码开关的原理图
一、实验目的
1、学习LED闪烁原理;
2、学习Nexys4-DDR处理器控制LED的闪烁;
3、学习如何实现分频。
二、实验要求
1、基本:编写单个LED闪烁的代码并下载至FPGA,观察实验现象(这里注意:由于引脚时钟是100Mhz,所以要实现1s闪烁需要计数器,否则频率太高肉眼无法观察)。
2、扩展:在Vivado中编写verilog代码,通过控制两个拨码开关,实现16个LED的循环闪烁,其中闪烁方式至少有两种以上,闪烁的频率至少有两种。(LED端口为1亮,为0灭;拨码开关往下为0,往上为1)。
三、实验仪器
实验仪器PC 机一台, WinXP/Win7 操作系统;Nexy4-DDR处理器开发与应用实验平台;USB串口线。
四、实验原理
1、LED灯与拨码开关的原理图
2、内容(示例):功能程序的编写
3、内容(示例):约束文件的编写
五、主要内容
基础实验:根据实验步骤逐步进行,基本:编写单个LED闪烁的代码并下载至FPGA,观察实验现象(这里注意:由于引脚时钟是100Mhz,所以要实现1s闪烁需要计数器,否则频率太高肉眼无法观察),结果见实验结果部分图片。
拓展实验:用到的代码见实验结果部分图,在Vivado中编写verilog代码,通过控制两个拨码开关,实现16个LED的循环闪烁,其中闪烁方式至少有两种以上,闪烁的频率至少有两种。(LED端口为1亮,为0灭;拨码开关往下为0,往上为1)。
六、代码
基础部分代码:
module led1(clk,rst,le