
- •Мова опису апаратури 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 с.
1. Елементи мови
1.1. Ключові слова й ідентифікатори
Повний перелік ключових слів (Keywords) і ідентифікаторів (Identifires) мови AHDL наведений у табл. 1 і табл. 2 відповідно.
Таблиця 1. Ключові слова
AND ASSERT BEGIN BIDIR BITS BURIED CASE CLIQUE CONNECTED PINS CONSTANT DEFAULTS DEFINE DESIGN DEVICE DIV ELSE ELSIF END FOR |
FUNCTION GENERATE GND HELP_ID IF INCLUDE INPUT IS LOG2 MACHINE MOD NAND NODE NOR NOT OF OPTIONS OR OTHERS |
OUTPUT PARAMETERS REPORT RETURNS SEGMENTS SEVERITY STATES SUBDESIGN TABLE THEN TITLE TO TRI_STATE_NODE VARIABLE VCC WHEN WITH XNOR XOR |
Таблиця 2. Ідентифікатори
CARRY CASCADE CEIL DFFE DFF EXP FLOOR GLOBAL |
JKFFE JKFF LATCH MSELL MEMORY OPENDRN SOFT |
SRFFE SRFF TFFE TFF TRI USED WIRE X |
1.2. Символи
У табл. 3 перераховані символи, використовувані в мові AHDL.
Таблиця 3. Символи, використовувані в мові AHDL
Символ |
Опис |
_ |
Підкреслення (Underscore) |
- |
Тире (Dash) |
/ |
Коса риса (Slash) |
-- |
Подвійне тире |
% |
Відсоток (Percent) |
(.. ) |
Відкриваюча й закриваюча дужки (Left and Right Parentheses) |
[.. ] |
Відкриваюча й закриваюча прямокутні дужки (Left and Right Brackets) |
'...' |
Відкриваюча й закриваюча лапки (Quotation marks) |
“…” |
Подвійні лапки (Double Quotation marks) |
. |
Крапка (Period) |
.. |
Подвійна крапка |
; |
Крапка з комою (Semicolon) |
, |
Кома (Comma) |
: |
Двокрапка (Colon) |
= |
Рівність (Equals) |
=> |
Стрілка (Arrow) |
+ |
Плюс (Plus) |
- |
Мінус (Minus) |
= = |
Подвійна рівність |
! |
Знак оклику (Exclamation point) |
!= |
Знак оклику й рівність |
> |
Більше (Greater than) |
>= |
Більше або дорівнює |
< |
Менше (Less than) |
<= |
Менше або дорівнює |
& |
Амперсанд (Ampersand) |
!& |
Знак оклику й амперсанд |
$ |
Долар (Dollar sign) |
!$ |
Знак оклику й долар |
# |
Фунт (Pound sign) |
!# |
Знак оклику й фунт |
? |
Знак питання (Question mark) |
1.3. Імена
У мові AHDL визначені три типи імен:
Символічне ім'я (Symbolic name)
Ім'я модуля (Subdesign name)
Ім'я виводу (Port name).
Символічне ім'я — обумовлене користувачем ім'я, використовуване для задання:
змінних;
констант;
станів і розрядів скінченого автомата;
параметрів;
позначуваних арифметичних виразів;
іменованих операторів.
Ім'я модуля — обумовлене користувачем ім'я, використовуване для іменування модуля, а також логічного файлу, у якому зберігається його текстовий опис.
Ім'я виводу — обумовлене користувачем ім'я, використовуване для позначення:
входу модуля;
виходу модуля;
двонаправленого виводу модуля;
входу для імпортованого скінченого автомата;
виходу для експортованого скінченого автомата.
Ім'я може бути задане в одній із двох форм:
рядком символів (від 1 до 32 символів) - Unquoted name;
рядком символів (від 1 до 32 символів), укладеним в одинарні лапки - Quoted name.
Правила використання зазначених форм зведені в табл. 4.
Таблиця 4
|
Quoted Subdesign Name |
Unquoted Subdesign Name |
Unquoted Symbolic Name |
Quoted Symbolic Name |
Unquoted Port Name |
Quoted Port Name |
Символи A..Z |
+ |
+ |
+ |
+ |
+ |
+ |
Символи a..z |
+ |
+ |
+ |
+ |
+ |
+ |
Цифри 0..9 |
+ |
+ |
+ |
+ |
+ |
+ |
Підкреслення (_) |
+ |
+ |
+ |
+ |
+ |
+ |
Коса риска (/) |
|
|
+ |
+ |
+ |
+ |
Тире (-) |
+ |
|
|
+ |
|
+ |
Тільки цифри 0..9) |
+ |
+ |
|
+ |
+ |
+ |
Ключове слово |
+ |
|
|
+ |
|
+ |
Ідентифікатор |
+ |
|
|
|
|
+ |
Максимальне число символів |
32 |
32 |
32 |
32 |
32 |
32 |