Оператори рівності та реляції (поверніть X, якщо операнд має X або Z)
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)
Оператори ідентичності (порівняйте логічні значення 0, 1, X і 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)
Приклад
Якщо reg a менше 2'b10, зберігайте 2'b11 в a.
if (a < 2'b10) begin
a = 2'b11;
end
Коваджі
- Для більшості операцій операнди можуть бути мережами, змінними, константами або викликами функцій. Деякі операції не є законними щодо реальних значень (з плаваючою комою).
- Оператори, які повертають результат true / false, повернуть 1-бітове значення, де 1 являє собою істину, 0 являє собою хибне, а X являє собою невизначене
- Оператори === і! == не підтримуються для синтезу, оскільки Z і X не мають однакового значення в моделюванні та апаратному забезпеченні.
- Якщо порівняти два числа неоднакової ширини, то менша буде розширена. Непідписані операнди розширюються ліворуч-розширенням з нулем. Підписані операнди розширюються шляхом розширення ліворуч зі значенням найзначнішого біта (бітового знака).
Джерело: "Короткий довідник Verilog HDL на основі стандарту Verilog-2001 (IEEE Std 1364-2001)" від Stuart Sutherland