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

а) у п. 2.1.2 до шаблону секції Function Prototype Statement ввести із заздалегідь створеного текстового файлу символа 5ХХtab.tdf  (п. 1.3) назву і параметри із секції підпроекту; наприклад, із файлу 500tab.tdf

SUBDESIGN 500tab 

(

        a[1..0]                    : INPUT;

        y[2..0]          : OUTPUT;

)

вводимо до нашого файлу, дотримуючись шаблону дані:

FUNCTION 500tab(a[1..0])

        RETURNS (y [2..0]);

б) у секції змінних так само оголошуємо зразок з іменем символа, наприклад:

VARIABLE

        dc      :  500tab;

в) до логічної секції вставляємо рівняння, дотримуючись імен входів і виходів символа, наприклад:

BEGIN

dc.a[1..0]=a[1..0]; a2=dc.y[1]; b2=dc.y[1]#dc.y[2]; c2=dc.y[2];   d2=dc.y[0]; e2=GND; f2=GND; g2=dc.y[2]; dp2=VCC;

END;

Приклад: файли 500symb.tdf, .vwf.

2.3 Засвоїти включення до проекту мегафункцій (на прикладі виконання завдання 5.7; задля наочності див. файл 400gr_mega.bdf): створити новий проект 5XXmega і однойменний текстовий файл (.tdf), зберегти із включенням до проекту цей файл, ввести заголовок (Title Statement) та виконати такі дії (під кожним пунктом наводяться фрагменти файлу 500mega.tdf).

TITLE "у на основі мегафункцій ";

1. Включити до складу проекту принаймні один різновид мегафункції мультиплексора певної розрядності (за власним вибором), створений менеджером MegaWizard Plug-In Manager у лаб. роботі №4, наприклад, 4XXmux8.inc, для чого:

а) вставити шаблон оператора включення Include Statement і в лапках ввести після двох крапок частину директорії, відмінну від директорії проекту ../4lab, та через косу риску ім’я різновиду мегафункції (з розширенням .inc) /4XXmux8.inc, надане під час його створення, наприклад:

INCLUDE "../4lab/400mux8.inc";

 б) піктограмою Settings (або з меню Project > Add/Remove Files in Project) викликати діалогове вікно Settings, відкрити сторінку Files і кнопкою огляду (…) ввести до складу проекту файл включення (.inc) і текстовий файл (.tdf) зазначеного різновиду мегафункції (з лаб. роботи №4, тип файлів Other Source Files). Низку файлів з діалогового вікна Select File можна перенести до проекту одним заходом: виділити їх за натиснутої клавіші Ctrl та натиснути кнопку збереження.

FПримітка. Альтернативою використання готового різновиду мегафункції є створення за допомогою менеджера MegaWizard Plug-In Manager нового її різновиду з директорією теки проекту.

2. Включити до складу проекту принаймні один із типів мегафункцій мультиплексора (за власним вибором), що є в бібліотеці програмного пакета, наприклад, mux оператором включення Include Statement.

INCLUDE "mux.inc";

FПримітка. Стандартні мегафункції компілятор бере безпосередньо з бібліотеки за назвою, тому й немає потреби вводити директорію.

3. Ввести вхідні і вихідні порти в секції підпроекту (Subdesign Section), використовуючи замість x[] інші імена змінних (бо літера х зарезервована для невизначеного стану), наприклад, in[].

SUBDESIGN 500mega

(

        in[4..1]     : INPUT;

        y2, y2a     : OUTPUT;

)

4. Вставити секцію змінних Variable Section.

VARIABLE

5. Надати імена компонентам схеми, для яких створено різновиди мегафункцій за допомогою менеджера, для чого  викликати підсекцію оголошення непараметризованого зразка Instance Declaration (non-parame-tererized) і ввести в її шаблон ім’я зразка функції, через двокрапку –  ім’я  мегафункції та залишити крапку з комою. 

        mx2             :  400mux8;

6. Надати імена компонентам схеми, в яких використовуються стандартні мегафункції, для чого  викликати підсекцію оголошення параметризованого зразка Instance Declaration (parametererized) і ввести в її шаблон ім’я зразка функції, через двокрапку –  ім’я  мегафункції, після ключового слова WITH – її параметри (кількість входів даних WIDTH і розрядність адресної шини WIDTHS) та залишити крапку з комою. 

mx2a         : mux

        WITH (WIDTH = 8, WIDTHS = 3);