logo
Ответы на вопросы экз

48. Vhdl-модель управляющего автомата Мура

Рассмотрим VHDL-модель для автомата Мура, граф и общий вид которого представлены на рис. 5.25.

Рисунок 5.25 – Граф переходов автомата Мура

Листинг5.2 – VHDL-модель управляющего автомата Мура

-- Подключение библиотеки ieee.

library IEEE;

use IEEE.std_logic_1164.all;

-- Описание интерфейса устройства

entity FSM is

port ( Clk: in STD_LOGIC;

Reset: in STD_LOGIC;

N: in STD_LOGIC;

Sh, L: out STD_LOGIC);

end;

-- Описание архитектуры устройства

architecture FSM of FSM is

type State_type is (S0, S1, S2, S3);

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, N)

begin

case State is

when S0=> if N='1' then NextState <= S1;

else

NextState <= S0;

end if;

when S1=> NextState <= S2;

when S2=> NextState <= S3;

when S3=> if N='1' then

NextState <= S1;

else

NextState <= S0;

end if;

when others => NextState <= S0;

end case;

end process;

-- Описание выходных сигналов

Sh<='1' when State=S2 or State=S3 else

'0';

L<='1' when State=S1 or State=S3 else

'0';

end;

Рисунок 5.26 – Временные диаграммы работы автомата Мура