42 / 63 · Konsep
Verifikasi pergeseran dan penyelarasan data/valid
Temukan kesalahan yang tersembunyi oleh pola simetris dan kesalahan valid yang bergeser satu siklus.
Pelajaran dapat dibaca gratis. Daftar untuk menyimpan progres.
Pilih pola yang mengungkap kesalahan
Menggeser hanya 0000 atau 1111 menyembunyikan pembalikan arah. Lacak tiap posisi dengan pola asimetris seperti 1000 atau satu bit 1. Keadaan awal selalu nol juga dapat menyembunyikan sebagian kesalahan inisialisasi dan penahanan.
Pada registerRegister Rangkaian penyimpan beberapa bit keadaan. Register sinkron mata kuliah ini menangkap masukan yang ditentukan pada tepi clock. Selengkapnya tiga bit awal 000, masukan 1,0,0 memberi 001→010→100. Arah sebaliknya memberi 100→010→001, berbeda sejak tepi pertama.
Tinjau dua representasi model acuan
Bandingkan model numerik dengan RTL sliceSlice Pemilihan rentang bit berurutan pada vektor. Rentang pilihan menentukan lebar dan urutan bit hasil. Selengkapnya dan konkatenasi tiap tepi diterima. Untuk N=3, delapan keadaan dan dua masukan memberi 16 transisi yang dapat diuji seluruhnya. Tambahkan kombinasi reset/enable secara terpisah.
Setiap kolom mengamati tepi naikTepi naik Saat clock berubah 0 ke 1, berbeda dari tingkat yang mencakup seluruh interval CLK=1. Selengkapnya, masukan sebelum dan keadaan after sesudah; ini bukan tundaan fisikTundaan propagasi Waktu sejak masukan berubah hingga keluaran stabil pada nilai benar. Kesetaraan logika berbeda dari karakteristik waktu. Selengkapnya. Dari q awal=000, tepi kedua enable=0 sehingga q tetap 001 walaupun din berubah. Hitung tepi dan penerimaan secara terpisah.
Lihat data gelombang
| Sinyal | Gelombang | Nilai bus |
|---|---|---|
| edge | 2345 | E0 → E1 → E2 → E3 |
| enable | 101. | |
| din | 10.1 | |
| q sesudah | 2.34 | 001 → 010 → 101 |
Reproduksi gelombangnya: satu tepi din=1 memberi 001; tepi berikutnya enable=0,din=0 mempertahankan 001. Aktifkan enable dan berikan 0 lalu 1: 010 lalu 101. Model hanya menangani data; kebutuhan menghentikan valid dengan enable sama dibahas di bawah.
Reset sinkron lebih diprioritaskan daripada enable. Jika enable=0, pertahankan nilai tersimpan. q=000; q_next = (2q + din) mod 8
valid merupakan bagian jalur data
Jika data berhenti tetapi valid maju, atau sebaliknya, penerima mengonsumsi sampel salah. Bit keluaran benar saja tidak membuktikan antarmuka benar.
| Pengujian | Perilaku harapan |
|---|---|
| Masukan kontinu | Urutan benar dan latensi valid tetap |
| enable=0 di tengah | Data dan valid bertahan bersama |
| Reset di tengah | Validitas frame lama dihapus |
| Frame berurutan | Akhir frame lama dan awal baru dibedakan |
Catat nomor penerimaan agar tidak tertukar dengan nomor clock. Contoh penyangkal minimum yang mencakup batas frame lebih efektif daripada membaca ulang gelombang panjang.
Coba sendiri
Data hanya bergeser saat enable=1, tetapi valid bergeser setiap clock. Stimulus apa yang paling mudah mengungkap kesalahan?
Baca penjelasan
Sisipkan tepi berhenti enable=0 di antara dua data berbeda. valid dapat tiba lebih awal atau melekat pada data salah. Bandingkan acuan yang menerapkan kondisi penerimaan sama pada data dan metadata.