实验教程:LED 流水灯 ——紫光盘古系列高性能入门级2K开发板 - FPGA开发者技术社区 - 电子技术论坛 - 广受欢迎的专业电子论坛
分享 收藏 返回

Mill 关注 私信
[文章]

实验教程:LED 流水灯 ——紫光盘古系列高性能入门级2K开发板

一、实验目的

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

二、实验要求

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

三、实验原理

相比上一个 LED 闪烁的实现,只需要改变 LED 的状态。将 8 个 LED 灯流水式的点亮;在 C 语言中做流水灯的实验需要用到一个中间变量(代码如下左侧,数据位的搬移如下右图):
image.png

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

image.png

四、实验源码设计(完整源码查看 demo 源文件)

Module 的具体内容如下:
image.png

image.png

五、实验步骤

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

六、实验现象

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

更多回帖

×
发帖