Menu
Coddy logo textTech

디코더 설계

Coddy Verilog 여정의 기초 섹션에 포함된 레슨 — 90개 중 85번째.

challenge icon

챌린지

디코더(decoder)는 이진수를 입력으로 받아 그 숫자에 해당하는 단 하나의 출력만을 켭니다. 오직 하나의 비트만 활성화(1)되고 나머지는 비활성화(0)되기 때문에, 켜지는 출력을 "원-핫(one-hot)"이라고 부릅니다.

진리표 (2-to-4 디코더)

입력 (in)out0out1out2out3
001000
010100
100010
110001

모듈 인터페이스

포트방향너비설명
ininput2 비트이진 입력 (0 ~ 3)
out0output1 비트in = 00일 때 활성화
out1output1 비트in = 01일 때 활성화
out2output1 비트in = 10일 때 활성화
out3output1 비트in = 11일 때 활성화

여러분의 과제는 case 문을 사용하여 아래의 모듈을 완성하는 것입니다.

수행할 작업:

  1. in = 2'b00일 때, out0 = 1이며 나머지는 모두 0
  2. in = 2'b01일 때, out1 = 1이며 나머지는 모두 0
  3. in = 2'b10일 때, out2 = 1이며 나머지는 모두 0
  4. in = 2'b11일 때, out3 = 1이며 나머지는 모두 0

직접 해보기

module decoder (
  input [1:0] in,
  output reg out0,
  output reg out1,
  output reg out2,
  output reg out3
);
  
  // TODO: case (in)을 포함한 always @(*) 블록 추가
  // 2'b00: out0=1, 나머지는 0
  // 2'b01: out1=1, 나머지는 0
  // 2'b10: out2=1, 나머지는 0
  // 2'b11: out3=1, 나머지는 0

endmodule

기초의 모든 레슨