Материал: 4183

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

BEGIN

CASE present_st IS WHEN state1 => IF input_signal = '1'

THEN next_st <= state1; ELSE next_st <= state2; END IF;

WHEN state2 => IF input_signal = '1'

THEN next_st <= state2; ELSE next_st <= state3; END IF;

...

END CASE; END PROCESS;

Можно (но нередко это оказывается громоздким) записать логику работы в стиле WHEN-ELSE:

output <= "000" WHEN present_st = state1 ELSE "001" WHEN present_st = state2 ELSE

...

"100" WHEN present_st = state5;

Задания на работу: разработать в виде конечного автомата схему, реагирующую выдачей «1» на выходе на появление на входе заданной последовательности. Следует указать, используется автомат Мили или Мура.

Варианты заданий

Но

Последовательность

мер

 

вар

 

ианта

 

 

 

1

00110101

 

 

2

00110100

 

 

3

00110110

 

 

4

00110111

 

 

5

00111000

 

 

6

00111001

 

 

7

00111010

 

 

8

00111011

 

 

6

9

00111100

 

 

10

00111101

 

 

11

00111110

 

 

12

00111100

 

 

13

00111101

 

 

14

10111100

 

 

15

01011100

 

 

16

10101100

 

 

17

10111101

 

 

18

10110101

 

 

19

11001100

 

 

20

11001000

 

 

21

11001001

 

 

22

11101001

 

 

23

10101001

 

 

24

10111001

 

 

25

10101101

 

 

26

11101011

 

 

27

10101111

 

 

28

10001001

 

 

29

10101011

 

 

30

10101101

 

 

31

11101011

 

 

32

10101011

 

 

 

 

7

Лабораторная работа 2 Тривиальное кодирование состояний, переход к комбинационной схеме и памяти последовательностного автомата

Цель занятия – научится строить схему последовательностного автомата на D - триггерах.

Пусть нам задан некоторый последовательностный автомат с тремя состояниями.

Рисунок 1 - Исходное задание автомата.

Заметим, что выходные функции y1 и y2 принимают различные комбинации значений для разных состояний. Проведем кодирование состояний, обеспечивающее простоту схемной реализации функций y1 и y2.

к=]log2(3)[=2.

Действительно

Рисунок 2 - Матрица размещения состояний и выходные функции.

Строим кодированную таблицу переходов и выходов.

1z2

0 1

8

 

1

1

 

 

2

0

 

 

x

0

 

x

2

1

0

Рисунок 3 - Кодированная таблица переходов и выходов автомата

Получаем систему двух булевых функций.

Рисунок 4 - Система функций переходов автомата.

z1 = ⌐z1x1Vz2 ⌐x1х2Vz1⌐х1 ⌐x2V⌐z2x1 z2= z2⌐x1⌐x2V⌐z1⌐x1V z1x1V⌐z2x2 y1= z1

y2= z2

Эта система булевых функций определяет логику работы последовательностного автомата. Кроме логики алгоритм работы автомата определяется памятью.

9

Рисунок 5 - Представление схемы автомата в виде комбинационной схемы и памяти.

Рисунок 6 - Представление памяти в виде схемы установки в начальное состояние и собственно памяти

Собственно память автомата реализуем двойным рядом D-триггеров. Один ряд триггеров принимает от комбинационной схемы следующее состояние автомата, другой – сохраняет настоящее. Кроме этого необходимо построить схему установки автомата в начальное состояние. Итого, схема автомата с памятью будет выглядеть следующим образом:

10