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, por sus siglas en inglés) es un circuito digital que toma dos entradas, realiza una operación en ellas y produce una salida. Realiza operaciones aritméticas y lógicas en dos entradas según 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

Crea una ALU simple utilizando una declaración case.

Qué hacer:

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

Pruébalo tú mismo

// TODO: Crear módulo alu 

  // TODO: Añadir entradas (a, b, select)
  
  // TODO: Añadir salida (result)

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

// TODO: Añadir endmodule

Todas las lecciones de Fundamentos