Case 문 사용하기
Coddy Verilog 여정의 기초 섹션에 포함된 레슨 — 90개 중 66번째.
챌린지
if-else 대신 case 문을 사용하여 4-to-1 멀티플렉서를 설계하세요.
진리표
| sel | out |
|---|---|
| 00 | out = in0 |
| 01 | out = in1 |
| 10 | out = in2 |
| 11 | out = in3 |
수행할 작업:
mux4to1_case라는 이름의 모듈을 생성합니다.- 입력
in0,in1,in2,in3(각 1비트)를 추가합니다. - 입력
sel(2비트)을 추가합니다. - 출력
out(1비트,reg타입)을 추가합니다. always @(*)블록을 추가합니다.- 내부에
case (sel)문을 추가합니다. 2'b00,2'b01,2'b10,2'b11에 대한 케이스를 추가합니다.default케이스를 추가합니다.endcase와endmodule로 마무리합니다.
직접 해보기
// TODO: mux4to1_case라는 이름의 모듈 생성
// TODO: 입력 추가: in0, in1, in2, in3 (각 1비트)
// TODO: 입력 sel 추가 (2비트)
// TODO: 출력 out 추가 (reg 타입)
// TODO: always @(*) 블록 추가
// TODO: case (sel) 추가
// TODO: case 2'b00: out = in0; 추가
// TODO: case 2'b01: out = in1; 추가
// TODO: case 2'b10: out = in2; 추가
// TODO: case 2'b11: out = in3; 추가
// TODO: default: out = in0; 추가
// TODO: endcase 추가
// TODO: endmodule 추가