Menu
Coddy logo textTech

Récapitulatif - Conception d'ALU

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

challenge icon

Défi

Une ALU (Arithmetic Logic Unit - 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 réalise 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 ça fonctionne

selectOpérationSortie
2'b00Additiona + b
2'b01Soustractiona - b
2'b10ET bit à bit (Bitwise AND)a & b
2'b11OU bit à bit (Bitwise OR)a | b

Construisez une ALU simple en utilisant une instruction case.

Ce qu'il faut 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, 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