Menu
Coddy logo textTech

Récapitulatif - Conception d'une ALU

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 reçoit 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

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

À faire :

  1. Créez un module nommé alu
  2. Ajoutez les entrées : a (4 bits), b (4 bits), select (2 bits)
  3. Ajoutez la sortie : result (4 bits, de type reg)
  4. Ajoutez un bloc always @(*)
  5. À l’intérieur, ajoutez une instruction case (select)
  6. Ajoutez quatre cas pour 2'b00, 2'b01, 2'b10, 2'b11
  7. Ajoutez un cas default pour définir result = 0
  8. Terminez 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