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 Ihnen, basierend auf einer Bedingung zwischen zwei verschiedenen Aktionen zu wählen. Wenn die Bedingung wahr ist, wird ein Block ausgeführt. Wenn sie falsch ist, wird der andere Block ausgeführt.

Die if-else-Anweisung gibt Ihrem Code einen Entscheidungspunkt: Führen Sie 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 → wird count 0
  • Wenn reset 0 ist → erhöht sich count um 1

Mehrere Statements

Verwenden Sie begin und end, wenn Sie mehr als ein statement haben:

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

If-Else mit mehreren Bedingungen

Sie können 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 optionalSie können if ohne else verwenden
else gehört zum nächsten ifAchten Sie auf Verschachtelungen
Verwenden Sie begin/end für mehrere AnweisungenErforderlich für mehr als eine Zeile
challenge icon

Aufgabe

Was zu tun ist:

  1. Füge die fehlende if-else-Anweisung hinzu, damit dies funktioniert.
  2. when enable 1 ist, should out equal a & b sein.
  3. when enable 0 ist, should out equal 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