Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПЛИС_Ответы_к_экзамену_8110.doc
Скачиваний:
19
Добавлен:
24.04.2019
Размер:
2.35 Mб
Скачать

Вопрос 25 - Арифметические, логические операторы и операторы сравнения языка ahdl. Назначение, синтаксис, область применения в текстовом проекте.

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

Оператор

Пример

Описание

Приоритет

1

2

3

4

5

6

7

8

9

+ (unary)

- (unary)

^

MOD

DIV

*

LOG2

+

-

+1

-1

a^2

a MOD 2

a DIV 2

a * 2

LOG2(a-3)

a+1

a-1

Плюс

Минус

Степень

Модуль (modulus)

Деление (division)

Умножение (multiplication)

Логарифм по основанию 2

Сложение (addition)

Вычитание (subtraction)

1

1

1

2

2

2

2

3

3

Примечания: - a – целое положительное число; - Функция LOG2 округляет результат до ближайшего большего целого. - Для округления результата до ближайшего меньшего целого, использовать примитиву FLOOR, а до ближайшего большего целого – CEIL: LOG2(5) = 3; CEIL (LOG2 (5)) = 3; FLOOR (LOG2(5)) = 2. - операторы, выделенные синим цветом, НЕ ИСПОЛЬЗУЮТСЯ в логических уравнениях;

Логические операторы:

Оператор

Пример

Описание

!

!tob

дополнение до 1

NOT

NOT tob

&

bread & butter

И

AND

bread AND butter

!&

a[3..1] !& b[5..3]

И-НЕ

NAND

a[3..1] NAND b[5..3]

#

trick # treat

ИЛИ

OR

trick OR treat

!#

c[8..5] !# d[7..4]

ИЛИ-НЕ

NOR

c[8..5] NOR d[7..4]

$

foo $ bar

Исключающее ИЛИ

XOR

foo XOR bar

!$

x2 !$ x4

Исключающее ИЛИ-НЕ

XNOR

x2 XNOR x4

Операторы сравнения:

Компаратор:

Пример:

Описание

== (логический)

addr[19..4] == B"B800"

равно

!= (логический)

b1 != b3

не равно

< (арифметический)

fame[] < power[]

меньше чем

<= (арифметический)

money[] <= power[]

меньше чем или равно

> (арифметический)

love[] > money[]

больше чем

>= (арифметический)

delta[] >= 0

больше чем или равно