Описанный способ кодирования позволяет
реализовать с небольшими аппаратурными затратами последовательное получение
кодов узлов дерева, расположенных на различных ярусах. Для автомата, имеющего
запрещенные входные последовательности и заданного неполным деревом, приведенная
хема также может быть использована. В этом случае коды состояния, лежащие
на запрещенных путях, просто не будут формироваться в регистре схемы.
Рассмотренный способ кодирования может
быть применен также с небольшими изменениями к автоматам, у которых буквы
входного алфавита представлены с помощью k двоичных символов. В этом случае
код каждого следующего состояния должен формироваться путем сдвига кода
предыдущего состояния на k двоичных разрядов и записи входного сигнала
на свободное место. Для реализации автомата, перерабатывающего слова длины
n, при этом требуется регистр емкостью nґk двоичных
разрядов.
В заключении настоящего параграфа опишем
еще один способ кодирования, позволяющий использовать стандартные блоки.
Этот способ назовем двухкоординатным кодированием. Разобьем узлы заданного
графа автомата на ярусы и пронумеруем их. Затем пронумеруем узлы в каждом
ярусе. При этом каждый узел графа однозначным образом определяется двумя
числами: номером яруса и номером узла в ярусе. Заменяя номера двоичными
кодами, получаем закодированный граф автомата. Если при нумерации ярусов
графа использовать последовательность чисел, отличающихся на единицу, то
для получения такой последовательности в схеме может быть применен двоичный
счетчик. В некоторых случаях удается получить упрощение комбинационной
части схемы за счет использования соседних наборов для кодирования узлов
в каждом ярусе. Пример такого кодирования приведен на рис. 29.