Menu
Coddy logo textTech

Recap - ALU Design

Fait partie de la section Fondamentaux du Journey Verilog de Coddy. Leçon 57 sur 90.

challenge icon

Défi

Une ALU (unité arithmétique et logique) est un circuit numérique qui prend deux entrées, effectue une opération sur celles-ci et produit une sortie. Elle effectue des opérations arithmétiques et logiques sur deux entrées en fonction d’un signal de sélection. Le signal select choisit une opération à exécuter.

Comment cela fonctionne

selectOpérationSortie
2'b00Additiona + b
2'b01Soustractiona - b
2'b10AND bit à bita & b
2'b11OR bit à bita | b

Construis une ALU simple à l’aide d’une instruction case.

À faire :

  1. Crée un module nommé alu
  2. Ajoute les entrées : a (4 bits), b (4 bits), select (2 bits)
  3. Ajoute la sortie : result (4 bits, de type reg)
  4. Ajoute un bloc always @(*)
  5. À l’intérieur, ajoute une instruction case (select)
  6. Ajoute quatre cas pour 2'b00, 2'b01, 2'b10, 2'b11
  7. Ajoute un cas default pour définir result = 0
  8. Termine avec endcase et endmodule

Essayez vous-même

// TODO: Créer le module alu 

  // TODO: Ajouter les entrées (a, b, select)
  
  // TODO: Ajouter la sortie (result)

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

// TODO: Ajouter endmodule

Toutes les leçons de Fondamentaux

Entraînez-vous par vous-même : Compilateur Verilog en ligne