
- •Содержание
- •Синтез синхронного конечного автомата по словесному описанию
- •Построение графа переходов и первичной таблицы переходов
- •1.Синтез асинхронного конечного автомата по заданной вход-выходной временной характеристике
- •Построение графа переходов и первичной таблицы переходов
- •Минимизация таблицы переходов
- •Составление таблицы покрытий
- •Нахождение минимального множества
- •Построение минимизированной таблицы переходов
- •Кодирование состояний по столбцам таблицы переходов
- •Минимизация функций алгебры логики с помощью карт Карно
- •Синтез асинхронного автомата на контактах
- •Синтез синхронного конечного автомата по словесному описанию
- •3.1 Построение графа переходов
Нахождение минимального множества
С использованием правил повторения и поглощения выражение Q приводится к виду дизъюнкции конъюнкций. Выбирается любая из минимальных конъюнкций w.
В данном случае: w= A*B*C*D*F*E*G*H.
Объединение строк первичной таблицы переходов:
w= A*B*C*D*F*E*G*H={1};{2,6};{3,4};{5,8,9};{6,11};{7,12};{10,11,12};{13,14}.
Далее исключаются повторения цифр:
w= {1};{2,6};{3,4};{5,8,9};{7};{10,11,12};{13,14}.
Строится таблица, с учетом объединения строк(табл.3)
Табл.3 Минимизированная таблица переходов
S |
X1X2 |
|||
00 |
01 |
10 |
11 |
|
{1} |
(1),00 |
2,01 |
10,10 |
6,10 |
{2,6} |
3,11 |
(2),01 |
7,10 |
(6),10 |
{3,4} |
(3),11 |
(4),00 |
~ |
5,10 |
{5,8,9} |
1,00 |
(8),11 |
(9),01 |
(5),10 |
{7} |
~ |
8,11 |
(7),10 |
~ |
{10,11,12} |
(12),01 |
(11),01 |
(10),10 |
13,11 |
{13,14} |
1,00 |
~ |
(14),01 |
(13),11 |
Построение минимизированной таблицы переходов
Производится перенумерация строк. Она заключается в присвоении каждой строке таблицы порядкового номера. Затем, цифры состоящие внутри клеток таблицы заменяются цифрами, присвоенными тем подмножествам, в которые состояния входят.
Получаем минимизированную таблицу переходов(ТП)(табл.4).
Табл.4 Таблицы переходов после перенумерации
S |
X1X2 |
|||
00 |
01 |
10 |
11 |
|
1 |
(1),00 |
2,01 |
6,10 |
2,10 |
2 |
(2),11 |
(2),01 |
5,10 |
(2),10 |
3 |
2,11 |
(3),00 |
~ |
4,10 |
4 |
1,00 |
(4),11 |
(4),01 |
(4),10 |
5 |
~ |
4,11 |
(5),10 |
~ |
6 |
(6),01 |
(6),01 |
(6),10 |
7,11 |
7 |
1,00 |
~ |
(7),01 |
(7),11 |
Кодирование состояний по столбцам таблицы переходов
Составляется кодированная таблица переходов и выходов. В качестве исходной берется (табл.4), в которой состояния автомата S подбираются так, чтобы получилось минимальное число критических состязаний.
В качестве примера возьмем первую строку из табл.4, в ней находятся состояния 1,2,6. Этим состояниям мы приписываем произвольные числа двоичной системы. Кодируем 4мя цифрами, так как, если будем это делать 3мя, то будет слишком большое количество критических состязаний.
Итак, присваиваем состоянию 1 число двоичной системы 0000, тогда состояние 2 – 0001 и состояние 6 – 0010.
Аналогично поступаем с оставшимися строчками таблицы.
Итого, получаем:
1 – 0000; 2 – 0001; 3 – 0101; 4 – 1001; 5 – 0011; 6 – 0010; 7 – 0100.
Составляем таблицу, заменяя состояния табл.4 на кодированные в двоичной системе.
Табл.5 Кодированная таблица переходов
S |
X1X2 |
|||||
00 |
01 |
10 |
11 |
|||
0 |
0000 |
1 |
(0000) |
0001 |
0010 |
0001 |
1 |
0001 |
2 |
(0001) |
(0001) |
0011 |
(0001) |
5 |
0101 |
3 |
0001 |
(0101) |
~ |
1001* |
9 |
1001 |
4 |
0000* |
(1001) |
(1001) |
(1001) |
3 |
0011 |
5 |
~ |
1001* |
(0011) |
~ |
2 |
0010 |
6 |
(0010) |
(0010) |
(0010) |
0100* |
4 |
0100 |
7 |
0000 |
~ |
(0100) |
(0100) |
Табл.5 содержит в себе 4 критических состязания (отмечены *), которые необходимо исключить.
1)Из состояния 1001 нужно перейти в состояние 0000.
Это можно сделать через состояния 1000 и 0001, но в строке 0001 у нас стоит устойчивое состояние, итого выбираем 1000.
2)Из 0011 в 1001
Можно через 0001 и 1011, выбираем 1011.
3)Из 0101 в 1001
Можно через 0001 и 1101, выбираем 1101.
4)Из 0010 в 0100
Можно через 0000 и 0110, выбираем 0110.
Таким образом, исключили все критические состязания, но те состояния, которые мы выбрали для перехода не присутствуют в данной таблице(табл.5), поэтому добавляем их ниже.
Табл.6 Таблица с исключенными критическими состязаниями
S |
X1X2 |
|||||
00 |
01 |
10 |
11 |
|||
0 |
0000 |
1 |
(0000) |
0001 |
0010 |
0001 |
1 |
0001 |
2 |
(0001) |
(0001) |
0011 |
(0001) |
5 |
0101 |
3 |
0001 |
(0101) |
~ |
1101 |
9 |
1001 |
4 |
1000 |
(1001) |
(1001) |
(1001) |
3 |
0011 |
5 |
~ |
1011 |
(0011) |
~ |
2 |
0010 |
6 |
(0010) |
(0010) |
(0010) |
0110 |
|
0100 |
7 |
0000 |
~ |
(0100) |
(0100) |
8 |
1000 |
8 |
0000 |
~ |
~ |
~ |
11 |
1011 |
9 |
~ |
1001 |
~ |
~ |
13 |
1101 |
10 |
~ |
~ |
~ |
1001 |
6 |
0110 |
11 |
~ |
~ |
~ |
0100 |
Составим таблицу выходов(ТВ)(табл.7)
Табл.7 Таблица выходов
S |
X1X2 |
|||||
00 |
01 |
10 |
11 |
|||
0 |
0000 |
1 |
00 |
01 |
10 |
10 |
1 |
0001 |
2 |
11 |
01 |
10 |
10 |
5 |
0101 |
3 |
11 |
00 |
~ |
~ |
9 |
1001 |
4 |
~ |
11 |
01 |
10 |
3 |
0011 |
5 |
~ |
~ |
10 |
~ |
2 |
0010 |
6 |
01 |
01 |
10 |
~ |
4 |
0100 |
7 |
00 |
~ |
01 |
11 |
8 |
1000 |
8 |
00 |
~ |
~ |
~ |
11 |
1011 |
9 |
~ |
11 |
~ |
~ |
13 |
1101 |
10 |
~ |
~ |
~ |
10 |
6 |
0110 |
11 |
~ |
~ |
~ |
11 |