Atur dan tahan output waktu ketika dilanggar


9

Pertimbangkan tepi positif dipicu flip flop dengan sinyal input X dengan waktu setup 20 ns dan waktu penahanan 0 ns. Apa yang akan menjadi output?

C adalah sinyal clock dengan periode 40 ns.

Masukkan deskripsi gambar di sini

Selama tepi positif ke-6, kita melihat bahwa data (atau X) tidak stabil selama 20 ns (waktu setup) sebelum bergerak dari 1 ke 0. Jadi outputnya tidak dapat diprediksi, kan?

Ketika saya menanyakan hal ini kepada profesor saya, dia mengatakan bahwa output flip flop akan menjadi nilai input (X) sebelum 20 ns yaitu 1 di sini.

Apakah dia benar

Jawaban:


17

Jika waktu setup flip-flop adalah 20 ns, itu berarti bahwa data harus stabil setidaknya 20ns sebelum menangkap clock-edge. Demikian pula waktu tunggu adalah jumlah waktu, data harus tetap stabil setelah tepi jam muncul. Jadi bersama-sama mereka mendefinisikan "setup-hold-window", di mana data harus tetap stabil.

masukkan deskripsi gambar di sini Jika data berubah / matikan dalam jendela ini, output tidak dapat diprediksi atau metastabil.

Dalam data pertanyaan Anda, matikan di dalam jendela pengaturan sebelum jam ke-6, artinya output tidak dapat diprediksi.


Mungkin Anda dapat memperbaiki tomo profesor Anda.
Mitu Raj

8
Dan perlu disebutkan bahwa, tergantung pada penundaan internal, waktu tunggu bisa negatif. Yaitu, untuk beberapa IC Anda dapat benar-benar merilis data sebelum clock edge tiba. Tetapi masih ada jendela di mana data harus stabil.
WhatRoughBeast

1
Koreksi minor: Pada proses modern, metastabilitas sejati hanya terjadi di jendela yang sesuai urutan femtoseconds. Sebagian besar, sebagian besar kasus di mana pengaturan / penahanan dilanggar Anda tidak akan melihat metastabilitas. Hasil dalam kasus ini sebenarnya akan menjadi deterministik tetapi sangat tergantung pada suhu di samping input. Saya masih tidak akan setuju dengan profesor dan saya akan setuju dengan Anda bahwa hasilnya tidak dapat diprediksi untuk semua maksud dan tujuan, tetapi metastabilitas bukan masalah (dan sebenarnya jarang masalah).
jalalipop

7

Profesor Anda perlu mengurangi jamu.

Karena data berubah dalam waktu setup, dan karena waktu setup adalah jumlah minimum sebelum jam bahwa data harus stabil, tidak mungkin untuk mengetahui apakah output akan menjadi nol atau satu. Bahkan itu bahkan bisa memasuki keadaan metastabil dan berosilasi.


5

Jika data stabil antara pengaturan dan waktu penahanan, maka produsen kait D menjamin bahwa output kait D akan dapat diprediksi, apa yang dikatakannya akan ada di lembar data.

Jika data berubah selama pengaturan untuk menahan jendela, maka kemungkinan bahwa output akan menjadi 0 atau 1 yang solid, tetapi pabrikan tidak membuat pernyataan yang mana.

Ini hanya akan menjadi 0 atau 1 yang solid, itu tidak dijamin. Outputnya bisa menjadi metastable. Ini berarti mungkin ada waktu tambahan yang terbatas dan tidak dapat diprediksi, di luar keterlambatan propagasi normal yang dikutip dalam lembar data, di mana dua gerbang yang didorong oleh output ini dapat membuat keputusan yang berbeda tentang apakah itu angka 0 atau 1. Ini adalah Hal yang Buruk.


4

Jika input memenuhi persyaratan pengaturan dan tahan waktu, maka output pada dasarnya adalah "guanranteed" untuk mencerminkan input; jika itu melanggar waktu pengaturan, perilaku tidak lagi dijamin atau dapat diprediksi sepenuhnya, seperti yang Anda katakan.

Profesor Anda mungkin "agak mungkin" benar dalam arti bahwa ia mungkin mengungkapkan apa yang kemungkinan besar menjadi sinyal keluaran, terutama jika ia menafsirkan waktu pengaturan sebagai deskripsi deterministik dari perilaku flip-flop, daripada persyaratan minimum dengan kemungkinan variasi dari satu set kondisi ke yang berikutnya. Tetapi interpretasi dan insting Anda benar-benar tepat sasaran. Waktu pengaturan dan penahanan biasanya digunakan untuk menyatakan nilai minimum / maksimum yang perilakunya dapat diprediksi secara andal di seluruh variasi proses / tegangan / suhu, dan setiap kali input melanggar, output tidak dapat diprediksi secara andal .

Jika flip-flop umumnya memiliki hingga 20ns keterlambatan dari input ke tempat tepi jam berlaku, maka output kemungkinan besar akan berakhir seperti apa input "sekitar" (hingga) 20ns sebelum tepi jam, seperti yang disarankan profesor Anda. Tetapi satu-satunya hal yang ditentukan untuk perangkat adalah bahwa jika waktu penahanan dan penahanan terpenuhi, maka output akan mengikuti input.

Jadi saya kira dengan kata lain Anda berdua mungkin benar untuk gelar, tetapi interpretasi Anda adalah 100% benar, sedangkan jawaban profesor Anda hanya "mungkin" benar, dan sejauh mana jawabannya akan benar adalah - seperti yang Anda katakan - tidak dapat diprediksi.

(Dan tentu saja dalam arti praktis - daripada akademis - Anda hanya akan menggunakan jawaban itu dalam desain di mana dapat diterima untuk memiliki output dalam siklus jam menjadi "mungkin 1" tanpa spesifikasi apa pun tentang seberapa besar kemungkinan itu, atau di mana tidak ada konsekuensi nyata karena berpotensi memiliki flip-flop memasuki keadaan metastabil "untuk sementara waktu". Aplikasi tersebut cenderung lebih jarang.)


3

Output akan tidak diketahui dan simulator akan mencerminkan ini dengan menetapkan nilai output ke 'X'.

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.