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

Универсальный способ кодирования (для синхронного автомата).

При данном способе кодирования используется унитарный код (1 из N), который содержит 1 единицу, а остальные 0 . В этом случае число разрядов совпадает с числом состояний автомата. В данном способе кодирования число разрядов максимально возможно, большее число разрядов бессмыслимо, следовательно это приводит к большему числу триггеров. С другой стороны может значительно упроститься комбинационный узел формирующий функции возбуждения и его функционирование можно описать прямо по графу без минимизации булевых функций.

Для Dтриггера:

D2=q1⌐q2q3⌐x1– любой код

D2=q1⌐x1 - унитарный код

Для унитарного кода опущены ⌐q2⌐q3, так как еслиq1= 1, то это однозначно подразумеваетq2=q3= 0. Более тогоq1= 1 невозможно ни для одного из оставшихся состояний автомата.

Пример:

01 01

D1= q5x v q3x

51 31

01

D2= q1⌐x

12

01 01 01

D3 = q1x v q2x v q4x

13 23 43

01 11

D4 = q2⌐x v q4⌐x

24 24

01

D5=q3⌐x

35

Выражения могут быть еще несколько упрощено. Предположим, что в качестве элементов памяти используется RSтриггер.

R= 1 , когда 10 обязательно

R= 1 , когда 00 можно

S= 1 , когда 01 обязательно

S= 1 , когда 11 возможно

Для RSтриггера сначала записываются функции обязательные, а там где возможно чтобы функция была равна 1 дописывают лишь в случае упрощения.

RS

*0

0 0

01

0  1

10

1  0

0*

1  1

10 10

R1 = q1⌐X v q1X = q1

12 13

01 01

S1 = q5X v q3X = X(q1 v q3)

51 31

В функции R1 , S1входит обязательная конъюнкция, обеспечивающая переход 10 дляR1и 01 дляS1. ВR1можно добавить конъюнкции переходов из 00, т.к. при этомR=* и может быть доопределено до 1. УпроститьR=q- можно добавить только ⌐q1, однако при унитарном кодировании инверсное значение ⌐qне используется, а следовательно переходы 00 добавленные вR1только усложнят функцию.

Аналогично для S1можно добавить конъюнкции соответствующие переходу 11, такой переход возможен, только если присутствует петля вокругS1, в примере ее нет, значит получим окончательное значениеR1S1.

10 10

R2 = q2⌐X v q2X = q2

24 23

01

S2 = q1⌐X

12

10

R3 = q3

31

35

01 01 01

S3 = q1X v q2X v q4X = X(q1 v q2 v q4)

13 23 43

10

R4 = q4X

43

01 11

S4 = q2⌐X v q4⌐X = q2

24 44

R5 = q5X

S5 = q3⌐X