Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
_Метод КСТ-1.docx
Скачиваний:
3
Добавлен:
15.11.2019
Размер:
550.8 Кб
Скачать

Кодирование λ-классов

x=0

x=1

λ-класс

S

y1y2

λ-класс

S

y3y4

λ1

(1)

00

λ5

1

00

λ2

2

01

4

00

(3)

01

(7)

00

λ3

(4)

10

λ6

(2)

01

5

10

6

01

λ4

(6)

11

λ7

3

10

7

11

(5)

10

Шаг 3. Кодирование исходной таблицы переходов.

Используя табл. 2 кодируется исходная таблица переходов. Для осуществления кодирования в соответствующие клетки таблицы переходов проставляется код λ-класса, которому принадлежит рассматриваемое состояния.

Таблица 3

Кодирование строк таблицы переходов

S

x=0

x=1

y1y2

y3y4

1

00

00

2

01

01

3

01

10

4

10

00

5

10

10

6

11

01

7

11

00

Шаг 4. Составление кодированной таблицы переходов.

Таблицу условно можно разделить на две части – содержащую переходы внутри основных состояний (они соответствуют исходной таблице переходов) и содержащую неосновные состояния (рис. 1). Таким образом, первые семь строк кодированной таблицы переходов соответствуют табл. 1, где десятичные номера состояний заменены на их коды из табл. 3.

Таблица 4

Кодированная таблица переходов

Разделяющие

переменные

y1y2

y3y4

S

y1y2y3y4

x=0

x=1

1

0000

(0000)

1100

2

0101

0110

(0101)

3

0110

(0110)

1010

4

1000

(1000)

1100

5

1010

1000

(1010)

6

1101

(1101)

0101

7

1100

1101

(1100)

8

0001

0000

0101

9

0010

0000

1010

10

0011

0000

0011

11

0100

0110

1100

12

0111

0110

0011

13

1001

1000

0101

14

1011

1000

0011

15

1110

1101

1010

16

1111

1101

0011

В табл. 4 состояния 1 – 7 основные, а состояния 8-16 – неосновные. Для заполнения первых семи строк таблицы (основных состояний) применяется следующее правило.

Правило получения основных состояний. Если в клетке таблицы переходов (см. табл. 1) на пересечении строки, соответствующей основному состоянию Si и столбца x проставлено некоторое состояния Sj, то в нее заносится код состояния Sj (i,j –индексы основных состояний) из табл. 3.

Например, в клетке (0, 0000) должен быть проставлен код состояния 1 – 0000; в клетке (1, 1101) – код состояния 2 – 0101, и т.д.

Неосновные состояния доопределяются с учетом обеспечения свойства 4. Решим данную задачу на примере. Пусть задан переход в столбце x=1 из состояния 3 в состояние 5 (01101010). Он может произойти двумя путями (рис. 2). При этом разделяющие переменные не меняют своих значений (y3y4=10). В клетках неосновных состояний (1, 0010) и (1, 1110) проставляется код устойчивого состояния 5 – 1010, у которого значения разделяющих переменных совпадают с их значениями в кодах неосновных состояний.

Рис. 2. Возможные переходы из состояния 1 в состояние 7

Процесс определения значения клетки (x, Si), соответствующей неосновному состоянию, зависит от значений разделяющих переменных в коде строки Si. В столбце x=0 разделяющими являются переменные y1y2, а в столбце x=1 – переменные y3y4.

Правило 1. Если в коде строки Si значения разделяющих переменных по столбцу x совпадают с их значением в коде одного из устойчивых состояний этого столбца, то в клетке (x, Si) записывается код этого устойчивого состояния.

Правило 2. В оставшихся клетках (x, Si) проставляется произвольный код, т.к. в данные состояния асинхронный автомат никогда не попадает; будем записывать код, у которого разделяющие переменные имеют то же значение, что и в коде строки Si, а остальные переменные раны нулю.

К примеру, в клетке (1, 14) проставляется значение 0011.

Выполнение правил 1 и 2 позволяет обеспечить свойство 4 и максимально упростить схемы асинхронного автомата.

Шаг 5. Получение функций включения внутренних элементов памяти.

Следующим этапом синтеза асинхронного автомата является получение функций включения внутренних элементов. Для этого воспользуемся матричным представлением функций Y1, Y2, Y3, Y4 в виде карт Карно (рис. 3). Карты Карно составляются для каждого из столбцов x=0 и x=1: карты, записанные в левой части рис. 3, соответствуют первому, второму, третьему и четвертому столбцам переменных Y1, Y2, Y3, Y4 при x=0; карты, записанные в правой части рис. 3 – первому, второму, третьему и четвертому столбцам переменных Y1, Y2, Y3, Y4 при x=1.

Рис. 3. Минимизация функций включения внутренних элементов памяти

Поясним принцип расстановки единиц в карты Карно на примере переменной Y1. В карте Карно проставляются единицы в клетках, соответствующих разрешенным наборам функции Y1 – наборам, на которых Y1=1. Для чего выбираются наборы <y1y2y3y4>, соответственно которым в первом столбце при x=0 и при x=1 проставлены единицы. Для Y1 при x=0 – это наборы 1000, 1010, 1101, 1100, 1001, 1011, 1110, 1111; при x=1 – 0000, 0110, 1000, 1010, 1100, 0010, 0100, 1110.

По аналогии поступают со всеми остальными внутренними переменными.

Проводя минимизацию [2] функций включения внутренних элементов, получаем следующие выражения:

Шаг 6. Получение и минимизация выходной функции.

Для определения выходной функции в исходной таблице переходов (табл. 1) выбираются все клетки, соответствующие устойчивым состояниями, значения выхода в которых z=1. Выписывается дизъюнктивная нормальная форма [1] из значений разделяющих переменных, которыми закодировано данное устойчивое состояние. Проводя вычисления по столбцам таблицы переходов, получаем:

Шаг 7. Синтез схемы асинхронного автомата на контактах.

По полученным на шаге 5 функциям включения внутренних элементов памяти Y1 – Y4, а также выходной функции z строится релейно-контактная схема асинхронного автомата (рис. 4).

Рис. 4. Схема асинхронного автомата на контактах