Menu
CoddyTech

Desain Dekoder

Termasuk bagian Dasar-Dasar dalam perjalanan Verilog di Coddy. Pelajaran 85 dari 90.

challenge icon

Tantangan

Sebuah decoder menerima angka biner sebagai input dan mengaktifkan tepat satu output berdasarkan angka tersebut. Output yang aktif disebut "one-hot" karena hanya satu bit yang aktif (1), dan semua bit lainnya tidak aktif (0).

Tabel Kebenaran (Decoder 2-ke-4)

Input (in)out0out1out2out3
001000
010100
100010
110001

Antarmuka Module

PortArahLebarDeskripsi
ininput2 bitInput biner (0 sampai 3)
out0output1 bitAktif saat in = 00
out1output1 bitAktif saat in = 01
out2output1 bitAktif saat in = 10
out3output1 bitAktif saat in = 11

Tugasmu adalah melengkapi module di bawah ini menggunakan pernyataan case.

Yang harus dilakukan:

  1. Saat in = 2'b00, out0 = 1, semua yang lain 0
  2. Saat in = 2'b01, out1 = 1, semua yang lain 0
  3. Saat in = 2'b10, out2 = 1, semua yang lain 0
  4. Saat in = 2'b11, out3 = 1, semua yang lain 0

Coba sendiri

module decoder (
  input [1:0] in,
  output reg out0,
  output reg out1,
  output reg out2,
  output reg out3
);
  
  // TODO: Tambahkan blok always @(*) dengan case (in)
  // 2'b00: out0=1, yang lain 0
  // 2'b01: out1=1, yang lain 0
  // 2'b10: out2=1, yang lain 0
  // 2'b11: out3=1, yang lain 0

endmodule

Semua pelajaran di Dasar-Dasar

Latihan sendiri: Compiler Verilog online