Menu
CoddyTech

Thiết kế bộ giải mã

Thuộc phần Kiến thức nền tảng trong hành trình Verilog của Coddy. Bài học 85 trên 90.

challenge icon

Thử thách

Bộ giải mã nhận một số nhị phân làm đầu vào và bật chính xác một đầu ra dựa trên số đó. Đầu ra được bật gọi là "one-hot" vì chỉ có một bit ở trạng thái bật (1), còn tất cả bit khác ở trạng thái tắt (0).

Bảng chân trị (bộ giải mã 2 thành 4)

Đầu vào (in)out0out1out2out3
001000
010100
100010
110001

Giao diện module

CổngHướngĐộ rộngMô tả
inđầu vào2 bitĐầu vào nhị phân (0 đến 3)
out0đầu ra1 bitHoạt động khi in = 00
out1đầu ra1 bitHoạt động khi in = 01
out2đầu ra1 bitHoạt động khi in = 10
out3đầu ra1 bitHoạt động khi in = 11

Nhiệm vụ của bạn là hoàn thành module bên dưới bằng câu lệnh case.

Cần làm:

  1. Khi in = 2'b00, out0 = 1, tất cả đầu ra khác bằng 0
  2. Khi in = 2'b01, out1 = 1, tất cả đầu ra khác bằng 0
  3. Khi in = 2'b10, out2 = 1, tất cả đầu ra khác bằng 0
  4. Khi in = 2'b11, out3 = 1, tất cả đầu ra khác bằng 0

Tự làm thử

module decoder (
  input [1:0] in,
  output reg out0,
  output reg out1,
  output reg out2,
  output reg out3
);
  
  // TODO: Thêm khối lệnh (block) always @(*) với case (in)
  // 2'b00: out0=1, các đầu ra khác bằng 0
  // 2'b01: out1=1, các đầu ra khác bằng 0
  // 2'b10: out2=1, các đầu ra khác bằng 0
  // 2'b11: out3=1, các đầu ra khác bằng 0

endmodule

Tất cả bài học trong Kiến thức nền tảng

Tự luyện tập: Trình biên dịch Verilog online