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