Menu
Coddy logo textTech

Riepilogo - Progettazione di una ALU

Fa parte della sezione Fondamenti del percorso Verilog di Coddy. Lezione 57 di 90.

challenge icon

Sfida

Un’ALU (unità aritmetico-logica) è un circuito digitale che accetta due ingressi, esegue un’operazione su di essi e produce un’uscita. Esegue operazioni aritmetiche e logiche su due ingressi in base a un segnale di selezione. Il segnale select sceglie una operazione da eseguire.

Come funziona

selectOperazioneUscita
2'b00Addizionea + b
2'b01Sottrazionea - b
2'b10AND bit a bita & b
2'b11OR bit a bita | b

Costruisci una semplice ALU usando un’istruzione case.

Cosa fare:

  1. Crea un modulo chiamato alu
  2. Aggiungi gli ingressi: a (4 bit), b (4 bit), select (2 bit)
  3. Aggiungi l’uscita: result (4 bit, di tipo reg)
  4. Aggiungi un blocco always @(*)
  5. Al suo interno, aggiungi un’istruzione case (select)
  6. Aggiungi quattro casi per 2'b00, 2'b01, 2'b10, 2'b11
  7. Aggiungi un caso default per impostare result = 0
  8. Chiudi con endcase e endmodule

Provalo tu

// TODO: Crea il modulo alu 

  // TODO: Aggiungi gli ingressi (a, b, select)
  
  // TODO: Aggiungi l'uscita (result)

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

// TODO: Aggiungi endmodule

Tutte le lezioni di Fondamenti

Esercitati da solo: Compilatore Verilog online