
- •Мова опису апаратури ahdl
- •1. Елементи мови
- •1.1. Ключові слова й ідентифікатори
- •1.2. Символи
- •1.3. Імена
- •1.4. Групи
- •1.5. Числа
- •1.6. Вирази
- •1.6.1. Арифметичні вирази
- •1.6.2. Логічні вирази
- •1.7. Оператори
- •1.7.1. Логічні оператори
- •1.7.2. Арифметичні оператори
- •1.7.3. Оператори порівняння
- •1.8. Пріоритет виконання операцій
- •1.9. Примітиви
- •1.9.1. Примітиви буферів
- •1.9.2. Буфер ланцюгового переносу (carry)
- •1.9.3. Буфер каскадного нарощування логічної функції (cascade)
- •1.9.4. Буфер логічного розширювача (ехр)
- •1.9.5. Буфер глобального ланцюга поширення управляючого
- •1.9.6. Буфер розміщення логічного осередку (lcell),
- •1.9.7. Буфер виходу з відкритим колектором (opndrn)
- •1.9.8. Буфер розміщення логічного осередку (soft),
- •1.9.9. Буфер виходу з z станом (tri)
- •1.10. Примітиви тригерів
- •2. Структура текстового опису
- •2.1. Загальна структура
- •Include Statement.
- •2.2. Розділ оголошення операторів
- •2.2.1. Title Statement
- •2.2.2. Parameters Statement
- •2.2.3. Include Statement
- •2.2.4. Constant Statement
- •2.2.5. Define Statement
- •2.2.6. Function Prototype Statement
- •2.2.7. Options Statement
- •2.2.8. Assert Statement
- •2.3. Subdesign Section
- •2.4. Variable Section
- •2.5. Logic Section
- •3. Застосування конструкцій мови
- •3.1. Логічні рівняння
- •3.2. Змінні типу node
- •3.3. Іменовані оператори
- •3.4. Групи
- •3.4.1. Одновимірні й часові групи
- •3.4.2. Двовимірні групи
- •3.5. Таблиця істинності
- •3.6. Оператор if then
- •3.7. Оператор case
- •3.8. Базові значення логічних функцій
- •3.9. Константи
- •3.10. Оператор for generate
- •3.11. Параметри
- •3.12. Оператор if generate
- •3.13. Оператор assert
- •3.14. Примітиви
- •3.15. Прототип модуля
- •Часть 1. Основы языка ahdl. М. 2005.- 50 с.
2. Структура текстового опису
В цьому розділі описується структура текстового файлу (проекту) мовою AHD. Розділи і оператори мови AHD описуються в тому порядку, в якому вони слідують в текстовому файлі проекту (TDF – Text Design File). Нижче наведена загальна структура текстового файлу проекту.
2.1. Загальна структура
Текстовий файл проекту мовою AHDL повинен містити, як мінімум, два розділи: Subdesign і Logic. Всі інші розділи і оператори є необов’язковими. Основні компоненти структури перераховані нижче в тому порядку, в якому їх слід використовувати, а саме:
Title Statement.
Parameters Statement.
Include Statement.
Constant Statement.
Define Statement.
Function Prototype Statement.
Options Statement.
Assert Statement.
Subdesign Section.
Variable Section.
Instance Declaration.
Node Declaration.
Register Declaration.
State Machine Declaration.
Machine Alias- Declaration.
If Generate Statement.
Logic Section.
Defaults Statement.
Assert Statemert.
Boolean Equations.
Boolean Control Equations.
Case Statement.
For Generate Statement.
If Then Statement.
If Generate Statement.
In-Line Logic Function Reference.
Truth Table Statement.
Дамо коротку характеристику перерахованих вище розділів та операторів текстового опису проектів мовою AHD.
2.2. Розділ оголошення операторів
2.2.1. Title Statement
Title Statement (оператор заголовка) дозволяє задати назву файлу звіту (Report File), який генерується компілятором.
Приклад:
TITLE “Binary COUNTER”
Заголовок Binary COUNTER з'явиться на початку файлу звіту (Report File (.rpt))
Правила використання оператора:
Оператор TITLE починається із ключового слова TITLE, за яким слідує текстовий рядок, укладений у подвійні лапки ("). Наприкінці оператора заголовка ставиться крапка з комою (;).
Текстовий рядок може містити до 255 символів включно. Він не повинен містити символів кінця рядка або кінця сторінки.
Для включення в текстовий рядок подвійних лапок потрібно використовувати додаткову пару подвійних лапок: ”””FLEX 10K”” Median Filter".
У файлі з текстовим описом даний оператор може бути використаний тільки один раз.
2.2.2. Parameters Statement
Parameters Statement (оператор оголошення параметрів) у рамках мови AHDL задає символічне ім'я рядка символів, укладеного в подвійні лапки, або числа, заданого явно, або числа, що є результатом виконання арифметичного виразу.
Parameters Statement дозволяє оголосити параметри, що управляють реалізацією параметризованих модулів.
Приклад:
PARAMETERS
(FILENAME="myfile, mif",
WIDTH,
AD_WIDTH,
NUMW0RDS=2^AD_WIDTH );
PARAMETERS (DEVICE_FAMILY);
DEVICE_FAMILY визначений параметр мови AHDL. Його значення може бути задане у вікні Device (меню Assign).
Правила використання оператора:
Оператор починається із ключового слова PARAMETERS, за яким слідує укладений у дужки список параметрів. Після закриваючої дужки ставиться крапка з комою (;).
Список параметрів може містити один або кілька параметрів.
Параметри в списку відділяються один від одного комою (,).
Вихідне (defaults) значення параметра вказується після символу «дорівнює» (=). Задання вихідного значення є необов'язковим.
Параметр може задаватися через інший параметр.
Циклічне задання параметрів неприпустимо.
Приклад: Неприпустиме задання параметра
PARAMETERS
(PAR_A = PAR_B,
PAR_B = PAR_A);
Задане користувачем символічне ім'я параметра повинно бути унікальним і не повинно містити пропусків. Для поліпшення читаності імені варто використовувати символ підкреслення (_).
Область дії параметра - текстовий опис, у якому він був оголошений.
У файлі з текстовим описом оператор оголошення параметрів може використовуватися необмежене число раз.
Компілятор присвоює параметру значення, задане (джерела зазначені в порядку зменшення старшинства):
при оголошенні параметризованого модуля в розділі Variable Section або при безпосереднім використанні (In_Line Reference) параметризованого модуля;
при оголошенні в розділі Variable Section модуля, до складу якого входить параметризований модуль;
як глобальне значення параметра (команда Global Project Parameters меню Assign). Глобальне значення параметра зберігається у файлі призначень і конфігурації (Assignment & Configuration File) проекту;
як вихідне (defaults) значення параметра.