Ich bin neu bei Verilog und würde gerne lernen, wie man zwei Zahlen vergleicht. Vergleichen wir beispielsweise einen Parameter oder Reg (z. B. a) mit der Zahl 2 (2'b10). Wie wird dies in Verilog geschrieben?
Gleichheits- und Vergleichsoperatoren (gibt X zurück, wenn ein Operand X oder Z hat)
m == n // is m equal to n? (1-bit True/False result)
m != n // is m not equal to n? (1-bit True/False result)
m < n // is m less than n? (1-bit True/False result)
m > n // is m greater than n? (1-bit True/False result)
m <= n // is m less than or equal to n? (1-bit True/False result)
m >= n // is m greater than or equal to n? (1-bit True/False result)
Identitätsoperatoren (vergleiche die Logikwerte 0, 1, X und Z)
m === n // is m identical to n? (1-bit True/False results)
m !== n // is m not identical to n? (1-bit True/False result)
Beispiel
Wenn reg a kleiner als 2'b10 ist, speichere 2'b11 in a.
if (a < 2'b10) begin
a = 2'b11;
end
Vorbehalte
Die numerischen Vergleichsoperatoren von Verilog ähneln denen in C: ==, !=, <, >, <=, >=.