【紫光同创国产FPGA教程】【PGC1/2KG第二章】LED流水灯实验例程

本原创教程由深圳市小眼睛科技有限公司创作,版权归本公司所有,如需转载,需授权并注明出处

适用于板卡型号:

紫光同创PGC1/2KG开发平台(盘古1K/2K)

一:盘古1K/2K开发板(紫光同创PGC2KG开发平台)简介

盘古1/2K 开发板是一套基于紫光 FPGA 的开发套件,以紫光 Compa 系列PGC1KG-LPG100 / PGC2KG-LPG100 器件为核心,预留丰富的扩展 IO 及数码管、按键、LED 灯,为用户提供基本的硬件环境。

二:实验目的

掌握流水灯原理并实现流水灯

三:实验要求

流水灯:8个LED以0.5s间隔接替闪烁

四:实验原理

相比上一个LED闪烁的实现,只需要改变LED的状态。将8个LED灯流水式的点亮;

在C语言中做流水灯的实验需要用到一个中间变量(代码如下左侧,数据位的搬移如下右图):

【紫光同创国产FPGA教程】【PGC1/2KG第二章】LED流水灯实验例程_第1张图片

在FPGA的开发中是基于硬件,语言也是硬件描述语言,verilog的处理单位就是1bit;8bit的位宽数据可看作8个独立的信号线,这8个信号线之间的排序及相互之间的赋值可以随意组合;代码如下: 

【紫光同创国产FPGA教程】【PGC1/2KG第二章】LED流水灯实验例程_第2张图片

 

五:实验源码设计(完整源码查看demo源文件)

Module的具体内容如下:

【紫光同创国产FPGA教程】【PGC1/2KG第二章】LED流水灯实验例程_第3张图片

【紫光同创国产FPGA教程】【PGC1/2KG第二章】LED流水灯实验例程_第4张图片

 

六:实验步骤

工程创建及编译流程与前面Led闪烁实验一致,在添加文件的步骤,添加本实验的water_led的verilog文件即可,管脚分配如下:

【紫光同创国产FPGA教程】【PGC1/2KG第二章】LED流水灯实验例程_第5张图片


 

七:实验现象 

8个led依次被点亮,后一个灯被点亮时前一个灯熄灭,依次往返,让亮起来的led灯像是在8个led灯上流动起来一样,故而此实验称之为流水灯。

【紫光同创国产FPGA教程】【PGC1/2KG第二章】LED流水灯实验例程_第6张图片

 

你可能感兴趣的:(fpga开发)