如何基于设计Verilog FPGA 流水灯?
扫描二维码
随时随地手机看文章
1 功能概述
流水广告灯主要应用于LED灯光控制。通过程序控制LED的亮和灭, 多个LED灯组成一个阵列,依次逐个点亮的时候像流水一样,所以叫流水灯。由于其形成美观大方的视觉效果,因此广泛应用于店铺招牌、广告、大型建筑夜间装饰、景观装饰等。
在FPGA电路设计中,尽管流水灯的设计属于比较简单的入门级应用,但是其运用到的方法,是FPGA设计中最核心和最常用部分之一,是FPGA设计必须牢固掌握的基础知识。从这一步开始,形成良好的设计习惯,写出整洁简洁的代码,对于FPGA设计师来说至关重要。
在本案例中,使用常用的verilog语言完成该程序,设计并控制8个灯的花式或循环点亮。具体功能要求如下:
上电后,实现左移和右移交替的流水灯。
右移流水灯:八个灯最左边第一个灯灭,其他灯亮;隔1s后,第二个灯灭,其他灯亮;隔1s后,第三个灯灭,其他灯亮;如此类推,直到第八个灯灭1s后进行左移流水灯操作。
左移流水灯:八个灯最右边第一个灯灭,其他灯亮;隔1s后第二个灯灭,其他灯亮;再隔1s后,第三个灯灭,其他灯亮;如此类推,直到第八个灯灭1s后进行右移流水灯操作。
2 设计思路
按照项目的功能要求,我们用8比特的LED信号表示8个灯,led[0]~led[7]分别代表第1个至第8个灯,值为0时亮,0时亮。下面我们来看看硬件电路图以及制定出项目所需的信号列表。
图1 流水灯硬件电路
信号列表: