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

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

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

2. Числа N 1, N 2,..., N m упорядочиваются по убыванию.

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

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

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

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

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

  a 1 a 2 a 3 a 4 a 5     a 1 a 2 a 3 a 4 a 5
Z 1 a 1 a 1 a 5 a 3 a 1   Z 1 w 1 w 2 w 1 w 1 w 1
Z 2 a 2 a 3 a 2 a 3 a 3   Z 2 w 1 w 3 w 4 w 2 w 2
Z 3 a 3 a 4 a 2 a 4 a 2   Z 3 w 2 w 2 w 2 w 1 w 3

a 1 ~ N 1 = 3 N 3 a 3 = 000

a 2 ~ N 2 = 4 N 2 a 2 = 001

a 3 ~ N 3 = 5 N 1 a 1 = 010

a 4 ~ N 4 = 5 N 4 a 4 = 100

a 5 ~ N 5 = 1 N 5 a 5 = 011

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

w 1 ~ N 1 = 6 N 1 w 1 = 00

w 2 ~ N 2 = 5 N 2 w 2 = 01

w 3 ~ N 3 = 2 N 3 w 3 = 10

w 4 ~ N 4 = 2 N 4 w 4 = 11

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: