Для сравнения одиночных узлов или шин используются два типа компараторов: логические и арифметические. В булевых выражениях можно использовать следующие компараторы.
Компаратор: |
Пример: |
Описание |
== (логический) |
addr[19..4] == B"B800" |
равно |
!= (логический) |
b1 != b3 |
не равно |
< (арифметический) |
fame[] < power[] |
меньше чем |
<= (арифметический) |
money[] <= power[] |
меньше чем или равно |
> (арифметический) |
love[] > money[] |
больше чем |
>= (арифметический) |
delta[] >= 0 |
больше чем или равно |
Логические компараторы могут сравнивать одиночные узлы, шины и числа без неопределенных (X) значений. При сравнении шин или чисел, шины должны иметь одинаковый размер. Компилятор MAX+PLUS II выполняет побитовое сравнение шин, возвращая VCC, когда сравнение истинно, и GND, когда сравнение ложно.
Арифметические компараторы могут сравнивать только шины и числа; шины должны иметь одинаковый размер. Компилятор выполняет беззнаковое сравнение значений шин, т.е., каждая шина интерпретируется как положительное двоичное число и сравнивается с другой шиной.