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

1.7.2. Арифметичні оператори

У табл. 7 перераховані арифметичні оператори, які можуть бути використані в логічних виразах.

Таблиця 7.

Оператор

Приклад

Опис

+ (унарний)

+1

Плюс

- (унарний)

-a[4..1]

Мінус

+

count[7..0] + delta[7..0]

Додавання

-

rightmost_x[] – leftmost_x[]

Віднімання

Правила використання операторів додавання й віднімання:

  • Операндами даних операторів можуть бути групи (група змінних, група виводів модуля) і числа.

  • Якщо обидва операнди — групи, то вони повинні мати однакове число розрядів, що збігається із числом розрядів результату.

  • Якщо обидва операнди — числа, то автоматично здійснюється вирівнювання числа розрядів їхніх двійкових подань шляхом збільшення числа розрядів у двійковому поданні меншого операнда.

  • Якщо один операнд — число, а інший — група, то число перетвориться у двійкове число (групу двійкових розрядів). Якщо число розрядів у цій групі менше числа розрядів в іншому операнді, то вона автоматично розширюється. Якщо ж більше, то процесор повідомлень (Message Processor) пакета MAX+plus II видає повідомлення про помилку.

1.7.3. Оператори порівняння

У табл. 8 перераховані оператори порівняння, які можуть бути використані в логічних виразах.

Таблиця 8.

Оператор порівняння

Приклад

Опис

= = (логічне)

addr[19..4] = = H”B800”

Дорівнює

!= (логічне)

b1 != b3

Нерівно

< (арифметичне)

fame[] < power

Менше

<= (арифметичне)

money[] <= power[]

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

> (арифметичне)

love[] > money[]

Більше

>= (арифметичне)

delta >= 0

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

Результат операції порівняння:

  • логічний нуль (GND), якщо умови порівняння не виконані;

  • логічна одиниця (VCC), якщо умови порівняння виконані.

Виділяються два типи операторів порівняння:

  • оператори логічного порівняння (Logical comparator);

  • оператори арифметичного порівняння (Arithmetic comparator).

Операндами оператора логічного порівняння можуть бути:

  • однорозрядні змінні й виводи модуля;

  • групи змінних і групи виводів модуля;

  • числа (у двійкових числах не повинен використовуватися символ "х" - символ невизначеного значення розряду).

При логічному порівнянні здійснюється побітове порівняння операндів, тому вони повинні мати однакове число розрядів. Якщо один операнд число, а інший - група, то число перетвориться у двійкове число (групу двійкових розрядів). Якщо число розрядів у цій групі менше числа розрядів в іншому операнді, то вона автоматично розширюється. Якщо ж більше, то процесор повідомлень (Message Processor) пакета MAX+plus II видає повідомлення про помилку.

Оператори арифметичного порівняння дозволяють порівнювати групи (змінних і виводів модуля) і числа.

При арифметичному порівнянні група інтерпретується як додатне двійкове число без знака, число розрядів в якого відповідає числу розрядів у групі. Тому операнди повинні мати однакове число розрядів. Якщо один операнд число, а іншої - група, то число перетвориться у двійкове число (групу двійкових розрядів). Якщо число розрядів у цій групі менше числа розрядів в іншому операнді, то вона автоматично розширюється. Якщо ж більше, то процесор повідомлень (Message Processor) пакета MAX+plus II видає повідомлення про помилку.