Mengapa c-drop D-Flip Flops mencegah metastabilitas?


15

Saya mengerti apa itu metastabilitas tetapi tidak mengerti bagaimana menautkan sandal jepit mengurangi ini?

Jika output flipflop pertama dapat diukur, ini digunakan sebagai input untuk flipflop kedua. Tapi saya tidak melihat bagaimana flip 2 gagal akan dapat melakukan apa pun dengan input ini dan membuatnya stabil.

Terima kasih sebelumnya!


2
Selalu mencari kesempatan untuk menyebutkan pantat Buridan: en.wikipedia.org/wiki/…
copper.hat

Jawaban:


11

Metastabilitas tidak dapat 'disembuhkan', tetapi jika Anda menunggu cukup lama , kemungkinan itu terjadi dapat dibuat kecil sewenang-wenang. Setelah Anda turun ke sekali di zaman alam semesta, itu mungkin tidak akan menyebabkan Anda kesulitan.

Ini seperti menyeimbangkan pensil pada titiknya. Ini cenderung jatuh, dan semakin lama Anda menunggu, semakin kecil kemungkinannya untuk tetap berdiri.

Ada dua masalah dengan menunggu lama, dan salah satunya mendasar.

Masalah mendasar adalah bahwa jika Anda memiliki elemen memori tunggal (latch atau flip-flop, keduanya mengalami metastabilitas) dalam sistem clock yang menerima output dari sistem eksternal asinkron, maka Anda secara fisik tidak dapat menentukan batas bawah ke waktu tunggu , kadang-kadang sinyal eksternal akan melakukan transisi di dekat tepi kontrol menempel. Anda harus menyalurkan sinyal ke flip-flop lain untuk membiarkannya menunggu di sana. Ini memberi Anda waktu tunggu minimum satu siklus dijamin jam.

Masalah kedua adalah seringnya Anda mencoba menjalankan sistem secepat mungkin, dan laju jam sistem tidak dapat diperlambat untuk memberikan waktu yang cukup dalam flip-flop kedua. Satu-satunya cara untuk meningkatkan latensi sinyal ke apa yang diperlukan, tanpa mengurangi throughput, adalah untuk menyalurkan menunggu ke tahap lebih lanjut.

Beberapa orang kesulitan memvisualisasikan apa yang terjadi di antara sandal jepit. Ada dua cara untuk mendorong metastabilitas, dan keduanya melibatkan pelanggaran aturan flip-flop. Salah satu caranya adalah dengan melanggar pengaturan input dan menahan waktu, untuk melakukan transisi ketika flip-flop mengharapkan input stabil. Yang lainnya adalah melanggar level logika input, untuk membuat input data flip-flop berada pada level tegangan menengah. Flip-flop yang sedang metastable dapat menghasilkan salah satu jenis pelanggaran pada outputnya, untuk mengalir ke flip-flop berikutnya.


6
Sebagai contoh, ketika saya melakukan desain chip, saya 'memiliki' metastabilitas, semua penyeberangan jam, kami menghitung, menemukan kemungkinan kegagalan sinkronisasi pada setiap kegagalan, kelompok kegagalan, dll. Melihat apa yang akan dihasilkan hasilnya menjadi ... sebagian besar piksel pada layar mungkin hancur, pada akhirnya semua jalan melintasi chip turun menjadi sekitar sekali setiap dua tahun - ini adalah kartu grafis untuk Win95 yang pada saat itu tidak bisa begadang selama lebih dari sekitar satu hari kami memutuskan bahwa tidak seorang pun akan melihat 2 tahun MTBF sinkronisasi.
Taniwha

7
Juga satu hal yang tidak ada yang menyebutkan adalah apa yang terjadi dengan kegagalan metastabilitas kasus terburuk absolut ... kadang-kadang kegagalan sinkronisasi menyebabkan flop berosilasi secara internal pada frekuensi tinggi yang sangat bodoh mungkin pada level antara tinggi dan rendah digital normal - jika itu lolos dari dapatkan anti-metastability flop sinkronisasi yang bencana buzzy yang berisik dapat menginfeksi semua downstream flops (saat penggalangan barang habis) yang menghasilkan undian besar saat ini dan bahkan berpotensi terlalu panas dan mati chip - jadi perhatikan hal ini sebagai masalah
Taniwha

@Neil_UK Anda menggunakan kata kait yang saya pikir membingungkan. Di lingkaran saya, kait adalah elemen asinkron. Saya akan menyebutnya sandal jepit untuk kejelasan.
jalalipop

1
@jalalipop Saya menggunakan kait berarti flip-flop, meskipun mungkin artinya telah berubah dalam beberapa dekade sejak saya mulai menggunakannya. Sementara saya setuju bahwa 'latch' umumnya mengacu pada tipe transparan asinkron, mereka juga menderita metastabilitas jika data berubah pada tepi 'latching' pada input yang diaktifkan. Master-slave flip-flop biasanya dibangun secara internal dari sepasang kait yang digerakkan oleh antiphase oleh jam. Terima kasih telah menyebutkannya, saya akan memodifikasi jawaban untuk menjelaskan.
Neil_UK

