Контроль автоматов с памятью, страница 14

a = 10110;   c1 = 00101;    c2 = 01001;

b = 10101;   d1 = 01101;    d2 = 01011;

то переменная Q5 принимает единичное значение на переходе (a, b) и нулевое значение на остальных переходах.

В этом случае говорят, что переход (a, b) развязан по переменной Q5. Поскольку переход (ci, di) выделен по отношению к другим возможным переходом (a, b) единичным значением переменной Q5, то сигналы возбуждения триггеров на данном переходе могут определяться функцией Q5=x1.

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

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

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

4.  Двойная память

Двойная память реализуется за счет использования в запоминающей части автоматов двух отдельных триггеров типа MS (master – slave). В этом случае разделяются во времени процесс выработки сигналов возбуждения и процесс смены (переключения) состояния.

Устранение гонок за счет двойной памяти значительно увеличивает затраты времени на управление, поскольку переключение автомата в следующее состояние требует последовательного переключения двух триггеров, для чего необходим интервал времени, не меньший ( 2tтр +t).