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

1.4. Групи

Група - набір однотипних змінних або виводів. Порядковий номер змінної (виводу) у групі - індекс. Максимальне число змінних (виводів), об'єднаних в одну групу, не повинне перевищувати 256. У мові AHDL визначені три типи груп:

  • одновимірні (Single-range);

  • двовимірні (Dual-range);

  • послідовні (Sequential) або, що за змістом більш точно, часові.

Одновимірні групи задають, указуючи:

  • ім'я групи (символічне ім'я або ім'я виводу);

  • діапазон зміни індексів групи.

Двовимірні групи задають, указуючи:

  • ім'я групи (символічне ім'я або ім'я виводу);

  • пари діапазонів зміни індексів.

Послідовні (часові) групи задають списком, укладеним у круглі дужки. Елементами списку можуть бути змінні, виводи модуля, одновимірні групи, двовимірні групи. Елементи списку відділяються один від одного комами.

Індекси одновимірних і двовимірних груп повинні бути цілими додатними числами. Діапазон зміни індексів вказується в наступному форматі:

[ границя А.. границя В ].

Кожна із границь може бути визначена: числом, арифметичним виразом, константою або параметром.

Типовий порядок задання індексів - спадна зліва направо послідовність: границя А - більше ціле, границя В - менше. Якщо ж вони задані в зростаючій зліва направо послідовності або ж у рамках одного логічного файлу, використовуються обидва способи задання індексів, то рекомендується встановити опцію BITO=MSB або BITOANY відповідно. У протилежному випадку компілятор видасть попередження.

Приклади:

  1. А[5. .0] - одновимірна група. Індекси задані спадною, зліва направо, послідовністю. Члени групи А5, А4, A3, А2, А1, А0.

  2. CONSTANT UPPER=H"4"; B[UPPER..1] - одномірна група. Верхня границя діапазону зміни індексів визначена константою. Індекси задані спадною, зліва направо, послідовністю. Члени групи В4, ВЗ, В2, В1.

  3. С[2*2. .0][3. .2] - двовимірна група. Верхня границя діапазону зміни першої групи індексів задана арифметичним виразом. Індекси задані спадною, зліва направо, послідовністю. Члени групи С43, С42, СЗЗ, С32, С23, С22, С13, С12, С0З, С02.

  4. D[1..4] - одновимірна група. Індекси задані зростаючою зліва направо послідовністю. Члени групи: D1, D2, D3, D4.

  5. (А, Е[2.. 1], F); - часова група. Члени групи: А, Е2, Е1, F.

1.5. Числа

Мова AHDL допускає можливість використання десяткових, двійкових, вісімкових та шістнадцяткових чисел. Правила задання чисел:

  • Десяткове число - сукупність цифр від 0 до 9.

  • Двійкове число - В "сукупність символів 0, 1, х", або b "сукупність символів 0, 1, х".

  • Вісімкове число - О "сукупність цифр від 0 до 7", або о "сукупність цифр від 0 до 7", або Q "сукупність цифр від 0 до 7", або q "сукупність цифр від 0 до 7".

  • Шістнадцяткове число - Н "сукупність цифр від 0 до 9 і букв від А до F", або h "сукупність цифр від 0 до 9 і букв від А до F", або X "сукупність цифр від 0 до 9 і букв від А до F", або х "сукупність цифр від 0 до 9 і букв від А до F".

Приклади:

В "10x01"; х "А1"; О"73".

Число не може бути присвоєно однорозрядній змінній або виходу. Замість числа варто використовувати константну одиницю (b”1” або VCC) або константний нуль (b"0", або GND).

Приклади:

  1. out = b”1”; -- правильне присвоєння

  2. out = 0; -- неправильне присвоєння

  3. out = GND. -- правильне присвоєння.