@ Tamiwha Dapatkah Anda memberikan jawaban dengan diagram dan konstanta waktu dan matematika, untuk memperjelas perilaku internal kait ketika mereka mencoba untuk menyelesaikannya. Anda perlu menunjukkan (seperti yang Anda ketahui) bagaimana gain loop dan konstanta waktu regenerasi dan lantai kebisingan (termal dan VDD) memengaruhi kemampuan untuk menyelesaikannya.
analogsystemsrf

9

Ini mengurangi kemungkinan metastabilitas yang mempengaruhi sirkuit dengan memberikan lebih banyak waktu hingga sinyal benar-benar digunakan. Dengan dua flip-flop, ini memungkinkan seluruh siklus clock ekstra untuk sinyal untuk menetap. Dengan tiga, ini memungkinkan dua siklus jam tambahan.


2
Jawaban yang bagus. Poin penting adalah bahwa metastabilitas tidak dicegah , kami hanya mengurangi probabilitas ke tingkat yang dapat diterima.
Elliot Alderson

1
Jadi flipflops berjenjang memberi waktu bagi sinyal untuk menyelesaikan antara 0 dan 1 tetapi tidak memecahkan nilai yang salah? karena sinyal metastabil bisa jatuh dua arah?
Wouter A

2
@WouterA Jika itu metastable maka kedua nilai tepat.
user253751

4
Saya tidak berpikir ini adalah jawaban yang baik, hanya kegagalan pertama adalah pengambilan sampel sinyal input dalam kasus ini. Seperti yang disebutkan di atas apa yang terjadi adalah ada kemungkinan terjadi metastabilitas (tergantung pada gain dalam loop umpan balik internal flop, kecepatan clock dan kecepatan benda yang disampel melewati antara ambang input) dalam kegagalan tertentu itu (semoga) sebuah sejumlah kecil <1 = p - dua jepit memberi kita p ^ 2 peluang MS melewati 2 jepit, 3 p ^ 3 dll, dll
Taniwha

4

Mereka tidak mencegah metastabilitas dari mempengaruhi output, tetapi mereka dapat sangat meningkatkan waktu rata-rata antara insiden karena metastabilitas harus durasi yang relatif lama.

Mengasapi tiga (atau lebih) sandal jepit yang dirancang dengan baik dapat meningkatkan waktu antara insiden dengan sesuatu seperti usia bumi.


Tergantung pada kecepatan jam dan teknologi proses Anda. Satu flip-flop mungkin cukup untuk MTBF Anda menjadi sangat kecil, selama Anda tetap kendur.
jalalipop

@jalalipop Tentu. Ada beberapa informasi pengujian aktual (sangat tanggal sekarang) di kertas IEEE asli. DOI: 10.1109 / TC.1983.1676187
Spehro Pefhany

@jalalipop: umumnya ini adalah masalah yang lebih relevan ketika Anda tidak dapat menjamin waktu kendur ... alias desain asinkron, seperti FIFO yang berkomunikasi antara inti CPU dan SOC ketika masing-masing jam tidak terkunci dalam fase. Kalau tidak, Anda hanya mengatur waktu pengaturan yang sulit dan jaminan metastabilitas tidak akan terjadi.
jbord39

Ya, Metastability adalah masalah pada antarmuka asinkron. Slack yang saya maksudkan adalah slack dari logika sinkron setelah flip flop. Jika slack Anda tinggi, acara Metastability akan padam sebelum memengaruhi sisa desain Anda.
jalalipop

2

Karena flip-flop pertama, bahkan jika itu metastable, akan memiliki semua periode waktu untuk stabil. Pada saat flip-flop kedua sampel flip-flop pertama, hasilnya sudah bisa stabil.


1

Jika Anda ingin kegembiraan metastabilitas, terapkan DUA SANGAT LAMBAT INVERTER, hubungkan mereka back-to-back, dan bias (dalam simulasi) di VDD / 2. Kemudian hapus biasing, dan saksikan kecepatan penyelesaian ke level logic1 dan logic0. Anda mungkin perlu memilih tegangan bias awal selain VDD / 2.

Jika flipflop 2 atau 3 Anda lebih lambat dibandingkan dengan periode jam, masa pakai mungkin penuh dengan masalah.


1

Metastabilitas berarti bahwa, jika Anda memiliki transtion data dalam jendela waktu tertentu yang dirujuk ke jam, output akan berperilaku buruk untuk jangka waktu tertentu setelah jam tepi. Namun, jendelanya bukan interval tetap. Sebaliknya, kemungkinan nilai buruk (osilasi atau level tegangan menengah) menurun secara eksponensial seiring waktu. Jadi, jika Anda sampel sinyal dengan jam, dan kemudian menunggu sedikit sebelum menerapkan jam ke flip-flop kedua, Anda dapat mengurangi peluang bit yang buruk untuk setiap probabilitas yang diinginkan (tetapi tidak nol). Jika waktu yang dibutuhkan terlalu lama, Anda dapat menggunakan 3 atau lebih sandal jepit secara seri.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.