Рассмотрим VHDL-модель для автомата Мили, граф и общий вид которого представлены на рис. 5.23.
Рисунок 5.23 – Граф переходов автомата Мили
Листинг5.1 – VHDL-модель управляющего автомата Мили
-- Подключение библиотеки ieee.
library IEEE;
use IEEE.std_logic_1164.all;
-- Описание интерфейса устройства
entity FSM is
port (Clk: in STD_LOGIC;
Reset: in STD_LOGIC;
A,St: in STD_LOGIC;
Sh, Su: out STD_LOGIC);
end;
-- Описание архитектуры устройства
architecture FSM of FSM is
type State_type is (S0, S1, S2);
signal State, NextState: State_type;
begin
-- Блок для формирования последовательностной части
Sreg0_CurrentState: process (Clk, Reset)
begin
if Reset='1' then
State <= S0;
elsif Clk'event and Clk = '1' then
State <= NextState;
end if;
end process;
-- Блок для формирования комбинационной части
-- Описание по условиям переходов состояний и выходных сигналов
Sreg0_NextState: process (State, A, St)
begin
Su<='0';
Sh<='0';
case State is
when S0=> if St='1' then NextState <= S0;
else NextState <= S1;
end if;
when S1=> if A='1' then NextState <= S2; Sh<='1';
else NextState <= S2; Su<='1';
end if;
when S2=> NextState <= S0;
when others => NextState <= S0;
end case;
end process;
end;