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

1.8. Пріоритет виконання операцій

У таблиці 9 зазначений пріоритет виконання (порядок виконання) операцій, використовуваних у логічних виразах.

Таблиця 9. Пріоритет виконання операцій

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

Оператор

Опис

1

-

мінус

1

!

НІ

2

+

Додавання

2

-

Віднімання

3

= =

Рівність

3

!=

Нерівність

3

<

Менше

3

<=

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

3

>

Більше

3

>=

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

4

&

І

4

!&

І-НІ

5

$

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

5

!$

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

6

#

АБО

6

!#

НІ

Примітка: Чим менше число, що позначає пріоритет, тим вище пріоритет операнда.

1.9. Примітиви

Примітив - вбудований в пакет MAX+plus II і мову AHDL функціональний опис того або іншого внутрішнього ресурсу НВІС ПЛ фірми ALTERA .

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

  • примітиви буферів;

  • примітиви тригерів: синхронних тригерів (Flipflop) і тригера засувки (Latch).

1.9.1. Примітиви буферів

У мові AHDL використовуються наступні примітиви буферів:

  • CARRY — буфер ланцюгового переносу;

  • CASCADE — буфер каскадного нарощування логічної функції;

  • ЕХР — буфер логічного розширювача;

  • GLOBAL — буфер глобального ланцюга поширення керуючого сигналу;

  • LCELL — буфер розміщення логічного осередку (макроосередку), що не видаляється ;

  • OPNDRN — буфер виходу з відкритим колектором;

  • SOFT — буфер розміщення логічного осередку (макроосередку), що видаляється;

  • TRI — буфер виходу зі Z станом.

1.9.2. Буфер ланцюгового переносу (carry)

Буфер ланцюгового переносу дозволяє явно вказати компіляторові на необхідність використання схеми ланцюгового переносу логічного елемента НВІС сімейства FLEX 6000, FLEX 8000, FLEX 10K |1].

Буфер має один вхід (IN) і один вихід (OUT). Правила використання буфера ілюструються на рис. 1.

Відмітимо, що:

  • вихідний сигнал буфера може надходити на вхід тільки одного логічного елемента;

  • чотиривходова таблиця перекодувань (LUT) логічного елемента, на вхід якого надходить сигнал з виходу буфера CARRY, перетвориться компілятором у дві тривходові таблиці. Тому такий логічний елемент має ще два інформаційних входи;

  • якщо в логічному елементі використовуються дві тривходові таблиці перекодувань, то вихід другої таблиці повинен подаватися на вхід наступного буфера CARRY;

  • якщо буфер CARRY використовується неправильно, то компілятор пакета ігнорує його, а процесор повідомлень (Message Processor) видає попередження.

Рис.1.

1.9.3. Буфер каскадного нарощування логічної функції (cascade)

Буфер каскадного нарощування дозволяє явно вказати компіляторові на необхідність використання схеми каскадного нарощування логічного елемента НВІС сімейств FLEX 6000, FLEX 8000, FLEX 10K. Буфер має один вхід (IN) і один вихід (OUT). Використання буфера ілюструються на рис. 2.

Рис.2.

Відмітимо, що:

  • на вхід буфера CASCADE повинен надходити сигнал з виходу двовходового елемента «І» або «АБО»;

  • вихідний сигнал буфера CASCADE повинен подаватися на вхід одного двовходового елемента «І», чи «АБО», на другий вхід якого повинен надходити сигнал з виходу таблиці перекодувань даного логічного елемента;

  • ланцюжок каскадного нарощування повинен бути логічно однорідний, тобто містити або двовходові елементи «І», чи «АБО». Дане правило визначається вимогам, що і в НВІС ПЛ;

  • апаратно реалізовані схеми 2І. Отже, схема 2АБО буде перетворена в схему 2І за законом де Моргана;

  • якщо буфер CASCADE використовується неправильно, то компілятор пакета ігнорує його, а процесор повідомлень (Message Processor) видає попередження.