Menu
Coddy logo textTech

요약 - ALU 설계

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

challenge icon

챌린지

ALU(산술 논리 장치)는 **두 개의 입력**을 받아 연산을 수행하고 **하나의 출력**을 생성하는 디지털 회로입니다. 선택 신호에 따라 두 입력에 대해 산술 및 논리 연산을 수행합니다. select 신호는 실행할 **하나의** 연산을 선택합니다.

작동 원리

select연산출력
2'b00덧셈a + b
2'b01뺄셈a - b
2'b10비트 단위 ANDa & b
2'b11비트 단위 ORa | b

case 문을 사용하여 간단한 ALU를 만드세요.

수행할 작업:

  1. alu라는 이름의 모듈을 생성합니다.
  2. 입력 추가: a (4비트), b (4비트), select (2비트)
  3. 출력 추가: result (4비트, reg 타입)
  4. always @(*) 블록을 추가합니다.
  5. 내부에 case (select) 문을 추가합니다.
  6. 2'b00, 2'b01, 2'b10, 2'b11에 대한 네 가지 케이스를 추가합니다.
  7. result = 0으로 설정하는 default 케이스를 추가합니다.
  8. endcaseendmodule로 마무리합니다.

직접 해보기

// TODO: alu 모듈 생성

  // TODO: 입력 추가 (a, b, select)
  
  // TODO: 출력 추가 (result)

  // TODO: always @(*) 블록 추가
  
  // TODO: case (select) 추가
  
  // TODO: case 2'b00: result = a + b; 추가
  
  // TODO: case 2'b01: result = a - b; 추가
  
  // TODO: case 2'b10: result = a & b; 추가
  
  // TODO: case 2'b11: result = a | b; 추가
  
  // TODO: default: result = 0; 추가
  
  // TODO: endcase 추가

// TODO: endmodule 추가

기초의 모든 레슨