Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

shpora2010oct17_2011

.pdf
Скачиваний:
48
Добавлен:
12.02.2016
Размер:
4.09 Mб
Скачать

Рис. 5.59 Функціональна схема автомата Мура з двійковим кодуванням станів Примітка 1. Часова діаграма роботи автомата Мура з двійковим кодуванням

станів.

Рис. 5.60 Часова діаграма роботи автомата Мура з двійковим кодуванням станів Примітка 2. VHDL-опис автомата Мура з двійковим кодуванням станів (назва

цього автомата – fsm1).

library IEEE;

use IEEE.std_logic_1164.all; use IEEE.std_logic_arith.all; use IEEE.std_logic_unsigned.all; entity fsm1 is

port (

c: in STD_LOGIC;

x:in STD_LOGIC;

y:out STD_LOGIC);

end fsm1;

architecture fsm1_arch of fsm1 is attribute enum_encoding: string; type State_type is ( a0, a1, a2, a3);

attribute enum_encoding of State_type: type is

"00 " &

-- a0

"01 " &

-- a1

"10 " &

-- a2

"11" ;

-- a3

signal State: State_type;

41

attribute state_vector: string;

attribute state_vector of fsm1_arch: architecture is "State"; begin

State_machine: process (c) begin

if rising_edge(c) then case State is

when a0 =>

if x='1' then

State <= a0; elsif x='0' then

State <= a1;

end if; when a1 =>

State <= a2; when a2 =>

State <= a3; when a3 =>

State <= a0; when others =>

null;

end case;

end if; end process; y_assignment:

y <= '1' when (State = a0) else '1' when (State = a1) else '0';

end fsm1_arch;

5.3 Автомат Мура на елементах базису Буля і D-тригерах, що спрацьовують по фронту (сусіднє кодування станів)

Намалювати граф, таблиці переходів та виходів, написати скорочені ДНФ функцій переходів та виходів, та намалювати схему автомата Мура на основі елементів базису Буля і D-тригерів. Коди станів автомата у контурі станів 0, 1, 2, 3 -

двійкові. Якщо немає сигналу X, автомат послідовно проходить стани 0, 1, 2, 3, 0,

..., а при появі сигналу X послідовність переходів змінюється: автомат переходить із стану 2 до стану 0 (при цьому послідовність зміни інших станів не змінюється).

Вихідний сигнал Y формується у станах 1 та 3.

Відповідь:

42

ai /Q1Q0/

Рис. 5.61 Граф автомата Мура із сусіднім кодуванням станів та позначки у вершинах графа

Рис. 5.62 Структурна схема автомата Мура Таблиця 5.18 - Таблиця переходів автомата Мура із сусіднім кодуванням станів

43

Таблиця 5.19 - Таблиця виходів автомата Мура із сусіднім кодуванням станів

 

 

 

 

 

 

 

Попередній стан

 

 

Вихідні

 

 

 

 

 

автомата

 

 

сигнали

 

 

Позначення

Код

автомата

 

 

 

 

 

 

 

 

ai

Q1

 

Q0

 

y

 

 

0

 

 

 

a0

0

 

 

 

0

0

 

 

 

1

 

 

 

a1

0

 

 

 

1-

1

 

 

 

2

 

 

 

a3

1

 

 

 

1

 

 

 

 

 

 

 

 

 

0

 

 

 

3

 

 

 

a2

1

 

 

 

1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D1 Q0

x

Q1Q0

D0 Q1

y Q1Q0 Q1Q0

Рис. 5.63 Карти Карно та ДНФ для автомата Мура із сусіднім кодуванням станів

Рис. 5.64 Функціональна схема автомата Мура із сусіднім кодуванням станів Примітка 1. Часова діаграма роботи автомата Мура із сусіднім кодуванням

станів.

Рис. 5.65 Часова діаграма роботи автомата Мура із сусіднім кодуванням станів Примітка 2. VHDL-опис автомата Мура із сусіднім кодуванням станів (назва

цього автомата – fsm2).

44

library IEEE;

use IEEE.std_logic_1164.all; use IEEE.std_logic_arith.all; use IEEE.std_logic_unsigned.all; entity fsm2 is

port (

c: in STD_LOGIC;

x:in STD_LOGIC;

y:out STD_LOGIC);

end fsm2;

architecture fsm2_arch of fsm2 is attribute enum_encoding: string; type State_type is ( a0, a1, a2, a3);

attribute enum_encoding of State_type: type is

"00 " &

-- a0

"01 " &

-- a1

"11 " &

-- a2

"10" ;

-- a3

signal State: State_type; attribute state_vector: string;

attribute state_vector of fsm2_arch: architecture is "State"; begin

State_machine: process (c) begin

if rising_edge(c) then case State is

when a0 =>

State <= a1; when a1 =>

