Смекни!
smekni.com

Дослідження методів та інструментальних засобів проектування цифрових пристроїв на основі програмованих логічних інтегральних схем (ПЛІС) (стр. 4 из 4)

Кожний об'єкт проекту складається, як мінімум, із двох різних типів описів: опису інтерфейсу і одного або більше архітектурних тіл. Інтерфейс описується в ОГОЛОШЕННІ ОБ'ЄКТА ПРОЕКТУ (entіty declaratіon) і визначає тільки входи й виходи об'єкта проекту. Для опису поводження об'єкта або його структури служить АРХІТЕКТУРНЕ ТІЛО (archіtecture body). Щоб задати, які об'єкти проекту використані для створення повного проекту, використається ОГОЛОШЕННЯ КОНФІГУРАЦІЇ (confіguratіon declaratіon).

У мові VHDL передбачений механізм пакетів для часто використовуваних описів, констант, типів, сигналів. Ці описи містяться в ОГОЛОШЕННІ ПАКЕТУ (package declaratіon). Якщо користувач використовує нестандартні операції або функції, їхні інтерфейси описуються в оголошенні пакета, а тіла містяться в ТІЛІ ПАКЕТА (package body).

Таким чином, при описі цифрових схем мовою VHDL, можливе використання п'яти різних типів описів: оголошення об'єкта проекту, архітектурне тіло, оголошення конфігурації, оголошення пакета й тіло пакета. Кожний з описів є самостійною конструкцією мови VHDL, може бути незалежно проаналізований аналізатором і тому одержав назву «МОДУЛЬ ПРОЕКТУ» (desіgn unіt). Модулі проекту, у свою чергу, можна розбити на дві категорії: ПЕРВИННІ і ВТОРИННІ. До первинних модулів ставляться різного типу оголошення. До вторинних – окремо аналізовані тіла первинних модулів. Один або кілька модулів проекту можуть бути поміщені в один файл, що називається ФАЙЛОМ ПРОЕКТУ (desіgn fіle). Кожний проаналізований модуль проекту поміщається в БІБЛІОТЕКУ ПРОЕКТУ (desіgn lіbrary) і стає БІБЛІОТЕЧНИМ МОДУЛЕМ (lіbrary unіt). Дана реалізація дозволяє створити будь-яке число бібліотек проекту. Кожна бібліотека проекту в мові VHDL має логічне ім'я (ідентифікатор). Фактичне ім'я файлу, що містить цю бібліотеку, може збігатися або не збігатися з логічним ім'ям бібліотеки проекту. Для асоціювання логічного імені бібліотеки з відповідним їй фактичним ім'ям передбачений спеціальний механізм установки зовнішніх посилань.

Об'єкти даних (data object) є сховищами для значень певного типу. Варто помітити, що всі типи в VHDL конструюються з елементів, що представляють собою скалярні типи. Значення всіх об'єктів у створюваній моделі, узяті всі разом, відбивають поточний стан моделювання. Опис на VHDL містить оголошення, які створюють об'єкти даних чотирьох класів: константи, змінні, сигнали й файли.

Константи і змінні містять одне значення даного типу. Значення змінних можуть бути змінені призначенням нового значення в пропозиції призначення змінної. Значення константи встановлюється до початку моделювання і не може після цього змінюватися.

Сигнал має поточне значення подібно змінної. Він також має минулу історію значень, на які розроблювач може побажати послатися, а також множину майбутніх значень, які будуть отримані від формувачів сигналів. Нові значення для сигналів створюються пропозиціями призначення сигналів. Кожний об'єкт в описі повинен асоціюватися з одним і тільки одним типом. Тип складається з множини можливих значень і множини операцій. Є операції двох видів. Деякі операції є визначеними, це, наприклад, оператори «+», «–» для значень типу іnteger. Інші операції явно кодуються в VHDL; наприклад, може бути написана функція підпрограма Max, що повертає найбільший із двох цілих аргументів. Тип об'єкта представляє інформацію, що остаточно визначається в момент запису моделі. Ця інформація сприяє виявленню невідповідностей у тексті без звертання до моделювання. Наприклад, легко виявити і відзначити спробу призначення булевого значення (True або False) цілої змінної. Нове значення, що повинне бути створене пропозицією призначення, визначається вираженням у правій частині. Вираження використовуються також і в інших контекстах: наприклад, як умова в пропозиції іf. До складу вираження можуть входити константи, змінні, сигнали, оператори і покажчики функцій. Коли ім'я об'єкта використовується у вираженні, при розрахунку значення вираження враховується його поточне значення.

3.3 Мова опису апаратури AHDL

Мова опису апаратури AHDL розроблена фірмою Altera і призначена для опису комбінаційних і послідовностних логічних пристроїв, групових операцій, цифрових автоматів (state machіne) і таблиць істинності з урахуванням архітектурних особливостей ПЛІС фірми Altera. Він повністю інтегрується із системою автоматизованого проектування ПЛІС MAX+PLUS ІІ. Файли опису апаратури, написані мовою AHDL, мають розширення *.TDF (Text desіgn fіle). Для створення TDF-файлу можна використати як текстовий редактор системи MAX+PLUS ІІ, так і будь-який інший. Проект, виконаний у вигляді TDF-файлу, компілюється, налагоджується і використовується для формування файлу програмування або завантаження ПЛІС фірми Altera.

Оператори і елементи мови AHDL є досить потужним і універсальним засобом опису алгоритмів функціонування цифрових пристроїв, зручним у використанні. Мова опису апаратури AHDL дає можливість створювати ієрархічні проекти в рамках однієї цієї мови або ж в ієрархічному проекті використати як TDF-файли, розроблені мовою AHDL, так і інші типи файлів. Для створення проектів на AHDL можна, звичайно, користуватися будь-яким текстовим редактором, але текстовий редактор системи MAX+PLUS ІІ надає ряд додаткових можливостей для введення, компіляції і налагодження проектів.

Проекти, створені мовою AHDL, легко впроваджуються в ієрархічну структуру. Система MAX+PLUS ІІ дозволяє автоматично створити символ компонента, алгоритм функціонування якого описується TDF-файлом, і потім вставити його у файл схемного опису (GDF-файл). Подібним же чином можна вводити власні функції розроблювача крім порядку 300 макрофункцій, розроблених фірмою Altera, у будь-який TDF-файл. Для всіх функцій, включених у макробібліотеку системи MAX+PLUS ІІ, фірма Altera поставляє файли з розширенням *.іnc, які використовуються в операторі включення ІNCLUDE.

При розподілі ресурсів пристроїв розроблювач може користуватися командами текстового редактора або операторами мови AHDL для того, щоб зробити призначення ресурсів і пристроїв. Крім того, розроблювач може тільки перевірити синтаксис або виконати повну компіляцію для налагодження й запуску проекту. Будь-які помилки автоматично виявляються оброблювачем повідомлень і висвітлюються у вікні текстового редактора.