Menu
Coddy logo textTech

요약 - ALU 설계

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

challenge icon

챌린지

ALU(Arithmetic Logic Unit, 연산 장치)는 두 개의 입력을 받아 연산을 수행한 후 하나의 출력을 생성하는 디지털 회로입니다. 선택 신호(select signal)에 따라 두 입력에 대한 산술 및 논리 연산을 수행합니다. 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-bit), b (4-bit), select (2-bit)
  3. 출력 추가: result (4-bit, reg 타입)
  4. always @(*) 블록을 추가합니다.
  5. 내부에 case (select) 문을 추가합니다.
  6. 2'b00, 2'b01, 2'b10, 2'b11에 대한 4가지 case를 추가합니다.
  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 추가

기초의 모든 레슨