Keadaan metastabil mirip dengan keseimbangan yang tidak stabil. Contoh umum keseimbangan tidak stabil adalah pendulum terbalik . Jika Anda dapat menyeimbangkan pendulum dalam posisi vertikal, itu adalah kondisi stabil. Namun, jika sesuatu mendorong tuas ke kedua sisi (arus udara atau getaran tanah, misalnya), pendulum tidak akan mengembalikan dirinya ke posisi vertikal, ia akan jatuh ke bawah. Kontras dengan pendulum biasa, yang jika didorong ke satu sisi, pada akhirnya akan menetap kembali ke vertikal.
Keseimbangan stabil digunakan dalam sistem kelistrikan untuk membuat elemen penyimpanan. Equlibria yang tidak stabil tidak membuat elemen penyimpanan yang baik (karena mereka kehilangan keadaannya dengan mudah), tetapi sering ada sebagai keadaan parasit.
Elemen penyimpanan digital yang umum adalah sepasang inverter bersilangan:
Elemen penyimpanan memiliki dua keadaan stabil, satu di mana simpul di sebelah kiri berada di tegangan suplai dan simpul di sebelah kanan di tanah, dan yang lainnya di kondisi berlawanan. Ada juga keadaan tidak stabil, di mana setiap node berada pada tegangan menengah.
Untuk lebih memahami bagaimana kondisi tidak stabil muncul, ingat fungsi transfer untuk inverter. Alur fungsi transfer menunjukkan tegangan output inverter untuk tegangan input yang diberikan.
Inverter tidak linier; satu cara sederhana untuk mendapatkan solusi perkiraan dari sirkuit non-linear adalah dengan memplot karakteristik rangkaian; persimpangan plot adalah solusi, atau dengan kata lain, titik-titik di mana karakteristik listrik dari semua komponen rangkaian terpenuhi. Biasanya ini dilakukan dengan plot iv seperti pada contoh dioda ini di Wikipedia . Namun, untuk inverter, kami akan melakukannya dengan plot vv. Overlay fungsi transfer inverter kedua pada plot (dengan kapak ditukar, karena inverter kedua mundur:
Ada tiga persimpangan plot: satu di (0, Vs), satu di (Vs, 0), dan satu di (Vs / 2, Vs / 2). Status (Vs / 2, Vs / 2) adalah metastable. Setelah gangguan kecil pada kedua node, rangkaian hampir selalu akan mengendap ke salah satu kondisi stabil daripada kembali ke (Vs / 2, Vs / 2).
Cara untuk menulis nilai ke elemen penyimpanan dual-inverter adalah dengan memaksa salah satu node ke nilai yang diinginkan menggunakan driver yang lebih kuat dari inverter. Salah satu cara umum untuk melakukan ini adalah dengan pass transistor:
Jika Anda menghubungkan gerbang pass transistor ke jam, Anda memiliki kait D (saya meninggalkan struktur output). Ketika jam tinggi, memungkinkan transistor lulus, kait transparan - input langsung ke output. Ketika jam rendah, kait memegang nilai sebelumnya. Metastabilitas muncul pada saat sampel kait. Jika input tegangan tinggi atau rendah stabil ketika sampel kait, maka itu akan berfungsi dengan baik. Namun, jika input berada di sekitar titik Vs / 2 ketika sampel kait, ada kemungkinan kait akan berakhir dalam keadaan metastable (Vs / 2, Vs / 2). Setelah berada dalam kondisi metastabil, ia dapat tetap berada di sana tanpa batas waktu (dengan asumsi kait tidak diulang lagi), tetapi karena ini merupakan kesetimbangan yang tidak stabil, sesuatu biasanya terjadi secara relatif cepat untuk membuatnya keluar dari kondisi metastabil.
Kapan harus khawatir tentang metastabilitas
Jika elemen penyimpanan Anda menjadi metastable, maka Anda setidaknya kehilangan sebagian dari anggaran waktu untuk logika hilir. Logikanya tidak dapat melakukan evaluasi yang diinginkan sampai keadaan metastabil diselesaikan. Dalam kasus terburuk, keadaan metastabil bertahan atau menyebar melalui logika, dan elemen penyimpanan hilir juga menjadi metastabil, atau beberapa elemen penyimpanan terkait menangkap nilai yang tidak konsisten.
Logika sinkron yang dirancang dan berfungsi dengan baik tidak memiliki masalah dengan metastabilitas. Periode jam lebih lama dari waktu evaluasi untuk logika, semua input flip-flop stabil di tepi jam berikutnya (persyaratan setup puas), dan mereka semua memuat nilai yang valid.
Beberapa situasi umum di mana metastabilitas menjadi perhatian adalah:
- Pengambilan sampel logika input eksternal, misalnya, saklar di panel depan, atau output dari rangkaian monitor yang dapat bertransisi setiap saat (undervoltage, overtemp).
- Logika menggunakan beberapa jam yang tidak memiliki hubungan sinkron. Ini sering muncul dengan antarmuka I / O yang memiliki persyaratan jam tertentu, tetapi juga terjadi secara internal ketika bagian chip yang berbeda memiliki persyaratan kinerja yang berbeda. Misalnya, tidak semua logika di CPU 3 GHz Anda benar-benar berjalan pada 3 GHz. (CPU bukan contoh yang bagus, karena banyak jam di CPU adalah kelipatan sinkron satu sama lain.)