Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы на вопросы экз. билетов ПТЦА. Кулак Эльвира Николаевна.doc
Скачиваний:
104
Добавлен:
28.10.2018
Размер:
7.04 Mб
Скачать

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

Рассмотрим 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;

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

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 – Временные диаграммы работы автомата Мура