Rangkaian Logika Digital
Mulai dari sinyal digital dan gerbang AND, OR, XOR menuju rangkaian kombinasional, latch, flip-flop, pencacah, serta mesin keadaan. Hubungkan tabel kebenaran, persamaan, rangkaian, dan gelombang melalui praktikum RTL. Materi lanjutan opsional memperluasnya ke jalur data dan antarmuka.
Yang akan Anda pelajari
- Bedakan nilai logika dan tegangan, lalu jelaskan tabel kebenaran, simbol, serta rangkaian setara delapan jenis gerbang.
- Rancang rangkaian kombinasional dari spesifikasi melalui SOP, POS, dan peta Karnaugh, lalu periksa seluruh kombinasi.
- Tentukan kondisi masukan dan nilai batas enkoder, dekoder, MUX, DEMUX, adder, serta pembanding.
- Jelaskan perbedaan latch dan flip-flop serta rancang aturan pembaruan reset, enable, dan clock.
- Implementasikan pencacah, pergeseran, dan mesin keadaan dalam RTL, lalu analisis timing, masukan asinkron, dan debounce.
- Verifikasi dengan model acuan independen dan selesaikan detektor pola 101 bertumpang tindih.
- Perluas melalui materi opsional tentang ALU, memori, FIFO, pipeline, dan antarmuka.
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
- Sinyal digital dan representasi bilangan
- Sinyal digital: syarat membaca tegangan sebagai 0 dan 1Konsep
Bedakan nilai logika dari tegangan, lalu hitung ambang masukan, margin derau, dan tundaan propagasi.
- Sistem bilangan dan representasi lebar tetapKonsep
Selain konversi basis, hitung rentang representasi, jumlah bit yang diperlukan, dan kesalahan pemotongan.
- Gerbang logika dan tabel kebenaran
- Gerbang dasar: AND, OR, NOT, dan BUFFERKonsep
Hubungkan simbol rangkaian dengan tabel kebenaran dan susun kondisi menggunakan beberapa gerbang.
- NAND, NOR, dan membaca simbol pembalikanKonsep
Bedakan cakupan negasi dan hubungkan simbol serta persamaan yang setara melalui hukum De Morgan.
- XOR dan XNOR: kesamaan, perbedaan, dan paritasKonsep
Bedakan XOR dua masukan dari paritas banyak masukan dan jelaskan batas deteksi kesalahan.
- Gerbang universal: membangun rangkaian hanya dengan NANDKonsep
Tunjukkan kelengkapan fungsi NAND dan NOR melalui konstruksi serta verifikasi sinyal perantara XOR.
- Dari persamaan logika ke desain rangkaian
- Aljabar Boolean, transformasi setara, dan biaya implementasiKonsep
Ubah rangkaian dengan De Morgan dan faktorisasi, serta bedakan kesetaraan logika dari karakteristik waktu.
- Dari tabel kebenaran ke persamaan: minterm, maxterm, SOP, dan POSKonsep
Turunkan fungsi yang sama dari baris keluaran 1 dan 0, lalu hubungkan dengan notasi peta Karnaugh.
- Peta Karnaugh dan syarat don't-careKonsep
Sederhanakan persamaan melalui ketetanggaan kode Gray dan nyatakan asumsi masukan yang tidak digunakan.
- Latihan desain: dari spesifikasi ke rangkaian mayoritas tiga masukanPraktikum
Ubah spesifikasi bahasa alami menjadi tabel lengkap, lalu hubungkan minimisasi, implementasi, dan pemeriksaan menyeluruh.
- Alamat dan rangkaian seleksi
- Dekoder, seleksi one-hot, dan masukan validKonsep
Ubah alamat biner menjadi jalur seleksi individual dan rancang enable, rentang valid, serta invarian seleksi.
- Enkoder dan prioritas: memilih satu dari beberapa permintaanKonsep
Bedakan asumsi masukan enkoder one-hot dari valid dan hasil seleksi enkoder prioritas.
- DEMUX dan dekoder: mengirim data ke jalur pilihanKonsep
Bandingkan arah dan peran MUX, DEMUX, serta dekoder, lalu verifikasi one-hot dan one-hot-or-zero.
- Sinyal dan port: kontrak lebar, arah, dan waktuKonsep
Baca antarmuka dan pisahkan acuan verifikasi keluaran kombinasional dari keluaran keadaan.
- Dari tabel kebenaran ke MUX dan ekspansi ShannonKonsep
Turunkan persamaan seleksi dan uraikan fungsi logika umum menggunakan MUX.
- Rangkaian aritmetika dan perbandingan
- Adder dan struktur perambatan carryKonsep
Turunkan persamaan full adder dan analisis fungsi, lebar, serta tundaan ripple-carry bersama-sama.
- Komplemen dua, perluasan tanda, dan overflowKonsep
Bedakan interpretasi signed dari syarat overflow penjumlahan melalui persamaan dan contoh penyangkal.
- Pembanding dan spesifikasi nilai batasKonsep
Bedakan perbandingan unsigned dan signed atas pola bit sama serta verifikasi kondisi batas.
- Latch, flip-flop, dan penyimpanan keadaan
- Awal penyimpanan: umpan balik serta latch SR dan DKonsep
Pahami dua keadaan stabil sambungan silang, masukan SR terlarang, dan interval transparan latch D.
- Flip-flop D: dari tingkat ke tepiKonsep
Bandingkan waktu pembaruan latch dan flip-flop serta hubungkan konsep register, setup, dan hold.
- Flip-flop, enable, dan prioritas kontrolKonsep
Definisikan penahanan, pemuatan, dan reset melalui keadaan berikutnya serta hindari clock gating tidak disengaja.
- Transisi keadaan sinkron dan peran clockKonsep
Tafsirkan sistem sinkron sebagai sekumpulan register yang membaca keadaan lama yang sama.
- Implementasi RTL dan verifikasi MUX
- Seleksi kombinasional dan latensi keluaran berregisterKonsep
Analisis perubahan antarmuka dan latensi ketika hasil MUX disimpan dalam register.
- RTL kombinasional dan penugasan lengkapKonsep
Nyatakan fungsi sama dengan operator kondisional dan always_comb serta temukan kelalaian yang membentuk latch.
- Praktikum: pengujian menyeluruh MUX dan analisis keluaran berregisterPraktikum
Terapkan masukan sama ke jalur kombinasional dan register, lalu verifikasi melalui tabel kebenaran serta waktu sampling.
- Waktu sampling dan hubungan sebab pada gelombangKonsep
Baca gelombang dengan memisahkan stabilisasi kombinasional, penangkapan clock, dan urutan kejadian.
- 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.
- Pencacah dan pembaruan sinkron
- Jumlah keadaan, lebar pencacah, dan kode tidak terpakaiKonsep
Tentukan lebar dari rentang hitungan dan definisikan pemulihan keadaan tidak valid.
- Keadaan berikutnya pencacah dan prioritas resetKonsep
Satukan kenaikan, penahanan, reset, dan perputaran, lalu hitung hasil tiap tepi.
- Penugasan nonblocking dan pembaruan keadaan serentakKonsep
Pisahkan nilai lama dan berikutnya untuk menafsirkan RTL pipeline serta pencacah dengan tepat.
- Praktikum: verifikasi reset, perputaran, dan invarian pencacahPraktikum
Bandingkan tiap tepi dengan acuan dan pisahkan pengaruh inisialisasi, reset, serta lebar bit.
- Pencacah modulo, saturasi, dan pulsa terminalKonsep
Rancang penanganan maksimum dan siklus tepat sinyal terminal-count.
- Debug pencacah dan contoh penyangkal minimumKonsep
Rancang pengujian singkat yang membedakan kesalahan reset, enable, dan batas perputaran.
- Pemeriksaan: lebar, prioritas, dan batas perputaranKuis
Periksa nilai batas dan kontrol yang aktif bersamaan berdasarkan kontrak transisi keadaan.
- Register geser dan aliran data
- Indeks vektor, urutan bit, dan tandaKonsep
Baca jalur data dengan memisahkan indeks, urutan transmisi serial, dan interpretasi aritmetika.
- Masukan serial dan batas frameKonsep
Tentukan urutan masukan dan tepi valid, lalu hitung susunan bit konversi serial-paralel.
- Persamaan keadaan register geserKonsep
Nyatakan perpindahan bit sebagai transisi vektor dan hubungkan panjang penyimpanan dengan latensi.
- Lebar slice, konkatenasi, dan pengulanganKonsep
Bangun jalur data dengan menghitung lebar total dan syarat pelestarian nilai.
- Praktikum: perpindahan data serial dan urutan bitPraktikum
Verifikasi arah, bit hilang, dan latensi setelah reset dengan pola biner serta acuan bilangan bulat.
- Membedakan latensi siklus dan throughputKonsep
Tetapkan titik pengamatan jalur N tahap dan hitung latensi serta throughput.
- Verifikasi pergeseran dan penyelarasan data/validKonsep
Temukan kesalahan yang tersembunyi oleh pola simetris dan kesalahan valid yang bergeser satu siklus.
- Pemeriksaan: latensi, penyelarasan, dan pelestarian masukanKuis
Periksa arah, jumlah perpindahan valid, dan titik pengamatan bersama.
- Timing, masukan nyata, dan mesin keadaan
- Setup, hold, dan anggaran timingKonsep
Pisahkan jalur maksimum dan minimum serta hitung hold yang berbeda dari frekuensi clock.
- Hazard logika dan batas persamaan setaraKonsep
Analisis bagaimana dua rangkaian setara pada keadaan stabil menghasilkan transien berbeda akibat tundaan.
- Batas domain clock dan metastabilitasKonsep
Pahami cakupan sinkroniser dua tahap dan bedakan level satu bit, pulsa singkat, serta transfer multibit.
- Tombol nyata: sinkronisasi, debounce, dan satu kejadianKonsep
Pisahkan sinkronisasi asinkron dan penghilangan bounce, lalu rancang debounce berdasarkan sampel berurutan.
- Mesin keadaan: memisahkan keadaan, transisi, dan keluaranKonsep
Bangun FSM dari tabel spesifikasi dan bandingkan Moore/Mealy, keadaan ilegal, serta kebijakan permintaan.
- Rencana verifikasi, cakupan, dan model acuan independenKonsep
Bedakan tes lolos dari kontrak terpenuhi dan masukkan batas, persilangan, serta contoh minimum.
- Proyek terpadu: detektor 101 bertumpang tindihKonsep
Terapkan pengurangan keadaan, validitas masukan, keluaran berregister, dan verifikasi independen dalam satu desain.
- Lanjutan opsional · Jalur data aritmetika
- ALU dan flag zero, negative, carry, serta overflowKonsep
Berbagi adder ADD/SUB dan pisahkan carry dari overflow signed untuk menurunkan perbandingan.
- Barrel shifter dan tahap MUXKonsep
Implementasikan geser variabel melalui tahap MUX 1,2,4,8, berbagi arah, serta tangani tanda dan jumlah geser berlebih.
- Titik tetap, pembulatan, dan saturasiKonsep
Tentukan rentang melalui W,F dan rancang pembulatan genap guard/sticky diikuti saturasi.
- Pengali unsigned multisiklus shift-addKonsep
Bagi akumulasi ke W siklus dan verifikasi penerimaan, selesai, jumlah terakhir, lebar, serta invarian.
- Lanjutan opsional · Memori dan FIFO
- Memori sinkron dan kontrak konflik baca/tulisKonsep
Tentukan respons berregister dan mode konflik, dengan memisahkan validitas dari inisialisasi alamat.
- Register file dua baca, satu tulis, dan bypassKonsep
Implementasikan dua baca independen dan satu tulis sinkron, lalu periksa bypass, inisialisasi, serta validitas.
- FIFO satu clock: pointer dan kebijakan batasKonsep
Implementasikan pointer dan occupancy FIFO empat tempat dengan penerimaan eksplisit saat kosong dan penuh.
- Verifikasi FIFO dan memori dengan scoreboard independenKonsep
Tulis scoreboard tanpa pointer DUT dan rencanakan batas, reset, validitas, serta baca belum diinisialisasi.
- Lanjutan opsional · Pipeline dan antarmuka
- 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.
- Pipeline yang dapat berhenti dan backpressureKonsep
Hitung ready tiap tahap untuk mencegah kehilangan, duplikasi, dan perhitungan ulang saat berhenti atau bergerak bersamaan.
- Antarmuka register dan waktu terjadinya efek sampingKonsep
Tentukan alamat, penulisan byte, dan penahanan respons agar satu permintaan menghasilkan satu efek.
- Proyek praktikum: pemancar UART dan timing frameKonsep
Gabungkan pencacah pembagi, register geser, dan kontrol aliran untuk frame 8N1, lalu verifikasi batas bit.