基于VHDL流水灯的设计
电子信息科学与技术刘敏何磊成江波
一、设计内容
流水灯是一串按一定的规律像流水一样连续闪亮流水灯控制是可编程控制器的一个应用其控制思想在工业控制技术领域也同样适用。流水灯控制可用多种方法实现但对现代可编程控制器而言基于EDA技术的流水灯设计也是很普遍的。要求采用可编程逻辑器件实现一个流水灯控制电路12个LED灯能连续发出4种不同的流水显示形式。彩灯控制器的第1种花样为彩灯按顺时针方向逐次点亮第2种花样为彩灯按逆时针方向逐次点亮然后全灭全亮第3种花样为彩灯两边同时亮1、2、3、4、5、6个逐次向中间移动再散开第4种花样为彩灯连续交叉闪烁。多个花样自动变换循环往复。
二、设计方案
彩灯是由FPGA板上的LED灯代替有以下4种闪烁效果
1彩灯按顺时针方向逐次点亮。
2彩灯按逆时针方向逐次点亮然后全灭全亮。
3彩灯两边同时亮1、2、3、4、5、6个逐次向中间移动再散开。
4彩灯连续交叉闪烁。
本控制电路采用VHDL语言设计。运用自顶而下的设计思想按功能逐层分割实现层次化设计。根据多路彩灯控制器的设计原理分别对应彩灯的四种变化模式、利用VHDL语言实现该功能
三、系统框图
f四、流水灯设计程序
libraryIEEE
useIEEESTD_LOGIC_1164all
useIEEESTD_LOGIC_u
sig
edall
e
tityled1is
port
sysclki
std_logic
doutoutstd_logic_vector11dow
to0
e
dled1
architecturejgtofled1is
sig
alc
tstd_logic_vector7dow
to0
variablecou
ti
tegerRANGE0TO7
sig
alcou
tstd_logic_vector5DOWNTO0
begi
processsysclk
begi
ifsysclkeve
ta
dsysclk1the
c
tc
t1
ifc
t