me_edu
Электроника: фундаментальный курс (2–3 года)Шаг 204 из 265 · 0% пройдено
36. Фазовая автоподстройка частоты (ФАПЧ / PLL)
54. Программирование МК: тулчейн, прошивка, отладка, ОСРВ
Конечные автоматы: Мили и Мур · Конечные автоматы: Мили и Мур

Синхронизация и метастабильность

CLKasync входпосле T1после T2Синхронизатор из двух триггеров: асинхронный вход выравнивается по тактам за два фронта CLK
Синхронизатор из двух триггеров: асинхронный вход выравнивается по тактам за два фронта CLK

Синхронный автомат меняет состояние только по фронту общего тактового сигнала. Это даёт предсказуемость: между фронтами все переходные процессы успевают завершиться, и к следующему такту сигналы стабильны.

Проблема возникает, когда на вход синхронной схемы приходит сигнал, не связанный с её тактом (асинхронный — например, нажатие кнопки или данные из другого тактового домена). Если такой сигнал изменится именно в окне setup/hold триггера, триггер может попасть в метастабильное состояние: его выход надолго зависает между 0 и 1, не будучи ни тем, ни другим.

Метастабильность опасна тем, что разные части схемы могут «прочитать» зависший выход по-разному, и автомат уйдёт в неверное состояние. Полностью исключить её нельзя, но вероятность резко снижают синхронизатором — цепочкой из двух (или более) последовательных триггеров на входе. Первый может зависнуть, но за такт обычно успевает «разрешиться», и второй получает уже стабильный уровень.

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

Назад

Обсуждение

Войдите, чтобы участвовать в обсуждении.

Пока нет сообщений.