Menu
Coddy logo textTech

2 To 1 Mux Design

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

challenge icon

챌린지

멀티플렉서(MUX)는 여러 입력 중 하나를 선택하고 선택 신호에 따라 이를 하나의 출력으로 전달하는 디지털 회로입니다. 데이터 선택기와 같다고 생각하면 됩니다. 여러 입력이 들어오고, 그중 어떤 입력을 출력으로 보낼지 선택합니다.

이 프로젝트에서는 if-elsecase statement를 사용하여 다양한 크기의 멀티플렉서를 구축합니다.

2-to-1 멀티플렉서

2-to-1 멀티플렉서는 가장 단순한 형태입니다. 두 개의 데이터 입력(in0in1), 하나의 선택 입력(sel), 하나의 출력(out)이 있습니다. sel이 0이면 출력은 in0을 따릅니다. sel이 1이면 출력은 in1을 따릅니다. 이를 always @(*) block 안에서 if-else statement를 사용하여 구현합니다.

예: in0 = 0, in1 = 1, sel = 1이면 out = 1입니다.

2-to-1 멀티플렉서는 두 입력 중 하나를 선택하고 선택 신호에 따라 이를 출력으로 전달합니다.

진리표

 

selout
0out = in0
1out = in1

sel이 0이면 출력은 in0을 따릅니다. sel이 1이면 출력은 in1을 따릅니다.

할 일:

  1. 이름이 mux2to1인 module을 Create합니다.
  2. input in0 추가(1비트)
  3. input in1 추가(1비트)
  4. input sel 추가(1비트)
  5. output out 추가(1비트, type reg)
  6. always @(*) block 추가
  7. 그 안에 if-else statement 추가:
    • sel == 0이면 out = in0으로 설정
    • Else, out = in1으로 설정
  8. endmodule로 닫기

직접 해보기

// 단계 1: mux2to1이라는 모듈 생성


  // 단계 2: 입력 in0 추가
  
  // 단계 3: 입력 in1 추가
  
  // 단계 4: 입력 sel 추가
  
  // 단계 5: 출력 out 추가 (reg 타입)
  

  // 단계 6: always @(*) 블록 추가
  

    // 단계 7: if-else 문 추가
    // sel == 0이면, out = in0
    // 그렇지 않으면, out = in1
    

// 단계 8: Endmodule

기초의 모든 레슨

직접 연습해 보세요: 온라인 Verilog 컴파일러