Menu
Coddy logo textTech

Repaso - Diseño de ALU

Parte de la sección Fundamentos del Journey de Verilog de Coddy — lección 57 de 90.

challenge icon

Desafío

Una ALU (Unidad Aritmético Lógica) es un circuito digital que toma dos entradas, realiza una operación sobre ellas y produce una salida. Realiza operaciones aritméticas y lógicas en dos entradas basándose en una señal de selección. La señal select elige una operación para ejecutar.

Cómo funciona

selectOperaciónSalida
2'b00Sumaa + b
2'b01Restaa - b
2'b10AND bit a bita & b
2'b11OR bit a bita | b

Construye una ALU simple usando una sentencia case.

Qué hacer:

  1. Crea un módulo llamado alu
  2. Añade las entradas: a (4 bits), b (4 bits), select (2 bits)
  3. Añade la salida: result (4 bits, tipo reg)
  4. Añade un bloque always @(*)
  5. En el interior, añade una sentencia case (select)
  6. Añade cuatro casos para 2'b00, 2'b01, 2'b10, 2'b11
  7. Añade un caso default para establecer result = 0
  8. Cierra con endcase y endmodule

Pruébalo tú mismo

// TODO: Crear el módulo alu 

  // TODO: Agregar entradas (a, b, select)
  
  // TODO: Agregar salida (result)

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

// TODO: Agregar endmodule

Todas las lecciones de Fundamentos