Введение
Способность цифровой электронной системы оставаться в неустойчивом равновесии бесконечно долго.
В электронике, метастабильность – это способность цифровой электронной системы неограниченно долго находиться в неустойчивом равновесии или метастабильном состоянии. В цифровых логических схемах цифровой сигнал должен соответствовать определенным ограничениям по напряжению или току, чтобы представлять логический уровень '0' или '1' для корректной работы схемы; если сигнал попадает в запрещенный промежуточный диапазон, это может привести к некорректной работе логических элементов, к которым он приложен. В метастабильном состоянии схема может не устанавливаться в стабильный логический уровень '0' или '1' за время, необходимое для правильной работы схемы. В результате схема может вести себя непредсказуемо и приводить к сбоям в работе системы, иногда называемым "глюком". Метастабильность является примером парадокса осла Буридана. Метастабильные состояния являются неотъемлемой характеристикой асинхронных цифровых систем и систем с более чем одной независимой тактовой областью. В самосинхронизирующихся асинхронных системах арбитры спроектированы таким образом, чтобы система переходила к следующему этапу только после разрешения метастабильности, поэтому метастабильность является нормальным состоянием, а не ошибкой. В синхронных системах с асинхронными входами синхронизаторы предназначены для того, чтобы вероятность сбоя синхронизации была достаточно мала. Метастабильных состояний можно избежать в полностью синхронных системах при соблюдении требований к времени установки и удержания на триггерах.
Пример
Простой пример метастабильности можно найти в SR NOR-защелке, когда оба входа Set и Reset установлены в истинное состояние (R=1 и S=1), а затем оба одновременно переходят в ложное состояние (R=0 и S=0). Оба выхода Q и первоначально удерживаются на уровне 0 из-за одновременного воздействия входов Set и Reset. После того, как оба входа Set и Reset перейдут в ложное состояние, триггер (в конечном итоге) перейдет в одно из двух стабильных состояний, в одном из которых Q истинно, а ложно, и наоборот. Окончательное состояние будет зависеть от того, какой из входов – R или S – первым вернется к нулю по времени, но если оба входа переключатся примерно одновременно, возникшая метастабильность, проявляющаяся в промежуточных или колебательных уровнях выходного сигнала, может потребовать произвольно долгого времени для установления в стабильное состояние.
Арбитраж
В электронике арбитр — это схема, предназначенная для определения, какой из нескольких сигналов поступит первым. Арбитры используются в асинхронных схемах для упорядочивания вычислительных операций при совместном использовании ресурсов, чтобы предотвратить одновременные некорректные действия. Арбитры применяются на входах полностью синхронных систем, а также между тактовыми доменами в качестве синхронизаторов входных сигналов. Хотя они могут минимизировать вероятность возникновения метастабильности до очень низких значений, все арбитры, тем не менее, имеют метастабильные состояния, которые неизбежны на границах областей входного пространства состояний, приводящих к различным выходным сигналам.
Синхронные схемы
Технологии проектирования синхронных схем создают цифровые схемы, устойчивые к режимам отказа, которые могут быть вызваны метастабильностью. Домен тактирования определяется как группа триггеров с общим тактовым сигналом. Такие архитектуры могут формировать схему, гарантированно свободную от метастабильности (ниже определенной максимальной тактовой частоты, выше которой сначала возникает метастабильность, а затем – полный отказ), при условии низкого перекоса тактового сигнала. Однако даже в этом случае, если система зависит от каких-либо непрерывных входных сигналов, они, вероятно, будут уязвимы к метастабильным состояниям. Синхронизирующие схемы используются для снижения вероятности метастабильности при приеме асинхронного входного сигнала или при передаче сигналов между различными доменами тактирования. Синхронизаторы могут быть реализованы в виде каскада D-триггеров (например, сдвиговый регистр на рисунке 3). Хотя каждый каскад триггера добавляет дополнительный такт задержки к потоку входных данных, каждый каскад предоставляет возможность разрешения метастабильности. Такие синхронизаторы могут быть спроектированы для снижения метастабильности до пренебрежимо малой, но допустимой величины. Шмиттовские триггеры также могут использоваться для снижения вероятности метастабильности, но, как продемонстрировал исследователь Чейни в 1979 году, даже Шмиттовские триггеры могут оказаться в метастабильном состоянии. Он также утверждал, что невозможно полностью исключить возможность метастабильности несинхронизированных входных сигналов за конечное время и что "существует множество теоретических и экспериментальных доказательств существования области аномального поведения для любого устройства, имеющего два стабильных состояния". Учитывая эту неизбежность, аппаратное обеспечение может только снизить вероятность метастабильности, а системы могут попытаться корректно обработать случайное метастабильное событие.
Режимы отказов
Хотя метастабильность хорошо изучена и известны архитектурные методы её контроля, она продолжает проявляться как режим отказа в оборудовании. Серьёзные ошибки в компьютерах и цифровом оборудовании, вызванные метастабильностью, имеют интересную историю. Многие инженеры отказываются признавать, что бистабильное устройство может перейти в состояние, которое не является ни истинным, ни ложным, и имеет ненулевую вероятность оставаться неопределённым в течение любого заданного периода времени, хотя эта вероятность экспоненциально уменьшается со временем. Однако метастабильность – неизбежное следствие любой попытки отобразить непрерывную область в дискретную. На границах непрерывной области между регионами, которые соответствуют различным дискретным выходным значениям, точки, расположенные произвольно близко друг к другу в непрерывной области, могут соответствовать разным выходным значениям, что делает выбор выходного значения сложным и потенциально длительным процессом. Если входные сигналы арбитра или триггера поступают практически одновременно, схема, скорее всего, пройдёт через точку метастабильности. Метастабильность остаётся недостаточно понятной в некоторых кругах, и различные инженеры предлагают собственные схемы, которые, по их утверждению, решают или фильтруют метастабильность; как правило, эти схемы лишь переносят возникновение метастабильности из одного места в другое. Чипы, использующие несколько источников тактовой частоты, часто тестируются с помощью тестовых генераторов, имеющих фиксированные фазовые соотношения, а не независимые тактовые частоты, которые могут расходиться во время работы. Это обычно предотвращает выявление или сообщение о метастабильном режиме отказа, который может возникнуть в реальных условиях эксплуатации. Для надёжного тестирования на метастабильность часто используются тактовые частоты с незначительными различиями и проверка корректной работы схемы.