Primitif Gerbang Bawaan
Termasuk bagian Dasar-Dasar dalam perjalanan Verilog di Coddy. Pelajaran 39 dari 90.
Verilog memiliki primitif gerbang bawaan yang memungkinkan kamu mendeskripsikan sirkuit logika menggunakan simbol gerbang yang sebenarnya. Ini disebut pemodelan struktural. Kamu membangun sirkuit dengan menghubungkan gerbang, seperti menggambar skema.
Primitif gerbang adalah kata kunci yang sudah ditentukan sebelumnya untuk memodelkan gerbang logika dasar. Alih-alih menulis ekspresi seperti assign out = a & b, kamu membuat instans gerbang:
and(out, a, b); // Gerbang AND dengan output out serta input a dan bSintaks Umum
gate_type (output, input1, input2, ...);- Argumen pertama selalu berupa output
- Argumen berikutnya adalah input (1 atau lebih, tergantung pada gerbangnya)
Gerbang Primitif yang Tersedia
| Jenis Gerbang | Kata Kunci | Jumlah Input |
|---|---|---|
| AND | and | 2 atau lebih |
| OR | or | 2 atau lebih |
| NOT | not | 1 |
| NAND | nand | 2 atau lebih |
| NOR | nor | 2 atau lebih |
| XOR | xor | 2 atau lebih |
| XNOR | xnor | 2 atau lebih |
Cara Kerja Gerbang Logika
Saat kamu menulis and(out, a, b), Verilog membuat gerbang AND yang terus-menerus menggerakkan out dengan hasil a & b. Setiap kali a atau b berubah, out langsung diperbarui, seperti gerbang sungguhan.
Primitif Gerbang vs Penugasan Kontinu
Kedua metode menghasilkan perangkat keras yang sama:
// Gerbang primitif
and(out, a, b);
// Penugasan kontinu (hasil yang sama)
assign out = a & b;Primitif gerbang berguna saat kamu ingin menggambarkan sirkuit sebagai kumpulan gerbang (gaya struktural). Penugasan kontinu lebih cocok untuk gaya perilaku (ekspresi).
Tantangan
Yang harus dilakukan:
- Tambahkan gerbang primitif yang tepat agar rangkaian ini berfungsi. Module harus menghasilkan AND dari input
adanb. Port output sudah bernamac.
Coba sendiri
module gate_challenge (
input a,
input b,
output c
);
// TODO: Tambahkan primitif gerbang yang tepat
// output c harus berupa a AND b
endmodulePelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Dasar-Dasar
1Pengantar
Apa Itu VerilogPerangkat Keras vs Perangkat LunakModul PertamamuKomentarTingkat Abstraksi Desain4Operator Bagian 1
Operator AritmetikaOperator ModuloOperator PerbandinganUlasan, Matematika SederhanaOperator Bitwise7Penugasan dan Gerbang
Penugasan KontinuPenugasan dengan OperatorPrimitif Gerbang BawaanGerbang AND, OR, NOTGerbang XOR, XNORUlasan: Rangkaian Gerbang Logika10Pengambilan Keputusan
Pernyataan IfIf - ElseRangkuman: Komparator SederhanaPernyataan CaseCasex dan CasezRangkuman: Desain ALU5Operator Bagian 2
Operator LogikaOperator ReduksiOperator GeserOperator PenggabunganOperator KondisionalRangkuman, Tantangan Operator3Sistem Bilangan
Representasi BinerBilangan BerukuranBilangan Tanpa UkuranBilangan NegatifNilai Khusus X dan ZRingkasan: Format Bilangan6Modul
Struktur ModulPort Input dan OutputPort InoutInstansiasi ModulPemetaan Port Berdasarkan NamaPemetaan Port Berdasarkan UrutanRangkuman: Bangun Modul9Blok Prosedural
Blok alwaysBlok initialDaftar SensitivitasPenugasan BlockingPenugasan Non-BlockingRangkuman: always vs initial15Pengendali Lampu Lalu Lintas
Menentukan StatusLogika Mesin StatusLatihan sendiri: Compiler Verilog online