Метастабільний стан схожий на нестабільну рівновагу. Поширений приклад нестабільної рівноваги - перевернутий маятник . Якщо ви можете врівноважити маятник у вертикальному положенні, це стабільний стан. Однак якщо щось штовхає важіль в будь-яку сторону (наприклад, повітряні потоки або коливання землі), маятник не повернеться у вертикальне положення, він впаде вниз. На відміну від звичайного маятника, яке, якщо його натиснути на один бік, врешті-решт повернеться до вертикалі.
Стабільні рівноваги використовуються в електричних системах для створення елементів зберігання. Нестабільні рівноваги не складають хороших елементів зберігання (оскільки вони легко втрачають стан), але часто існують як паразитичний стан.
Поширеним цифровим елементом зберігання є пара перехресно пов'язаних інверторів:
Елемент запам'ятовування має два стабільних стани: один, де вузол зліва знаходиться на напрузі живлення і вузол праворуч знаходиться на землі, а другий у протилежному стані. Існує також нестабільний стан, при якому кожен вузол знаходиться на деякій проміжної напрузі.
Щоб краще зрозуміти, як виникає нестабільний стан, згадайте функцію передачі інвертора. Діаграма функції передачі показує вихідну напругу інвертора для заданої вхідної напруги.
Інвертор нелінійний; один простий спосіб отримати приблизне рішення нелінійної схеми - побудувати схему характеристик; перетинами ділянок є розв’язки, або іншими словами, точки, в яких задовольняються електричні характеристики всіх компонентів схеми. Зазвичай це робиться за допомогою діаграм IV, як у цьому прикладі діодів у Вікіпедії . Однак для інверторів ми зробимо це з графіками vv. Накладення другої функції передачі інвертора на графіку (із зміненими осями, оскільки другий інвертор знаходиться назад:
Існує три перетину ділянок: один на (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 ГГц. (CPU - не чудовий приклад, оскільки багато годин в процесорі є синхронними кратними один одного.)