Алгоритм кодирования для D-триггеров.

 

Согласно рассматриваемому алгоритму при кодировании необходимо выполнить следующее:

1.Каждому состоянию автомата аm (m = 1,2,...,M) ставится в соответствие целое число Nm, равное числу переходов в состояние аm (Nm равно числу появлений аm в поле таблицы переходов или числу дуг, входящих в аm при графическом способе задания автомата).

2.Числа N1, N2, ..., Nm упорядочиваются по убыванию.

3.Состояние аs с наибольшим Ns кодируется кодом:, где R-количество элементов памяти.

4.Следующие R состояний согласно списка пункта 2 кодируются кодами, содержащими только одну 1: 00 ... 01, 00 ... 10, ... , 01 ... 00, 10 ... 00.

5.Для оставшихся состояний опять в порядке списка п.2. используют коды с двумя единицами, затем с тремя и так далее пока не будут закодированы все состояния.

В результате получается такое кодирование, при котором чем больше имеется переходов в некоторое состояние, тем меньше единиц в его коде. Т.к. для D-триггеров функции возбуждения однозначно определяются кодом состояния перехода, то очевидно, что выражения для функций возбуждения будут проще. Этот метод особенно эффективен при отсутствии минимизации функций возбуждения, что имеет место в реальных автоматах с большим количеством внутренних состояний и входных переменных.

В частности, для автомата, заданного своими таблицами переходов и выходов (см. ниже) при кодировании на базе D-триггеров.

 

  a1 a2 a3 a4 a5     a1 a2 a3 a4 a5
Z1 a1 a1 a5 a3 a1   Z1 w1 w2 w1 w1 w1
Z2 a2 a3 a2 a3 a3   Z2 w1 w3 w4 w2 w2
Z3 a3 a4 a2 a4 a2   Z3 w2 w2 w2 w1 w3

 


 

a1 ~ N1 = 3 N3 a3 = 000

a2 ~ N2 = 4 N2 a2 = 001

a3 ~ N3 = 5 N1 a1 = 010

a4 ~ N4 = 5 N4 a4 = 100

a5 ~ N5 = 1 N5 a5 = 011

 

Аналогично кодированию внутренних состояний для D-триггеров можно кодировать выходные сигналы для любого типа триггеров, т.е. чем чаще вырабатывается данный выходной сигнал wi, тем меньше единиц в его коде. Так для автомата (рис.41.) имеем:

 

w1 ~ N1 = 6 N1 w1 = 00

w2 ~ N2 = 5 N2 w2 = 01

w3 ~ N3 = 2 N3 w3 = 10

w4 ~ N4 = 2 N4 w4 = 11

 

Предполагается самостоятельно окончить синтез автомата при данном кодировании и при любом другом. Результаты сравнить.