EDA大作业
流水灯设计
基于Quartus II的花样流水灯的设计
流水灯是一串按一定的规律像流水一样连续闪亮,流水灯控制是可编程控制器的一个应用,其控制思想在工业控制技术领域也同样适用。流水灯控制可用多种方法实现,但对现代可编程控制器而言,基于EDA技术的流水灯设计也是很普遍的。
II,电路描述,综合,模拟过程
c. 掌握使用EDA工具设计流水灯的设计思路和设计方法
II对实验程序进行改错,调试以及演示现象
2. 设计说明
流水灯设计是由八只LED显示灯来实现的,通过程序代码来控制这八只灯的亮灭,从而实现花型的变化(快慢,顺序)。
3.程序设计
library IEEE;
use ;
use ;
use ;
ENTITY first IS
PORT (
clk : IN std_logic;
rst : IN std_logic;
c : OUT std_logic_vector(7 DOWNTO 0)
);
END first;
ARCHITECTURE arch OF first IS
CONSTANT state0 : std_logic_vector(2 DOWNTO 0) := "000";
CONSTANT state1 : std_logic_vector(2 DOWNTO 0) := "001";
CONSTANT state2 : std_logic_vector(2 DOWNTO 0) := "010";
CONSTANT state3 : std_logic_vector(2 DOWNTO 0) := "011";
CONSTANT state4 : std_logic_vector(2 DOWNTO 0) := "100";
CONSTANT state5 : std_logic_vector(2 DOWNTO 0) := "101";
CONSTANT state6 : std_logic_vector(2 DOWNTO 0) := "110";
CONSTANT state7 : std_logic_vector(2 DOWNTO 0) := "111";
SIGNAL state : std_logic_vector(2 DOWNTO 0);
SIGNAL cnt : std_logic_vector(2 DOWNTO 0);
BEGIN
PROCESS(clk,rst)
BEGIN
IF (NOT rst = '1') THEN
state <= state0;
cnt <= "000";
ELSIF(clk'EVENT AND clk='1')THEN
cnt <= cnt + "001";
IF (cnt = "111") THEN
CASE state IS
WHEN state0 =>
state <= state1;
WHEN state1 =>
state <= state2;
WHEN state2 =>
state <= state3;
WHEN state3 =>
state <= state4;
WHEN state4 =>
state <= s
EDA花样流水灯 来自淘豆网m.daumloan.com转载请标明出处.