Menu
Coddy logo textTech

Recapitulação - Projeto de ALU

Parte da seção Fundamentos do Journey de Verilog da Coddy — lição 57 de 90.

challenge icon

Desafio

Uma ALU (Unidade Lógica e Aritmética) é um circuito digital que recebe duas entradas, realiza uma operação sobre elas e produz uma saída. Ela executa operações aritméticas e lógicas em duas entradas com base em um sinal de seleção. O sinal select escolhe uma operação para executar.

Como funciona

selectOperaçãoSaída
2'b00Adiçãoa + b
2'b01Subtraçãoa - b
2'b10AND bit a bita & b
2'b11OR bit a bita | b

Construa uma ALU simples usando uma instrução case.

O que fazer:

  1. Crie um módulo chamado alu
  2. Adicione as entradas: a (4 bits), b (4 bits), select (2 bits)
  3. Adicione a saída: result (4 bits, tipo reg)
  4. Adicione um bloco always @(*)
  5. Dentro dele, adicione uma instrução case (select)
  6. Adicione quatro casos para 2'b00, 2'b01, 2'b10, 2'b11
  7. Adicione um caso default para definir result = 0
  8. Feche com endcase e endmodule

Experimente você mesmo

// TODO: Criar módulo alu 

  // TODO: Adicionar entradas (a, b, select)
  
  // TODO: Adicionar saída (result)

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

// TODO: Adicionar endmodule

Todas as lições de Fundamentos