Desain RTL: Jalur Data dan Pipeline
Tetapkan kontrak numerik dan siklus, lalu rancang ALU, pengendali, pipeline, dan penyangga ready-valid. Empat praktikum model acuan yang dapat dijalankan memeriksa batas aritmetika, penundaan, FIFO, dan urutan sebelum proyek akhir komputasi aliran.
Yang akan Anda pelajari
- Membedakan kontrak lebar bit, sifat bertanda, carry, dan overflow
- Menjadwalkan transfer register, kendali FSM, dan memori sinkron
- Menghitung latensi, laju keluaran, dan interval inisiasi
- Menangani penundaan ready-valid dan batas FIFO tanpa kehilangan data
- Membuat pemeriksaan scoreboard yang mencakup hazard dan reset
- Memverifikasi proyek akhir komputasi aliran dengan model mandiri
Sebelum memulai
Latihan di browser memakai model pembelajaran, bukan kompilasi atau eksekusi HDL. Untuk menjalankan kode sumber secara terpisah, ikuti panduan Digital Design Studio untuk sistem operasi Anda dan masuk bila tindakan tersebut memerlukannya.
Instalasi dan penggunaan pertama ↗ · Unduhan ↗Kurikulum
- Kontrak numerik dan aritmetika
- Ubah persamaan menjadi kontrak jalur dataKonsep
Tetapkan lebar bit, peristiwa penerimaan, dan hasil yang valid bersama aturan aritmetikanya.
- Lebar bit, perluasan tanda, dan overflowKonsep
Gunakan contoh numerik untuk membedakan penafsiran, perluasan, dan penyempitan.
- Praktikum: model acuan ALU delapan bitPraktikum
Periksa ADD, SUB, AND, XOR, carry, dan borrow dalam program mandiri yang dapat dijalankan.
- Pemeriksaan: carry dan overflow bertandaKuis
Bedakan batas numerik dalam penafsiran tak bertanda dan bertanda.
- Transfer register dan kendali
- Baca transfer register pada tepi clockKonsep
Pisahkan keadaan lama dan berikutnya, lalu telusuri cara sinyal enable mempertahankan nilai yang disimpan.
- Jadwalkan sumber daya bersama dengan FSMKonsep
Akumulasikan empat nilai dengan satu penjumlah sambil mendefinisikan transisi keadaan dan penangkapan data.
- Kontrak pewaktuan untuk permintaan dan respons memoriKonsep
Bedakan pembacaan sinkron, tag yang ditunda, dan benturan pada alamat yang sama.
- Pemeriksaan: mempertahankan hasil yang selesaiKuis
Pisahkan pengiriman dalam keadaan DONE dari penerimaan permintaan berikutnya.
- Pewaktuan dan laju keluaran pipeline
- Simpan transaksi lengkap pada batas pipelineKonsep
Pisahkan aritmetika penjumlahan dan penskalaan sambil menjaga keselarasan valid, tag, dan lebar bit.
- Latensi, laju keluaran, dan interval inisiasiKonsep
Hitung tundaan satu transaksi secara terpisah dari laju penyelesaian berkelanjutan.
- Praktikum: telusuri dua tahap dan gelembungPraktikum
Hitung keadaan berikutnya dari keadaan lama dan bandingkan tag, nilai, serta tepi keluaran.
- Pemeriksaan: makna II=1Kuis
Hindari mencampuradukkan jumlah tahap dengan laju keluaran berkelanjutan.
- Kendali aliran ready-valid
- Peristiwa penerimaan dan kestabilan selama penundaanKonsep
Tetapkan tanggung jawab sumber dan penerima serta pertahankan muatan yang tertunda.
- Rancang register elastis satu slotKonsep
Terima masukan ke slot kosong atau gantikan item yang diterima keluar secara bersamaan.
- Praktikum: periksa 1024 pola penundaanPraktikum
Uji penahanan, penggantian, dan pengosongan dengan seluruh pola ready sepuluh siklus.
- Pemeriksaan: menghitung transaksi yang tertundaKuis
Bedakan durasi valid dari jumlah jabat tangan sebenarnya.
- Batas FIFO dan hazard
- FIFO kosong, penuh, dan transfer serentakKonsep
Pisahkan okupansi dari penunjuk dan tentukan perilaku push/pop pada batas.
- Ketergantungan, hazard sumber daya, dan penerusan hasilKonsep
Bandingkan penundaan dan penerusan ketika operasi membutuhkan hasil sebelumnya.
- Pertahankan pencatatan transaksi saat pengosongan dan resetKonsep
Pisahkan pembatalan dari pengiriman dan selaraskan status valid dengan antrean yang diharapkan.
- Pemeriksaan: penggantian dalam FIFO penuhKuis
Hitung okupansi dan urutan untuk push dan pop serentak.
- Verifikasi dan kalkulator aliran
- Gabungkan scoreboard dengan invarian lokalKonsep
Periksa nilai, urutan, okupansi, dan kestabilan penundaan dari transaksi yang diterima.
- Praktikum proyek akhir: FIFO dan kalkulator aliran dua tahapPraktikum
Hubungkan FIFO masukan berkedalaman dua, dua tahap elastis, dan scoreboard.
- Ukur kinerja dan tinjau desainKonsep
Tetapkan jendela pengamatan, diagnosis penundaan, dan batas bukti model.
- Pemeriksaan akhir: penundaan dan pengurasan tanpa kehilanganKuis
Gabungkan aritmetika, pencatatan pekerjaan tersisa, dan syarat penyelesaian.