Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Арифметические операторы

Читайте также:
  1. Операторы ввода-вывода
  2. Собственные функции и собственные операторы.

Арифметические операторы используются для арифметических операций сложения и вычитания над числами и шинами в булевых выражениях. В них используются следующие операторы.

Таблица 6. Операторы сложения и вычитания языка AHDL

Оператор: Пример: Описание:
+ (унарный) +1 плюс
- (унарный) -a[4..1] минус
+ count[7..0] + delta[7..0] сложение
- rightmost_x[] - leftmost_x[] вычитание

К бинарным операторам применимы следующие правила:

· Операции выполняются между двумя операндами, которые должны быть шинами или числами.

· Если оба операнда - шины, то они должны иметь один размер.

· Если оба операнда числа, более короткое число расширяется до размеров другого операнда.

· Если один оператор - число, а другой группа узлов, то число усекается или расширяется для согласования размеров операндов. Если отбрасываются любые значимые биты, то компилятор MAX+PLUS II выдает сообщение об ошибке.

 

ÞКогда Вы складываете две шины вместе с правой стороны булева уравнения с помощью оператора +, Вы можете поместить 0 с левой стороны группы для расширения ширины шины. Этот метод обеспечивает добавление дополнительного бита данных с левой стороны уравнения, который можно использовать как сигнал выходного переноса. Например, шины count[7..0] и delta[7..0] дополняются нулями для обеспечения информацией сигнала cout:

 

(cout, answer[7..0]) = (0, count[7..0]) + (0, delta[7..0])

Компараторы

Для сравнения одиночных узлов или шин используются два типа компараторов: логические и арифметические. В булевых выражениях можно использовать следующие компараторы.

Таблица 7. Компараторы одиночных узлов и шин

Компаратор: Пример: Описание
== (логический) addr[19..4] == B"B800" равно
!= (логический) b1!= b3 не равно
< (арифметический) fame[] < power[] меньше чем
<= (арифметический) money[] <= power[] меньше чем или равно
> (арифметический) love[] > money[] больше чем
>= (арифметический) delta[] >= 0 больше чем или равно

Логические компараторы могут сравнивать одиночные узлы, шины и числа без неопределенных (X) значений. При сравнении шин или чисел, шины должны иметь одинаковый размер. Компилятор MAX+PLUS II выполняет побитовое сравнение шин, возвращая VCC, когда сравнение истинно, и GND, когда сравнение ложно.

Арифметические компараторы могут сравнивать только шины и числа; шины должны иметь одинаковый размер. Компилятор выполняет беззнаковое сравнение значений шин, т.е., каждая шина интерпретируется как положительное двоичное число и сравнивается с другой шиной.


Дата добавления: 2015-08-21; просмотров: 219 | Нарушение авторских прав


Читайте в этой же книге: Зарезервированные слова | Символы | Мегафункции и библиотеки параметризуемых модулей | Определение включаемого текста (оператор Include) | Определение параметров (оператор Parameters) | Определение прототипов логических функций (оператор Function Prototype). | Определение порядка следования битов (оператор Options) | Объявление объектов (Instance Declarations) | Объявление конечных автоматов (State Machine Declarations) | Задание исходных значений (Defaults Statment) |
<== предыдущая страница | следующая страница ==>
Диапазоны и поддиапазоны шин| Массивы примитивов

mybiblioteka.su - 2015-2024 год. (0.005 сек.)