Лабораторний практикум з дослідження цифрових пристроїв на основі САПР MAX+PLUS II, страница 38

4.2.4.7 У тому ж графічному файлі виконати завдання п. 4.2.2.1 на мегафункції мультиплексора lpm_mux за ручного її настроювання (достатньо один варіант мультиплексора) аналогічно п. 4.6.

< Приклад: d:\max2work\tutorial\4lab\400gr_mega.gdf (схема 6), .scf.

4.2.5 Засвоїти основи застосування мегафункцій у текстовому редакторі (на прикладі варіантів п. 4.2.2.1).

4.2.5.1 У текстовому файлі (.tdf) нового проекту 4XXtx_mega виконати завдання п. 4.2.2.1 на мегафункції зразка мультиплексора найбільшої розрядності 4XXmuxN.inc, .sym, створеного менеджером MegaWizard Plug-In Mana-ger (п. 4.2.3), для чого виконати такі дії (задля наочності див. файл d:\max2work\tutorial\4lab\400gr_mega.gdf, схема 1 і приклад – фрагменти файла 4XXtx_mega.tdf, що наводяться під кожним пунктом):

1) ввести заголовок (TitleStatement);

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

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

INCLUDE "400mux16.inc";

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

SUBDESIGN 400tx_mega

(

        in[4..1]     : INPUT;

        y1             : OUTPUT;

)

4) вставити секцію змінних VariableSection;

VARIABLE

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

mx1           : 400mux16

  WITH (WIDTH = 16, WIDTHS = 4);

6) ввести логічний блок LogicSection;

BEGIN

END;

7) між ключовими словами (BEGIN та END;) ввести оператор булевих рівнянь Boolean Equation та вставити в утворений таким чином шаблон через крапку з комою рівняння, якими з’єднати входи мегафункції з вхідними портами та вихідний порт – з виходом мегафункції.

BEGIN

mx1.sel[3..0] = in[4..1]; mx1.data[15..0] = H"3722"; y1 = mx1.result;

END;

8) виконати компіляцію та функціональне моделювання і переконатися в правильності проектування (задля наочності див. файли d:\max2work\tutorial\4lab\400gr_mega.gdf, схема 1, 400gr_mega.scf).  

Приклад:  d:\max2work\tutorial\4lab\400tx _mega.tdf, .scf.                                        

F Примітка. Логічні зв’язки між виходами та входами мегафункції містяться у файлі її включення (п. 4.2.5.1, підпункт 2), тому в булевих рівняннях достатньо лише з'єднати входи і виходи зразка модуля, що репрезентує настроєну мегафункцію в проектованому пристрої, з вхідними і вихідними портами пристрою. Входи і виходи зразка мають такі самі назви, як у мегафункції, але позначаються через крапку після імені зразка. У лівій частині рівнянь ставляться невідомі величини, а в правій – відомі, задані вхідними портами INPUT або визначені у файлі включення (у нас – result). У разі потреби, додаткові з'єднання виконуються через зовнішні відносно мегафункції логічні операції, наприклад, входи даних з’єднано з константами згідно з таблицею відповідності.

4.2.5.2 У тому ж текстовому файлі виконати п. 4.2.5.1 на мегафункціях мультиплексорів меншої розрядності, створених менеджером MegaWizard Plug-In Manager, шляхом доповнення розділів 2, 3, 5, 7 цього пункту потрібними даними (задля наочності див. файл d:\max2work\tutorial\4lab\400gr_mega.gdf, схеми 2, 3, 4). 

Приклад:  d:\max2work\tutorial\4lab\400tx _mega.tdf, .scf.

F Примітка. У п. 4.2.5.2 достатньо виконати один-два варіанти схеми на мультиплексорах різної розрядності; п. 4.2.5.3, 4.2.5.4 є факультативними, необов’язковими.

4.2.5.3 У тому ж текстовому файлі виконати п. 4.2.5.1 на мегафункції мультиплексора mux шляхом доповнення підпунктів 2, 3, 5, 7 цього пункту потрібними даними (задля наочності див. файл d:\max2work\ tutorial\4lab\400gr_mega.gdf, схема 5).