Stan metastabilny jest podobny do niestabilnej równowagi. Typowym przykładem niestabilnej równowagi jest odwrócone wahadło . Jeśli potrafisz wyważyć wahadło w pozycji pionowej, jest to stan stabilny. Jeśli jednak cokolwiek popchnie dźwignię w którąkolwiek stronę (na przykład prądy powietrza lub wibracje gruntu), wahadło nie powróci do pozycji pionowej, spadnie. Kontrastuj ze zwykłym wahadłem, które po przesunięciu na bok ostatecznie ustabilizuje się z powrotem w pionie.
Stabilne równowagi są stosowane w systemach elektrycznych do tworzenia elementów magazynowych. Niestabilne equlibria nie tworzą dobrych elementów do przechowywania (ponieważ łatwo tracą swój stan), ale często istnieją jako stan pasożytniczy.
Wspólnym cyfrowym elementem pamięci jest para falowników sprzężonych krzyżowo:
Element magazynujący ma dwa stabilne stany, jeden, w którym węzeł po lewej stronie znajduje się pod napięciem zasilającym, a węzeł po prawej stronie znajduje się na ziemi, a drugi w odwrotnym stanie. Istnieje również stan niestabilny, w którym każdy węzeł jest pod napięciem pośrednim.
Aby lepiej zrozumieć, jak powstaje stan niestabilny, przywołaj funkcję przenoszenia falownika. Wykres funkcji przenoszenia pokazuje napięcie wyjściowe falownika dla danego napięcia wejściowego.
Falownik jest nieliniowy; jednym prostym sposobem na uzyskanie przybliżonego rozwiązania obwodu nieliniowego jest wykreślenie charakterystyki obwodu; punktami przecięcia wykresów są rozwiązania, czyli innymi słowy, punkty, w których właściwości elektryczne wszystkich elementów obwodu są spełnione. Zwykle odbywa się to za pomocą wykresów iv, jak w tym przykładzie diod na Wikipedii . Jednak w przypadku falowników zrobimy to z wykresami vv. Nakładanie drugiej funkcji przenoszenia falownika na wykres (z zamienionymi osiami, ponieważ drugi falownik jest odwrócony:
Istnieją trzy przecięcia wykresów: jeden przy (0, Vs), jeden przy (Vs, 0) i jeden przy (Vs / 2, Vs / 2). Stan (Vs / 2, Vs / 2) jest metastabilny. Po niewielkim zaburzeniu któregoś z węzłów obwód prawie zawsze ustabilizuje się w jednym ze stabilnych stanów, zamiast wracać do (Vs / 2, Vs / 2).
Sposobem na zapisanie wartości do elementu pamięci z podwójnym falownikiem jest wymuszenie jednego z węzłów do pożądanej wartości za pomocą sterownika, który jest silniejszy niż falowniki. Jednym z powszechnych sposobów na to jest tranzystor pass:
Jeśli podłączysz bramkę tranzystora przejściowego do zegara, otrzymasz zatrzask D (pomijam strukturę wyjściową). Gdy zegar jest wysoki, umożliwiając tranzystor przejściowy, zatrzask jest przezroczysty - wejście przechodzi bezpośrednio na wyjście. Gdy zegar jest niski, zatrzask przechowuje poprzednią wartość. Metastabilność powstaje w momencie, gdy próbki zatrzasku. Jeśli na wejściu jest stabilne wysokie lub niskie napięcie, gdy próbka zatrzasku pobiera próbki, będzie działać poprawnie. Jeśli jednak wejście znajduje się wokół punktu Vs / 2, gdy próbki zatrzasku próbkują, istnieje możliwość, że zatrzask skończy się w stanie metastabilnym (Vs / 2, Vs / 2). Gdy znajdzie się w stanie metastabilnym, może pozostać tam w nieskończoność (zakładając, że zatrzask nie jest taktowany ponownie), ale ponieważ jest to niestabilna równowaga, coś zwykle dzieje się stosunkowo szybko, aby wybić go ze stanu metastabilnego.
Kiedy martwić się o metastabilność
Jeśli twoje elementy pamięci stają się metastabilne, to tracisz przynajmniej część budżetu czasowego dla logiki niższego rzędu. Logika nie może wykonać żądanej oceny, dopóki stan metastabilny nie zostanie rozwiązany. W najgorszym przypadku stan metastabilny utrzymuje się lub propaguje za pomocą logiki, a elementy pamięci masowej niższego rzędu również stają się metastabilne lub wiele powiązanych elementów pamięciowych przechwytuje niespójne wartości.
Prawidłowo zaprojektowana i działająca logika synchroniczna nie ma problemów z metastabilnością. Okres taktowania jest dłuższy niż czas oceny dla logiki, wszystkie wejścia flip-flop są stabilne przy następnym zboczu zegara (spełnione są wymagania konfiguracji) i wszystkie ładują prawidłową wartość.
Niektóre z typowych sytuacji, w których problemem jest metastabilność, to:
- Logiczne próbkowanie zewnętrznego wejścia, na przykład przełącznika na panelu przednim lub wyjścia obwodów monitorujących, które mogą przejść w dowolnym momencie (podnapięcie, przekroczenie temperatury).
- Logika wykorzystująca wiele zegarów, które nie mają związku synchronicznego. Często pojawia się to w przypadku interfejsów I / O, które mają określone wymagania dotyczące zegara, ale występuje również wewnętrznie, gdy różne części układu mają różne wymagania dotyczące wydajności. Na przykład nie cała logika procesora 3 GHz działa z częstotliwością 3 GHz. (Procesor nie jest jednak świetnym przykładem, ponieważ wiele zegarów w procesorze to synchroniczne wielokrotności.)