logo search
Лекции по теории автоматов

Пример структурного синтеза синхронного автомата.

Автомат называется синхронным, если его состояние меняется в строго определенные моменты времени.

Эти моменты времени определяется с помощью специальных синхронизаций сигналов.

тип логического элемента:

«И» «НЕ»

тип памяти RS

Нужно получить минимум затрат, т.е. минимум логических элементов.

Этапы:

P = {0,1}

W = {0,1}

Кодирование производить не надо. т.к. они уже кодированы.

Триггер – 1 разряд

log23 = 2, т.е. для кодирования нужно минимум два разряда

Закодируем произвольно

q0 q1

S0= 0 1

S1 = 1 1

S2 = 1 0

Представим исходный автомат виде таблицы переходов и выходов.

Si / Pi

0

1

S0

S1 /0

S1 /0

S1

S2 /0

S2 /0

S2

S0 /1

S0 /0

Вместо состояний приводим в таблице их коды и получаем кодированную таблицу переходов и выходов

Xi / q0q1

0

1

0 1

11 /0

11 /0

1 1

10 /0

10 /0

1 0

01 /1

01 /0

RS

*0

0 0

01

0  1

10

1  0

0*

1  1

Xi / q0q1

0

1

0 1

01,0* /0

01,0* /0

1 0

0*,10 /0

0*,10 /0

1 1

10,01 /1

10,01 /0

Данная таблица называется таблица функций возбуждения и выходов.

Вместо кодов состояний в ней приводится значение на входе триггеров, которые приведут триггер в требуемое состояние.

В данной таблице представлены 5 булевых функций: R0,S0,R1,S1,Z0

R0

------------q1

------------q0

---

1

0

0

X0 -

---

1

0

0

S0

------------q1

------------q0

---

0

*

1

X0 -

---

0

*

1

R1

------------q1

------------q0

---

0

1

0

X0 -

---

0

1

0

S1

------------q1

------------q0

---

1

0

*

X0 -

---

1

0

*

Z0

------------q1

------------q0

---

1

0

0

X0 -

---

0

0

0

В результате :

R0 = ^q1 (^ - отрицание)

S0 = q1

R1 = q0q1

S1 = ^q1

Z0 = ^q1^X1

В результате получается окончательная схема:

C – синхронизация

В начальном состоянии триггеры должны быть закодированы (установлены в начальное состояние S0) т.е.q0– сброс

S1– установка

При с = 0 функции возбуждения непосредственно на входах триггеров равны 0

Это соответствует режиму хранения двух триггеров, следовательно автомат находится (остается) в том же состоянии и не осуществляет переход.

При с = 1 получаем

R01 = R0

S01 = S0

R11 = R1

S11=S1

т.е. непосредственно на входы триггера поступает синтезированная функция возбуждения и триггеры переключаются, т.е переходят из состояния в состояние в автомате и получаем на выходе qiновые входы.

Длительность с = 1 должна быть достаточной, чтобы сработал «и» на входе триггеров и переключились сами триггеры.

В тот момент времени, когда переключились триггеры, входные сигналы RиSне должны изменяться в противоположном случае поведение триггера может оказаться непредсказуемым.

С другой стороны в это время меняется значение qiи они по обратной связи поступают на вход триггера, т.е. могут привести к изменению значенийRi ,Si

Следовательно длительность сигнала с должна быть ограничена сверху так, чтобы новые значения qiне успели поступить на входыRi,Si(т.е. с – достаточно короткое).

Корректное значение zможно получить лишь тогда, когдаqиxнеизменные, т.е. после окончания их переключения и завершения всех переходных процессов в схеме, а это происходит при с = 0.

В автомате Миля выходной сигнал получают на переходе от одного состояния к другому, однако в этот момент меняется q, а значит может и изменитсяZ, следовательно получениеZи процесс смены состояния необходимо разнести во времени.

После переключений состояние уже будет новое, следовательно zуже не будет,S– уже новое, следовательно выходной сигналZбудет соответствовать не предыдущему состоянию, а уже новому, следовательно вначале надо получитьzа затем сменить состояние.

Следовательно xнеобходимо менять вместе со спадом сигнала с , а следовательно как только автомат переходит в новое состояние необходимо показать новый входной сигнал и после (задержки) переходной процесс получают значениеZ.

Сам же переход из состояния в состояние произойдет при появлении с=1.