VHDL - мова опису апаратних засобів комп'ютера

VHDL є мовою для опису цифрових електронних систем [6,7]. Вона зявилась в результаті виконання програми Уряду США по створенню надшвидкісних

VHDL - мова опису апаратних засобів компютера

Курсовой проект

Компьютеры, программирование

Другие курсовые по предмету

Компьютеры, программирование

Сдать работу со 100% гаранией
ь змінну циклу, яка приймає послідовні значення у вказаних межах. У тілі циклу ця змінна розглядається як костанта (їй не можна присвоювати значення). Після закінчення циклу значення цієї змінної не існує.

 

2.3.4.5 Порожня конструкція

Не виконує ніяких дій. Використовується лише у випадках, коли необхідно явно вказати, що ніяка дія не виконується. Найчастіше застосовується в конструкції CASE у гілці, при виборі якої не віконується жодна дія.

 

2.3.4.6 Конструкція підтвердження

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

 

ASSERT <умова>

[REPORT <вираз>]

[SEVERITY <вираз>];

 

Якщо присутній REPORT, результат виразу повинен бути рядковим. Це буде повідомлення, якщо умова є хибною. Якщо REPORT відсутній, то повідомлення за замовчуванням буде Assertion violation. Якщо присутній SEVERITY, вираз повинен мати тип severity_level; якщо його нема, то значення за замовчуванням є error. Симулятор може закінчити своє виконання, якщо умова не виконалась і значення SEVERITY є більшим за якесь порогове значення, величина якого залежить від реалізації. Як правило, величина порогового значення регулюється користувачем.

2.3.5 Підпрограми та пакети

Як і інші мови програмування, VHDL підтрімує підпрограми у формі процедур та функцій. VHDL також підтримує пакети для групування декларувань та обєктів в окремі модулі. Пакети також забезпечують деяку абстракцію даних та приховування певних блоків інформації.

 

2.3.5.1 Процедури та функції

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

 

PROCEDURE [<список_формальних_параметрів>]

|FUNCTION [<список_формальних_параметрів>]

RETURN <тип_значення>;

 

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

В списку формальних параметрів можуть бути константи, змінні та сигнали.

 

2.4 Структурний опис мовою VHDL

 

2.4.1 Декларування елемента

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

Синтаксис декларації елемента наступний:

 

ENTITY <імя> IS

<заголовок>;

BEGIN

<тіло>;

END <імя>;

 

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

Тут можуть вказуватись константи, що описують поведінку елемента GENERIC CONSTANT, та канали вводу/виводу PORT.

GENERIC CONSTANT описуються так само, як і декларація підпрограм. Всі вони повинні мати клас констант. Дійсні значення констант передаються тоді, коли елемент буде використано. PORTS описуються так само, як і GENERIC CONSTANT, але їх клас повинен бути SIGNAL. Це є новий клас, тому покажемо його синтаксис:

 

SIGNAL <список_ідентифікаторів>:[<режим>] <тип> [BUS] [:=<статистичний вираз>]

 

Так, як клас повинен бути SIGNAL за замовчуванням, слово SIGNAL може бути пропущене.

Слово BUS (шина) показує, що порт буде підєднано до кількох виходів.

 

2.4.2 Декларування архітектури елемента

Після того, як елемент було декларовано за допомогою ENTITY, потрібно описати його архітектуру в розділі ARCHITECTURE. Кожен елемент може мати кілька таких описів.

 

ARCHITECTURE <ідентифікатор> OF <імя> IS

<заголовок>;

BEGIN

<тіло>;

END <ідентифікатор>;

 

В тілі архітектури вказуються пункти, що описують елемент конструктивно.

 

2.4.2.1 Декларування сигналів

Сигнали використовуються для зєднання піделементів між собою. Вони описуються за наступним синтаксисом:

 

SIGNAL <список_ідентифікаторів>:<тип>[REGISTER | BUS] [:=<вираз>];

 

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

 

2.4.2.3 Декларування компонентів

В тілі архітектури дозволяється описувати окремі елементи та поміщати їх до бібліотек для подальшого використання. Для цього в тілі архітектури потрібно декларувати компоненту. Її можна розуміти як тимчасове в межах даної архітектури визначення віртуального елементу.

 

COMPONENT <ідентифікатор>

[GENERIC (. . .)];

[PORT (. . .);

END COMPONENT;

 

2.4.2.4. Використання компонентів

 

<мітка>: <імя_компоненту>

[<дійсний_generic_map>]

[<дійсний_port_map>];

 

2.5 Функціональний опис мовою VHDL

 

Функціональний опис передбачає запис засобами мови програмування VHDL законів зміни сигналів.

Присвоєння значень сигналам диспетчеризує одну або кілька транзакцій на сигнал (або порт) в наступний спосіб:

 

<сигнал> | <агрегат> <= [TRANSPORT]

<значення> [AFTER | NULL]<час>{, . . . };

 

Цільовий сигнал може бути представлений агрегатом сигналів. Якщо час пропущений, то за замовчуванням береться затримка 0fs. Це означає, що транзакція буде диспетчеризована в той самий час, коли відбулось присвоєння, але в наступний цикл симуляції.

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

 

СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ

 

1.Бобровский С. Delphi 7. Учебный курс. - СПб.:Питер,2004. - 735 с.

2.Энго Ф. Как программировать на Delphi 4.0. Пер. с англ - К.: ДиалСофт, 1999. - 430 с.

3. Архангельський А.Я.. Программирование в Delphi 6. - М.: Бином, 2002. - 823 с.

4.Культин Н.Б.. Delphi 6.0. Программирование на Object Pascal. - СПб.: Питер ,2004. -526 с.

5.Лишнер Р. Секреты Delphi 2. Пер. с англ. - К.: НИПФ ДиаСофтЛтд, 1996. - 800 с.

6.Проектування цифрових систем з використанням мови VHDL: Навч. посібник/ В.В. Семенець, І.В. Хаханова, В.І. Хаханов. - Харків: ХНУРЕ, 2003. - 492 с.

7.Сергиенко А.М. VHDL для проектирования вычислительных устройств. - К.: ТИД ДС , 2003. - 208 с.

Похожие работы

<< < 1 2 3