Проектування цифрових пристроїв на основі САПР QUARTUS II: Практикум, страница 30

Необов’язковий оператор заголовка є зручний для документування. Він використовується також компілятором у коментарях файлу повідомлення (.rpt – від Report). Оператор може застосовуватися у файлі лише один раз і має бути розташований поза іншими секціями.

3. Оператор включення (Include Statement)

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

Синтаксис оператора не дозволяє вказувати директорію компонента, тому якщо його різновид створено менеджером в іншій теці, файл включення слід перенести до проекту. Оператор має бути розташований поза іншими секціями, може вводитися до файлу довільну кількість разів і не може бути вкладеним.

4. Оператор прототипу функцій (Function Prototype Statement)

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

5. Секція підпроекту (Subdesign Section)

Секція призначена для оголошення вхідних та вихідних  портів і тому є обов’язковою. Вона містить назву проекту, таку саму, що й ім’я TDF-файлу (без розширення), та списки зовнішніх сигналів – вхідних і вихідних портів.

6. Секція змінних (Variable Section)

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

7. Оператор оголошення вузла (Node Declaration)

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

8. Оператор оголошення модуля (Instance Declaration)

Під час використання в графічному файлі деякого функціонального модуля, наприклад, примітиву, макрофункції або мегафункції, його конкретному екземплярові надається ідентифікаційний номер (позначається в лівому нижньому куту). У текстовому файлі, аби розрізнити окремі екземпляри функціональних модулів, кожному з них у секції змінних (Variable Section) надається символічне власне ім’я зразка, наприклад, двом дешифраторам можна дати символічні імена dc1 та dc2.

Синтаксис оператора містить символічне ім’я зразка і після двокрапки ім’я функціонального модуля, попередньо визначене операторами прототипу функційFunction Prototype Statement або включення Include Statement. Подібний синтаксис, наприклад, для транзисторів означав би їх ідентифікаційні номери в схемі і тип на кшталт VT1 : КТ315; VT2 : КТ315 тощо.

9. Логічна секція (Logic Section)

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

10. Булеві рівняння (Boolean Equation)