Язык 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])



Содержание раздела