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