Menu
Coddy logo textTech

If - Else

Teil des Abschnitts Grundlagen der Verilog-Journey von Coddy. Lektion 53 von 90.

Die if-else-Anweisung ermöglicht es dir, basierend auf condition zwischen zwei verschiedenen Aktionen zu wählen. Wenn die condition true ist, wird ein Block ausgeführt. Wenn sie false ist, wird der andere Block ausgeführt.

Die if-else-Anweisung gibt deinem Code einen Entscheidungspunkt: Führe eine Sache aus, wenn die Bedingung wahr ist, und eine andere, wenn die Bedingung falsch ist.

Syntax:

if (condition) begin
  // Wird ausgeführt, wenn condition true (1) ist
end else begin
  // Wird ausgeführt, wenn condition false (0) ist
end

Einfaches Beispiel

if (reset) begin
  count = 0;
end else begin
  count = count + 1;
end
  • Wenn reset 1 ist → count wird 0
  • Wenn reset 0 ist → count erhöht sich um 1

Mehrere Anweisungen

Verwende begin und end, wenn du mehr als eine Anweisung hast:

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

If-Else mit mehreren Bedingungen

Du kannst if-else-Anweisungen verketten:

if (a > b) begin
  max = a;
end else if (b > a) begin
  max = b;
end else begin
  max = a;  // a und b sind gleich
end

Wichtige Regeln

RegelErklärung
else ist optionalDu kannst if ohne else verwenden
else gehört zum nächstgelegenen ifSei vorsichtig bei Verschachtelungen
Verwende begin/end für mehrere AnweisungenFür mehr als eine Zeile erforderlich
challenge icon

Aufgabe

Was zu tun ist:

  1. Add das fehlende if-else statement hinzu, damit dies funktioniert.
  2. Wenn enable 1 ist, sollte out gleich a & b sein.
  3. Wenn enable 0 ist, sollte out gleich a | b sein.

Probier es selbst

module ifelse_challenge;
  reg a, b, enable;
  reg out;
  
  initial begin
    a = 1;
    b = 0;
    enable = 1;
    
    // TODO: if-else-Anweisung hinzufügen
    // Wenn enable 1 ist: out = a & b
    // Sonst: out = a | b
    
    $display("out = %d (should be 0 because 1&0=0)", out);
    $finish;
  end
endmodule
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen

Übe selbstständig: Online-Verilog-Compiler