Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по теории автоматов.doc
Скачиваний:
105
Добавлен:
01.05.2014
Размер:
3.35 Mб
Скачать

Множество входных значений.

U0= {11 , 00}

U1= {ZZ}

U3= {0Z}

U4= {01}

Далее удаляем несуществующие входные сигналы из таблицы переходов:

Si / XiXj

00

01

10

11

S0

S1 / 010

---

---

S1 / 010

S1

S1 / 010

S4 / 001

S3 / 011

S0 / 001

S3

S0 / 100

S0 / 100

---

---

S4

---

S0 / 100

---

---

S3 совместимо сS4

Si / XiXj

00

01

10

11

S0

S1 / 010

---

---

S1 / 010

S1

S1 / 010

S4 / 001

S3 / 011

S0 / 001

S3

S0 / 100

S0 / 100

---

---

Кодирование состояний синхронного автомата.

Кодирование состояний автомата может изменять различные параметры окончательной схемы, такие как:

  1. затраты

  2. быстродействие

  3. потребляемая мощность

  4. взаимные наводки

Существует масса вариантов кодирования состояний от Lmin=log2k

Lmax=k

где k– число состояний

L– число разрядов

Рассмотрим три известных способа кодирования, каждый из которых позволяет улучшить тот или иной параметр

1 способ – способ учитывающий соседство состояний.

2 способ – способ минимизирующий число переключений при переходах.

3 способ – универсальный способ кодирования.

Кодирование соседними кодами.

Данный способ позволяет упростить получаемую схему, при этом соседние состояния кодируются соседними кодами. Два кода называют соседними, если они различаются только в одном разряде. Соседние состояния бывают соседними первого и второго рода. Два состояния автомата называют соседями первого рода, если под воздействием одного и того же входного символа из них осуществляется переход а одно состояние. Состояния являющееся соседними второго рода, если в них осуществляется переход под воздействием одного и того же входного символов из состояний, которые являются соседями первого рода. Степень соседства для соседей первого рода это количество входных слов, под воздействием которых из состояний соседей первого рода осуществляется переход в общее состояние.

S1иS11– соседи первого рода

SiиSj– соседи второго рода (не обязательно ⌐x, главное чтобы сигнал был одинаковым)

Степень соседства S1иS11=1

Соседи первого и второго рода кодируют соседними кодами. Метод эвристический и не обеспечивает гарантии минимума системы.

Пример:

Пусть задан D– триггер в качестве элемента и 2 состояния, которые являются соседями первого родаS1иS11

S1- закодировали (q1q2q3…qn-1⌐qn) – 11…10

S11- закодировали (⌐q1q2q3…qn-1⌐qn) – 01…10

Предположим, что под воздействием входного сигнала x, который вызывает переход в общее состояние некоторый триггер должен перейти из 0 в 1.

При кодировании соседей первого рода соседними кодами происходит склеивание конъюнкции в функции возбуждения триггеров.

Пример:

Кодируем соседей второго рода.

Пусть в качестве элемента памяти используется Dтриггер

01 есть дляD3

D3 = ⌐q1⌐q2⌐q3x1v q1⌐q2⌐q3x1v q1⌐q2⌐q3⌐x1 = ⌐q2⌐q3x1vq1⌐q2⌐q3⌐x1– выражение упрощается благодаря соседним кодамS1иS11

D2= ⌐q1⌐q2⌐q3⌐x1vq1⌐q2⌐q3⌐x1= ⌐q2⌐q3⌐x1

Если закодированы соседи второго рода соседними кодами, при условии кодирования соседними кодами соседей первого рода, в большинстве функций возбуждения триггеров произойдет склеивание конъюнкций. Если происходит нехватка числа соседних кодов для всех соседних состояний, то в первую очередь кодируют состояния соседей первого рода, которые имеют наивысшую степень соседства. Соседей второго рода кодируют в последнюю очередь. Поиск соседних кодов удобно осуществлять для соседей первого рода по инверсной таблице переходов, для соседей второго рода по прямой таблице переходов. Кодирование самих состояний удобно выполнять используя карты Карно.

Задан автомат, построим инверсную таблицу переходов:

0

1

Pi /Si

---

S2 , S4

S0

S0

S3

S1

S3

S0 , S1

S2

S1

---

S3

S0 , S1

---

S4

т.е. соседями первого рода будут : S2 , S4 (2 – степень родства)

S0 , S1(1) – соседи второго рода.

Минимальное число разрядов при кодировании = 3, точнее 5 состояний, следовательно карты Карно на 8 клеток.

---------

q2

---------

q1

S2

S4

S0

S1

|

S3

q3

Si

q3

q2

q1

S0

0

1

1

S1

0

1

0

S2

0

0

0

S3

1

1

0

S4

0

0

1