Метастабильное состояние похоже на неустойчивое равновесие. Распространенным примером неустойчивого равновесия является перевернутый маятник . Если вы можете сбалансировать маятник в вертикальном положении, это стабильное состояние. Однако, если что-то толкает рычаг в любую сторону (например, воздушные потоки или вибрации земли), маятник не вернется в вертикальное положение, он упадет. Контраст с обычным маятником, который, если его отодвинуть в сторону, в конце концов вернется в вертикальное положение.
Стабильные равновесия используются в электрических системах для создания элементов хранения. Нестабильная эквилибрия не делает хороших элементов хранения (поскольку они легко теряют свое состояние), но часто существует как паразитное состояние.
Обычный цифровой запоминающий элемент представляет собой пару инверторов с перекрестными связями:
Запоминающий элемент имеет два стабильных состояния: одно, где узел слева находится под напряжением питания, а узел справа - на земле, а другое - в противоположном состоянии. Существует также нестабильное состояние, в котором каждый узел находится под некоторым промежуточным напряжением.
Чтобы лучше понять, как возникает нестабильное состояние, вспомним передаточную функцию для инвертора. График передаточной функции показывает выходное напряжение инвертора для заданного входного напряжения.
Инвертор нелинейный; Один простой способ получить приближенное решение нелинейной схемы - построить характеристики схемы; пересечения графиков представляют собой решения или, другими словами, точки, в которых выполняются электрические характеристики всех компонентов схемы. Обычно это делается с помощью IV-графиков, как в этом примере с диодами в Википедии . Тем не менее, для инверторов мы сделаем это с vv plots. Наложение второй передаточной функции инвертора на график (с заменой осей, поскольку второй инвертор направлен назад:
Есть три пересечения графиков: одно в (0, Vs), одно в (Vs, 0) и одно в (Vs / 2, Vs / 2). Состояние (Vs / 2, Vs / 2) является метастабильным. После небольшого возмущения любого из узлов схема почти всегда устанавливается в одно из устойчивых состояний, а не возвращается в (Vs / 2, Vs / 2).
Способ записи значения в запоминающий элемент с двумя инверторами состоит в том, чтобы принудительно установить один из узлов на требуемое значение, используя драйвер, более сильный, чем инверторы. Один из распространенных способов сделать это с помощью транзистора:
Если вы подключите затвор транзистора к часам, у вас есть D-защелка (я опускаю структуру вывода). Когда часы на высоком уровне, что позволяет пассивный транзистор, защелка прозрачна - входной сигнал проходит непосредственно на выход. Когда часы низкие, защелка удерживает предыдущее значение. Метастабильность возникает в момент защелки образцов. Если при выборке защелки на входе присутствует стабильное высокое или низкое напряжение, оно будет работать правильно. Тем не менее, если входной сигнал находится около точки Vs / 2 при выборке защелки, существует вероятность того, что защелка окажется в метастабильном состоянии (Vs / 2, Vs / 2). Как только он находится в метастабильном состоянии, он может оставаться там бесконечно (при условии, что защелка снова не синхронизируется), но, поскольку это неустойчивое равновесие, обычно что-то происходит относительно быстро, чтобы выбить его из метастабильного состояния.
Когда беспокоиться о метастабильности
Если ваши элементы хранения становятся метастабильными, то вы, по крайней мере, теряете часть временного бюджета для последующей логики. Логика не может выполнить желаемую оценку, пока не разрешится метастабильное состояние. В худшем случае метастабильное состояние сохраняется или распространяется через логику, и нисходящие элементы хранения также становятся метастабильными, или несколько связанных элементов хранения захватывают несовместимые значения.
Правильно спроектированная и функционирующая синхронная логика не имеет проблем с метастабильностью. Тактовый период длиннее, чем время оценки для логики, все триггерные входы стабильны на следующем фронте тактового сигнала (требование установки выполнено), и все они загружают действительное значение.
Некоторые из распространенных ситуаций, в которых проблема метастабильности:
- Логическая выборка внешнего входа, например, переключателя на передней панели или выхода цепей монитора, которые могут переходить в любое время (пониженное напряжение, перегрев).
- Логика с использованием нескольких часов, которые не имеют синхронных отношений. Это часто происходит с интерфейсами ввода / вывода, которые предъявляют особые требования к тактовым частотам, но также возникают внутри системы, когда разные части микросхемы имеют разные требования к производительности. Например, не вся логика вашего процессора с частотой 3 ГГц работает на частоте 3 ГГц. (Тем не менее, процессор не является хорошим примером, так как многие часы в процессоре являются кратными друг другу.)