Menu
Coddy logo textTech

Vergleichsoperatoren

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

Vergleichsoperatoren vergleichen zwei Werte und geben entweder 1 (wahr) oder 0 (falsch) zurück.

Verfügbare Vergleichsoperatoren

OperatorBedeutung
==Gleich
!=Ungleich
>Größer als
<Kleiner als
>=Größer als oder gleich
<=Kleiner als oder gleich

Codebeispiel

module comparison_demo;
  reg [3:0] a, b;
  reg result;
  
  initial begin
    a = 5;
    b = 3;
    
    result = (a == b);
    $display("5 == 3 : %d", result);  // 0 (falsch)
    
    result = (a != b);
    $display("5 != 3 : %d", result);  // 1 (wahr)
    
    result = (a > b);
    $display("5 > 3  : %d", result);  // 1 (wahr)
    
    result = (a < b);
    $display("5 < 3  : %d", result);  // 0 (falsch)
    
    result = (a >= 5);
    $display("5 >= 5 : %d", result);  // 1 (wahr)
    
    result = (a <= 3);
    $display("5 <= 3 : %d", result);  // 0 (falsch)
    $finish;
  end
endmodule

Ausgabe:

5 == 3 : 0
5 != 3 : 1
5 > 3  : 1
5 < 3  : 0
5 >= 5 : 1
5 <= 3 : 0

Verwendung von Vergleichen in Bedingungen

Vergleiche werden häufig in if-Anweisungen verwendet:

if (count == 10)
  $display("Reached maximum");

if (value > threshold)
  $display("Value is too high");

Wichtige Hinweise

  • Vergleichsergebnisse sind 1-Bit-Werte (0 oder 1)
  • Vergleiche funktionieren mit jeder Bitbreite
  • Seien Sie vorsichtig mit == und !=, wenn Signale X oder Z enthalten (sie geben X zurück)
challenge icon

Aufgabe

Schreiben Sie die richtigen Vergleichsausdrücke für jede Aufgabe.

Was zu tun ist:

  1. Prüfen Sie, ob a gleich b ist, und speichern Sie das Ergebnis in eq
  2. Prüfen Sie, ob a größer als b ist, und speichern Sie das Ergebnis in gt
  3. Prüfen Sie, ob a kleiner oder gleich b ist, und speichern Sie das Ergebnis in le

Spickzettel

Vergleichsoperatoren in Verilog vergleichen zwei Werte und geben 1 (wahr) oder 0 (falsch) zurück.

OperatorBedeutung
==Gleich
!=Ungleich
>Größer als
<Kleiner als
>=Größer als oder gleich
<=Kleiner als oder gleich

Vergleiche werden häufig in if-Anweisungen verwendet:

if (count == 10)
  $display("Reached maximum");

if (value > threshold)
  $display("Value is too high");

Hinweis: Ergebnisse sind 1-Bit-Werte. Die Verwendung von == oder != mit Signalen, die X oder Z enthalten, gibt X zurück.

Probier es selbst

module comparison_challenge;
  reg [3:0] a, b;
  reg eq, gt, le;
  
  initial begin
    a = 4'd7;
    b = 4'd7;
    
    eq = ______;   // a ist gleich b
    gt = ______;   // a ist größer als b
    le = ______;   // a ist kleiner oder gleich b
    
    $display("a = %d, b = %d", a, b);
    $display("a == b : %d", eq);
    $display("a > b  : %d", gt);
    $display("a <= b : %d", le);
    $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