已看第五章VHDL有限状态机设计.pptx
文本预览下载声明
VHDL有限状态机设计;内容;1 有限状态机的基本概念;1 有限状态机的基本概念;1 有限状态机的基本概念;1 有限状态机的基本概念;1 有限状态机的基本概念;1 有限状态机的基本概念;1 有限状态机的基本概念;1 有限状态机的基本概念;1 有限状态机的基本概念;1 有限状态机的基本概念;1 有限状态机的基本概念;1 有限状态机的基本概念;1 有限状态机的基本概念;1 有限状态机的基本概念;1 有限状态机的基本概念;1 有限状态机的基本概念;1 有限状态机的基本概念;1 有限状态机的基本概念;1 有限状态机的基本概念;1 有限状态机的基本概念;1 有限状态机的基本概念;1 有限状态机的基本概念;1 有限状态机的基本概念;1 有限状态机的基本概念;1 有限状态机的基本概念;2 状态机的基本描述方式;2 状态机的基本描述方式;2 状态机的基本描述方式;2 状态机的基本描述方式;2 状态机的基本描述方式;ENTITY smtest IS
PORT(
a : IN std_logic;
b : IN std_logic;
clk : IN std_logic;
rst : IN std_logic;
x : OUT std_logic;
y : OUT std_logic
);
-- Declarations
END smtest ;
LIBRARY ieee;
USE ieee.std_logic_1164.all;
USE ieee.std_logic_arith.all;
ARCHITECTURE fsm OF smtest IS
TYPE STATE_TYPE IS (
s0,
s1,
s2
);
-- Declare current and next state signals
SIGNAL current_state : STATE_TYPE;
SIGNAL next_state : STATE_TYPE;
BEGIN
-----------------------------------------------------------------
clocked_proc : PROCESS (
clk,
rst
)
-----------------------------------------------------------------
BEGIN
IF (rst = 0) THEN
current_state = s0;
ELSIF (clkEVENT AND clk = 1) THEN
current_state = next_state;
END IF;
END PROCESS clocked_proc;
-----------------------------------------------------------------
nextstate_proc : PROCESS (
a, b, current_state )
--------------------------------------------------------------
BEGIN
CASE current_state IS
WHEN s0 =
IF (b=1) THEN
next_state = s2;
ELSIF (a=1) THEN
next_state = s1;
ELSE
next_state = s0;
END IF;
WHEN s1 =
IF (a=1) THEN
next_state = s2;
ELSIF (b=1) THEN
next_state = s0;
ELSE
next_state = s1;
END IF;
WHEN s2 =
next
显示全部