Menu
Coddy logo textTech

If-Else

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

L'istruzione if-else ti permette di scegliere tra due azioni diverse in base a una condizione. Se la condizione è vera, viene eseguito un blocco. Se è falsa, viene eseguito l'altro blocco.

L'istruzione if-else offre al tuo codice un punto decisionale: fai una cosa se la condizione è vera, fanne un'altra se la condizione è falsa.

Sintassi:

if (condition) begin
  // Viene eseguito quando condition è true (1)
end else begin
  // Viene eseguito quando condition è false (0)
end

Esempio semplice

if (reset) begin
  count = 0;
end else begin
  count = count + 1;
end
  • Se reset è 1 → count diventa 0
  • Se reset è 0 → count aumenta di 1

Istruzioni multiple

Usa begin e end quando hai più di un'istruzione:

if (enable) begin
  out = data_in;
  valid = 1;
end else begin
  out = 0;
  valid = 0;
end

If-Else con condizioni multiple

Puoi concatenare istruzioni if-else:

if (a > b) begin
  max = a;
end else if (b > a) begin
  max = b;
end else begin
  max = a;  // a e b sono uguali
end

Regole importanti

RegolaSpiegazione
else è facoltativoPuoi usare if senza else
else appartiene all'if più vicinoFai attenzione ai blocchi annidati
Usa begin/end per più istruzioniÈ necessario per più di una riga
challenge icon

Sfida

Cosa fare:

  1. Aggiungi l'istruzione if-else mancante per far funzionare il codice.
  2. Quando enable è 1, out dovrebbe essere uguale a a & b.
  3. Quando enable è 0, out dovrebbe essere uguale a a | b.

Provalo tu

module ifelse_challenge;
  reg a, b, enable;
  reg out;
  
  initial begin
    a = 1;
    b = 0;
    enable = 1;
    
    // TODO: Aggiungi un'istruzione if-else
    // Se enable è 1: out = a & b
    // Else: out = a | b
    
    $display("out = %d (should be 0 because 1&0=0)", out);
    $finish;
  end
endmodule
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti

Esercitati da solo: Compilatore Verilog online