Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основи мови AHDL_частина1.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
669.7 Кб
Скачать

1.6. Вирази

У мові AHDL визначені два типи виразів (Expressions):

  • Арифметичні вирази (Arithmetic Expressions);

  • Логічні вирази (Boolean Expressions).

1.6.1. Арифметичні вирази

Арифметичні вирази використовуються для задання:

  • позначуваного виразу в операторі позначення (Define Statement);

  • констант в операторі задання констант (Constant Statement);

  • границь діапазону зміни індексів одновимірних і двовимірних груп;

  • границь діапазону зміни внутрішньої змінної в операторі FOR GENERATE;

  • оцінюваного вирази в операторах IF GENERATE, ASSERT.

Приклади:

  1. DEFINE Min (a,b) = ((a<b) ? a:b); -- ((a<b) ? a:b) - арифметичний вираз.

  2. CONSTANT Const = 1+2DIV3+LOG2(256); -- 1+2DIV3+LOG2(256) – арифметичний вираз;

  3. A[2+4^2..3-2] : INPUT; -- 2+4^2 і 3-2 – арифметичний вираз.

Значення арифметичних виразів оцінюється й підставляється компілятором на етапі перевірки синтаксису проекту і тому для реалізації не потрібні логічні ресурси НВІС ПЛ. У табл. 5 перераховані арифметичні, логічні оператори й оператори порівняння, які можуть використовуватися в арифметичних виразах Так само в табл. 5 зазначений пріоритет виконання операторів: чим менше число, тим вище пріоритет.

Результат арифметичного виразу повинен бути цілим додатним числом. У протилежному випадку він, за замовчуванням, округляється до найближчого більшого цілого.

Таблиця 5.

Оператор

Приклад

Опис

Пріоритет виконання

+ (unary)

+1

Плюс

1

-(unary)

-1

мінус

1

!

!a

Заперечення

1

^

a^2

Степінь

1

MOD

4 MOD 2

Модуль

2

DIB

4 DIV 2

Ділення

2

*

a*2

Множення

2

LOG2

LOG(4-3)

Логарифм за

основою 2

2

+

1+1

Додавання

3

-

1-1

Віднімання

3

= =(numeric)

5= =5

Рівність чисел

4

= = (string)

“a”= = “b”

Рівність рядків

4

!=

5!=4

Не дорівнює

4

>

5>4

Більше

4

>=

5>=5

Більше або дорівнює

4

<

a<b+2

Менше

4

<=

a<=b+2

Менше або дорівнює

4

& або AND

a&b або a AND b

І

5

!& або NAND

1 !& 0 або 1 NAND b

І-НІ

5

$ або XOR

1 $ 1 або 1 XOR 1

Виключаюче АБО

6

!$ або XNOR

1 !$ 1 або 1 XNOR 1

Виключаюче АБО-НІ

6

# або OR

a # b або a OR b

АБО

7

!# або NOR

a!# b або a NOR b

АБО-НІ

7

?

(5<4) ? 3:4

Тернарна операція

8

Крім того, у мові AHDL визначені дві функції, які можуть використовуватися в арифметичних виразах для явного задання правила округлення:

  • CEIL — округлення до найближчого більшого цілого;

  • FLOOR — округлення до найближчого меншого цілого.

Приклади:

  1. CEIL (LOG2(255)) = 8.

  2. FLOOR (5DIV3) = 1.