Синхронизация автоматов
Нарушением функционирования автомата может быть вызвано явлениями, получившими название гонки и риск сбоя.
Гонки возникают из-за неодновременного срабатывания элементов памяти автомата. Например, пусть под действием некоторого входного сигнала X(amas) с кодом 00 автомат должен перейти из состояния am с кодом 101 состояние as с кодом 110 (см. рис. 47). Если второй триггер изменит свое значение (переключится) с 0 в 1 ранее чем третий переключится с 1 в 0, то автомат перейдет в промежуточное состояние 111. Иначе, если третий триггер сработает ранее второго, то в промежуточное состояние 100.
Таким образом, если на некотором переходе в автомате одновременно изменяют свое состояние несколько элементов памяти, то между ними возникает ”состязание”. Если из промежуточного состояния автомат, в конечном счете, переходит в требуемое состояние as, то называются ”состязание” некритическими, если в ложное, например 011, то критическими или гонками.
Существует два основных подхода к устранению гонок: программный и аппаратный. Программный (алгоритмический) подход основан на соседнем кодировании состояний. При соседнем кодировании состояний автомата из множества A={a1,…,am} кодируются таким образом, что на любом переходе изменяют свое состояние не более чем один элемент памяти. Однако соседнее кодирование воз
можно выполнить не для всех автоматов.
Аппаратный подход основан на использовании двух ступеней памяти рис. 48. Первая ступень памяти построена на триггерах T1,…,Tr, вторая на триггерах T1,…,Tr. Информация в триггеры первого уровня T1,…,Tr записывается по тактовому сигналу Ти, а в триггеры второго уровня T1,…,Tr по сигналу Ти следующему непосредственно за Ти.
Если в течении первого полупериода (Ти) между триггерами первой ступени и возникают ”состязания”, то они все равно не изменяют состояния триггеров второй ступени, поскольку отсутствует синхросигнал Ти. Затем, с приходом синхроимпульса Ти изменяют свое состояние триггеры второй ступени. Промежуточные коды формируемые на их выходах приводят к изменению (и искажению) t1,…,tr, а следовательно и D1,…,Dr. Однако триггеры первой ступени не изменят своего состояния, поскольку отсутствует сигнал Ти. Таким образом, в итоге верный код состояния as с выходов памяти первой ступени переписывается в триггера второго уровня, что соответствует переходу автомата в состояние as.
Если комбинационная схема автомата построена из синхронизируемых элементов, то гонки так же устраняются путем разделения синхронизации памяти и комбинационной схемы (рис. 49). В этом случае двойная память не требуется.
Риск сбоя. Наличие некритических ”состязаний”, не нарушает правил перехода в автомате, но создает возможность возникновения раска сбоя. Риск сбоя заключается в том, что при переходе в некоторое промежуточное состояние (реально существующее в алгоритме) может быть выработан кратковременный ложный выходной сигнал. Например, в автомате Мура при переходе при переходе из состояния 101 в состояние 110 появляется кратковременный сигнал yk в промежуточном состоянии 00 (см. рис. 50).
Хотя длительность ложного сигнала yk достаточно мала, однако его возникновение может привести к непредсказуемым последствиям в устройстве, которым управляет автомат. Некоторые методы устранения риска сбоя состоят в следующем.
- Выходы автомата, на которых может возникнуть риск сбоя? соединяются через конденсатор небольшой емкости с нулевым выходом источника питания.
- Буферизация выходных сигналов.
Дата добавления: 2015-05-05; просмотров: 1118;