Desain Mux 2-ke-1
Termasuk bagian Dasar-Dasar dalam perjalanan Verilog di Coddy. Pelajaran 64 dari 90.
Tantangan
Multiplexer (MUX) adalah sirkuit digital yang memilih salah satu dari beberapa input dan meneruskannya ke satu output berdasarkan sinyal pemilih. Anggap saja seperti pemilih data. Ada beberapa input yang masuk, lalu kamu memilih input yang diteruskan ke output.
Dalam proyek ini, kamu akan membuat multiplexer dengan berbagai ukuran menggunakan pernyataan if-else dan case.
Multiplexer 2-ke-1
Multiplexer 2-ke-1 adalah bentuk yang paling sederhana. Multiplexer ini memiliki dua input data (in0 dan in1), satu input pemilih (sel), dan satu output (out). Saat sel bernilai 0, output mengikuti in0. Saat sel bernilai 1, output mengikuti in1. Kamu akan menerapkannya menggunakan pernyataan if-else di dalam blok always @(*).
Contoh: Jika in0 = 0, in1 = 1, dan sel = 1, maka out = 1.
Multiplexer 2-ke-1 memilih salah satu dari dua input dan meneruskannya ke output berdasarkan sinyal pemilih.
Tabel Kebenaran
| sel | out |
|---|---|
| 0 | out = in0 |
| 1 | out = in1 |
Saat sel bernilai 0, output mengikuti in0. Saat sel bernilai 1, output mengikuti in1.
Yang harus kamu lakukan:
- Buat module bernama
mux2to1 - Tambahkan input
in0(1 bit) - Tambahkan input
in1(1 bit) - Tambahkan input
sel(1 bit) - Tambahkan output
out(1 bit, tipereg) - Tambahkan blok
always @(*) - Di dalamnya, tambahkan pernyataan
if-else:- Jika
sel == 0, tetapkanout = in0 - Jika tidak, tetapkan
out = in1
- Jika
- Akhiri dengan
endmodule
Coba sendiri
// Langkah 1: Buat module bernama mux2to1
// Langkah 2: Tambahkan input in0
// Langkah 3: Tambahkan input in1
// Langkah 4: Tambahkan input sel
// Langkah 5: Tambahkan output out (tipe reg)
// Langkah 6: Tambahkan blok always @(*)
// Langkah 7: Tambahkan pernyataan if-else
// Jika sel == 0, out = in0
// Jika tidak, out = in1
// Langkah 8: Akhiri moduleSemua 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