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).
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.