State <= a2; when a2 =>

if x='1' then

State <= a0; elsif x='0' then

State <= a3;

end if; when a3 =>

State <= a0; when others =>

null;

end case;

end if; end process; y_assignment:

y <= '1' when (State = a1) else '1' when (State = a3) else '0';

end fsm2_arch;

45

5.4 Автомат Мура на елементах монобазису І-НЕ і D-тригерах, що спрацьовують по фронту (сусіднє кодування станів)

Намалювати граф, таблиці переходів та виходів, написати скорочені ДНФ функцій переходів та виходів, та намалювати схему автомата Мура на основі елементів монобазису І-НЕ і D-тригерів. Коди станів автомата у контурі станів 0, 1, 2, 3 - двійкові. Якщо немає сигналу X, автомат послідовно проходить стани 0, 1, 2, 3, 0, ..., а при появі сигналу X послідовність переходів змінюється: автомат переходить із стану 2 до стану 0 (при цьому послідовність зміни інших станів не змінюється). Вихідний сигнал Y формується у станах 1 та 3.

Відповідь:

ai /Q1Q0/

Рис. 5.66 Граф автомата Мура із сусіднім кодуванням станів та позначки у вершинах графа

Рис. 5.67 Структурна схема автомата Мура

46

Таблиця 5.20 - Таблиця переходів автомата Мура із сусіднім кодуванням станів

Таблиця 5.21 - Таблиця виходів автомата Мура із сусіднім кодуванням станів

 

 

 

 

 

 

 

Попередній стан

 

 

Вихідні

 

 

 

 

 

автомата

 

 

сигнали

 

 

Позначення

Код

автомата

 

 

 

 

 

 

 

 

ai

Q1

 

Q0

 

y

 

 

0

 

 

 

a0

0

 

 

 

0

0

 

 

 

1

 

 

 

a1

0

 

 

 

1-

1

 

 

 

2

 

 

 

a3

1

 

 

 

1

 

 

 

 

 

 

 

 

 

0

 

 

 

3

 

 

 

a2

1

 

 

 

1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D1 Q0

x

Q1Q0

D0 Q1

y Q1Q0 Q1Q0

Рис. 5.68 Карти Карно та ДНФ для автомата Мура із сусіднім кодуванням станів

47

Рис. 5.69 Функціональна схема автомата Мура із сусіднім кодуванням станів Примітка 1. Часова діаграма роботи автомата Мура із сусіднім кодуванням

станів.

Рис. 5.70 Часова діаграма роботи автомата Мура із сусіднім кодуванням станів Примітка 2. VHDL-опис автомата Мура із сусіднім кодуванням станів (назва

цього автомата – fsm2).

library IEEE;

use IEEE.std_logic_1164.all; use IEEE.std_logic_arith.all; use IEEE.std_logic_unsigned.all; entity fsm2 is

port (

c: in STD_LOGIC;

x:in STD_LOGIC;

y:out STD_LOGIC);

end fsm2;

architecture fsm2_arch of fsm2 is attribute enum_encoding: string; type State_type is ( a0, a1, a2, a3);

attribute enum_encoding of State_type: type is

"00 " &

-- a0

"01 " &

-- a1

"11 " &

-- a2

"10" ;

-- a3

signal State: State_type; attribute state_vector: string;

48

attribute state_vector of fsm2_arch: architecture is "State"; begin

State_machine: process (c) begin

if rising_edge(c) then case State is

when a0 =>

State <= a1; when a1 =>

State <= a2; when a2 =>

if x='1' then

State <= a0; elsif x='0' then

State <= a3;

end if; when a3 =>

State <= a0; when others =>

null;

end case;

end if; end process; y_assignment:

y <= '1' when (State = a1) else '1' when (State = a3) else '0';

end fsm2_arch;

5.5 Автомат Мура на елементах базису Буля і D-тригерах, що спрацьовують по фронту (унітарне кодування станів)

Намалювати граф, таблиці переходів та виходів, написати скорочені ДНФ функцій переходів та виходів, та намалювати схему автомата Мура на основі елементів базису Буля і D-тригерів. Коди станів автомата у контурі станів 0, 1, 2, 3 -

унітарні. Якщо немає сигналу X, автомат послідовно проходить стани 0, 1, 2, 3, 0, ...,

а при появі сигналу X послідовність переходів змінюється: автомат переходить із стану 2 до стану 0 (при цьому послідовність зміни інших станів не змінюється).

Вихідний сигнал Y формується у станах 1 та 3.

Відповідь:

49

Рис. 5.71 Граф автомата Мура із унітарним кодуванням станів та позначки у вершинах графа

Рис. 5.72 Структурна схема автомата Мура Таблиця 5.22 - Таблиця переходів автомата Мура із унітарним кодуванням станів

50

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]