37 / 63 · Konsep
Masukan serial dan batas frame
Tentukan urutan masukan dan tepi valid, lalu hitung susunan bit konversi serial-paralel.
Pelajaran dapat dibaca gratis. Daftar untuk menyimpan progres.
Mengubah urutan waktu menjadi posisi vektor
Masukan serial membawa satu bit per tepi yang diterima. Dengan registerRegister Rangkaian penyimpan beberapa bit keadaan. Register sinkron mata kuliah ini menangkap masukan yang ditentukan pada tepi clock. Selengkapnya tiga bit q<={q[1:0],din}, q awal=000, dan masukan 1,0,1,1:
| Bit diterima | din | q baru |
|---|---|---|
| 1 | 1 | 001 |
| 2 | 0 | 010 |
| 3 | 1 | 101 |
| 4 | 1 | 011 |
Bit baru masuk di kanan dan bit lama bergeser ke indeks lebih tinggi. Register adalah jendela tiga bit terbaru; bit keempat menghilangkan bit pertama.
Setiap kolom mengamati tepi naikTepi naik Saat clock berubah 0 ke 1, berbeda dari tingkat yang mencakup seluruh interval CLK=1. Selengkapnya, dengan masukan sebelum dan keadaan after setelah pembaruan. Penjajaran bukan tundaan fisikTundaan propagasi Waktu sejak masukan berubah hingga keluaran stabil pada nilai benar. Kesetaraan logika berbeda dari karakteristik waktu. Selengkapnya. Kolom pertama reset; sesudahnya hanya tiga bit terbaru dari 1,0,1,1 yang tersisa dalam q. Amati bit pertama keluar pada kolom terakhir.
Lihat data gelombang
| Sinyal | Gelombang | Nilai bus |
|---|---|---|
| edge | 23452 | E0 → E1 → E2 → E3 → E4 |
| reset | 10... | |
| din | 0101. | |
| q sesudah | 23452 | 000 → 001 → 010 → 101 → 011 |
MSB-first dan LSB-first adalah aturan komunikasi
Mengirim delapan bit mulai MSBMSB Bit berbobot tertinggi. Indeksnya bergantung arah deklarasi vektor, sehingga tidak selalu nomor indeks terbesar. Selengkapnya lalu menerima delapan kali dengan cara ini menyusun kembali vektor asli. Mulai LSBLSB Bit berbobot terendah. Periksa arah penulisan dan aturan indeks bersama. Selengkapnya menghasilkan susunan terbalik sehingga perlu sambungan berbeda atau pengurutan ulang akhir. Ini bukan opsi tampilan; pengirim dan penerima harus menyepakati protokol.
Nilai data saja tidak menentukan batas frame
Diperlukan keadaan untuk mengetahui tepi bit pertama, jumlah bit diterima, dan kapan hasil boleh digunakan. Biasanya digunakan pencacah bit diterima bersama valid atau done. Jika ada siklus kosong, hitung data yang diterima, bukan clock.
Dengan ready/validHandshake Kontrak yang mengesahkan transfer ketika valid pengirim dan ready penerima sama-sama 1 pada tepi sama. Termasuk aturan mempertahankan data saat menunggu. Selengkapnya, perbarui shift dan count bersama hanya pada tepi ketika kondisi ini benar. Menerapkan enable hanya pada salah satunya membuat data dan panjang tidak selaras. Praktikum masukan kontinu adalah kasus sederhana yang menerima setiap tepi data.
Coba sendiri
Pada frame delapan bit, valid=0 selama dua siklus setelah bit keempat. Dengan ready=1, bagaimana pencacah dan register geser bekerja?
Baca penjelasan
accept=0 pada kedua siklus: tahan pencacah dan register data bersama. Bit valid berikutnya menjadi bit kelima. Menghitung clock saja dapat mengumumkan selesai sebelum data cukup.