Altifigence Academy
Perancangan digitalGratis · Dasar

Dasar-dasar Perancangan RTL

Nyatakan rangkaian digital dalam SystemVerilog. Pelajari tipe, lebar, tanda, logika kombinasional dan sekuensial, modul, parameter serta generate. Periksa batas dan kegagalan dengan testbench mandiri, lalu hubungkan pulsa berkala ke akumulator dan simpan bukti yang dapat direproduksi.

SystemVerilogPerancangan modulTestbench
Pembelajaran saya

Yang akan Anda pelajari

  • Menentukan lebar, tanda, penggerak, waktu valid dan nilai reset tiap sinyal.
  • Memisahkan penugasan kombinasional lengkap dari pembaruan keadaan berdasarkan clock.
  • Membangun struktur statis dengan parameter dan generate serta memeriksa konfigurasi batas.
  • Menyusun modul memakai koneksi port bernama dan fungsi.
  • Menulis stimulus tanpa race serta model acuan mandiri.
  • Membedakan bukti kompilasi, simulasi, sintesis dan eksekusi DDS.

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

  1. RTL dan kontrak modul
    • RTL: menggambarkan rangkaian yang bekerja bersamaanKonsep

      Pisahkan urutan perangkat lunak dari struktur perangkat keras paralel serta tentukan keadaan, keadaan berikutnya dan pengamatan.

    • Sinyal dan port: kontrak lebar, arah, dan waktuKonsep

      Baca antarmuka dan pisahkan acuan verifikasi keluaran kombinasional dari keluaran keadaan.

    • Modul, port dan instans: koneksi sebagai kontrakKonsep

      Susun modul kombinasional dengan koneksi bernama dan periksa penggerak tunggal serta batas hierarki.

    • Pemeriksaan: keluaran kombinasional dan tersimpanKuis

      Bedakan perubahan masukan dan pengamatan register.

  2. Tipe, lebar, tanda dan ekspresi
    • logic, wire, X/Z dan lebar eksplisitKonsep

      Pisahkan tipe, penggerak dan penyimpanan serta uji literal, perbandingan, perluasan dan nilai tak diketahui.

    • Indeks vektor, urutan bit, dan tandaKonsep

      Baca jalur data dengan memisahkan indeks, urutan transmisi serial, dan interpretasi aritmetika.

    • Lebar slice, konkatenasi, dan pengulanganKonsep

      Bangun jalur data dengan menghitung lebar total dan syarat pelestarian nilai.

    • Komplemen dua, perluasan tanda, dan overflowKonsep

      Bedakan interpretasi signed dari syarat overflow penjumlahan melalui persamaan dan contoh penyangkal.

    • Pemeriksaan: rentang dan perluasan eksplisitKuis

      Periksa lebar masukan dan keluaran bersama.

  3. RTL kombinasional lengkap dan verifikasi
    • RTL kombinasional dan penugasan lengkapKonsep

      Nyatakan fungsi sama dengan operator kondisional dan always_comb serta temukan kelalaian yang membentuk latch.

    • Enkoder dan prioritas: memilih satu dari beberapa permintaanKonsep

      Bedakan asumsi masukan enkoder one-hot dari valid dan hasil seleksi enkoder prioritas.

    • Verifikasi MUX: pengujian menyeluruh dan propertiKonsep

      Periksa cakupan masukan kombinasional dan penyimpanan secara terpisah, lalu minimalkan contoh penyangkal.

    • Pemeriksaan desain: kesetaraan seleksi dan waktu pengamatanKuis

      Bedakan verifikasi yang cukup dengan tabel kebenaran dari yang memerlukan pengamatan clock.

  4. Keadaan, penugasan dan prioritas reset
    • Flip-flop, enable, dan prioritas kontrolKonsep

      Definisikan penahanan, pemuatan, dan reset melalui keadaan berikutnya serta hindari clock gating tidak disengaja.

    • Penugasan nonblocking dan pembaruan keadaan serentakKonsep

      Pisahkan nilai lama dan berikutnya untuk menafsirkan RTL pipeline serta pencacah dengan tepat.

    • Pencacah modulo, saturasi, dan pulsa terminalKonsep

      Rancang penanganan maksimum dan siklus tepat sinyal terminal-count.

    • Praktikum: verifikasi reset, perputaran, dan invarian pencacahPraktikum

      Bandingkan tiap tepi dengan acuan dan pisahkan pengaruh inisialisasi, reset, serta lebar bit.

    • Pemeriksaan: lebar, prioritas, dan batas perputaranKuis

      Periksa nilai batas dan kontrol yang aktif bersamaan berdasarkan kontrak transisi keadaan.

  5. Parameter dan pembentukan struktur statis
    • parameter, localparam, $clog2 dan konfigurasi batasKonsep

      Pisahkan masukan saat eksekusi dari konfigurasi serta rancang lebar dan akhir untuk N=1 dan nilai bukan pangkat dua.

    • generate: membangun rangkaian statis dengan perulanganKonsep

      Gunakan genvar dan generate-if untuk hierarki bernama dan periksa susunan lane.

    • function automatic dan ekspresi pakai ulangKonsep

      Tulis fungsi tanpa waktu simulasi serta periksa lebar, tanda dan kemandirian acuan.

    • Pemeriksaan: N=1 dan lebarKuis

      Pisahkan lebar minimum dan keadaan valid.

  6. Testbench dan verifikasi mandiri
    • Waktu sampling dan hubungan sebab pada gelombangKonsep

      Baca gelombang dengan memisahkan stabilisasi kombinasional, penangkapan clock, dan urutan kejadian.

    • Praktik: testbench yang melaporkan kegagalannya sendiriPraktikum

      Pisahkan DUT, stimulus, acuan dan pemeriksaan untuk reset, enable dan putaran tanpa race.

    • Rencana verifikasi, cakupan, dan model acuan independenKonsep

      Bedakan tes lolos dari kontrak terpenuhi dan masukkan batas, persilangan, serta contoh minimum.

    • Debug pencacah dan contoh penyangkal minimumKonsep

      Rancang pengujian singkat yang membedakan kesalahan reset, enable, dan batas perputaran.

    • Pemeriksaan: acuan dan raceKuis

      Pilih harapan mandiri dan pengamatan setelah pembaruan.

  7. Penyusunan modul dan praktik terpadu
    • Mesin keadaan: memisahkan keadaan, transisi, dan keluaranKonsep

      Bangun FSM dari tabel spesifikasi dan bandingkan Moore/Mealy, keadaan ilegal, serta kebijakan permintaan.

    • Proyek terpadu: detektor 101 bertumpang tindihKonsep

      Terapkan pengurangan keadaan, validitas masukan, keluaran berregister, dan verifikasi independen dalam satu desain.

    • Ready/valid dan buffer elastis satu tempatKonsep

      Rancang transfer tanpa kehilangan/duplikasi dan masukan/keluaran bersamaan pada jalur yang dapat berhenti.

    • Pipeline perkalian-penjumlahan dan penyelarasan dataKonsep

      Bagi operasi dengan register dan selaraskan data, valid, serta operand tambahan per transaksi.

    • Praktik terpadu: pulsa berkala dan akumulator diaktifkanPraktikum

      Tetapkan transfer dengan nilai lama dan uji jeda, pulsa berurutan serta reset bersamaan.

  8. Diagnostik alat dan cakupan hasil
    • Setup, hold, dan anggaran timingKonsep

      Pisahkan jalur maksimum dan minimum serta hitung hold yang berbeda dari frekuensi clock.

    • Batas domain clock dan metastabilitasKonsep

      Pahami cakupan sinkroniser dua tahap dan bedakan level satu bit, pulsa singkat, serta transfer multibit.

    • Kompilasi, lint dan sintesis: cakupan diagnostikKonsep

      Tetapkan sumber, top dan bahasa serta bedakan sintaks, lebar, latch dan pemeriksaan fungsi.

    • Catatan eksekusi dan melanjutkan praktik DDSKonsep

      Sertakan sumber, masukan, harapan, kegagalan dan versi agar praktik dapat diulang.

    • Pemeriksaan akhir: fungsi dan buktiKuis

      Pisahkan hasil lokal dari penerimaan praktik DDS gratis.

Pilihan berlaku di peramban ini. Ubah kapan saja di bagian bawah halaman.