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

2. У п. 4.2.4.4 достатньо виконати один-два варіанти схеми на мультиплексорах різної розрядності; п. 4.2.4.5...4.2.4.7 є факультативні, необов’язкові.

4.2.4.5 У тому ж графічному файлі виконати п. 4.2.4.1...4.2.4.3 на мультиплексорі 2:1, користуючись його символом, створеним безпосередньо менеджером MegaWizard Plug-In Manager (без спрощення за п. 3.2.3.6).

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

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

а) Вставити символ мегафункції до файла звичайним чином, але з бібліотеки мегафункцій d:\maxplus2\max2lib\mega_lpm і викликати діалогове вікно редагування (В2 по символу > Edit Ports/Parameters), в якому для мегафункції доступними є обидві закладки (Ports і Parameters).

б) Зручніше спочатку призначити параметри в закладці Parameters: виділяємо параметр у віконці Name/Value, ім’я якого з’являється у віконці Parameter Name, вводимо його значення Parameter Value (прокруткою або з клавіатури) і фіксуємо в графі Value кнопкою Change (кнопкою Clear можна видалити значення, а відтак знов його ввести); повторюючи цю процедуру, призначаємо всі параметри, доступні в графі Name. Порти призначаємо в закладці Ports так само, як і в п. 4.2.4.2 (результат показано на невиділеному символі наведеного нижче рисунку).

в) Увести інші елементи схеми (за необхідності, розщепити шини і перейменувати порти), виконати компіляцію та функціональне моделювання, переконатися в правильності проектування.  

< Приклад. Для реалізації заданої логічної функції, наприклад, на мультиплексорі 8:1 вставляємо до файла мегафункцію mux (див. файл d:\max2work\tutorial\4lab\400gr_mega.gdf, схема 5). Викликаємо діалогове вікно редагування і в закладці Parameters, у віконці Name/Value, виділяємо параметр WIDTH – ширину інформаційної шини, вводимо значення 8 у віконці Parameter Value і фіксуємо його в графі Value кнопкою Change. Відтак переходимо до наступного параметра WIDTHS – ширини адресної (селекторної – S) шини, яка для мультиплексора 8:1 дорівнює трьом, тому у віконці Parameter Value можна або залишити CEIL(LOG2(WIDTH)), або для наочності ввести значення 3 і зафіксувати кнопкою Change.

Відтак редагуємо порти в закладці Ports (див. d:\max2work\tutorial\4lab\400rys.gdf, схема 2): вихід result і адресні входи sel[WIDTHS-1..0] залишаємо незмінними (Used – використовується, None – без інверсії), а розряди інформаційної шини data[WIDTH-1..0]  інвертуємо введенням Patten/Radix > 72 hex (або код в іншій системі числення).

Після закриття діалогового вікна на символі мегафункції відобразяться результати редагування. Інші елементи схеми вводимо як у звичайному графічному файлі. Аби схема не потребувала надлишкового ресурсу (7 зайвих виводів pin і кілька комірок логічної матриці, адже немає сенсу деякі виводи ззовні закорочувати на землю), шину даних da[7..0] з метою зменшення на 7 вхідних портів розщеплюємо: лінію da6 відокремлюємо у вхідний порт, а інші її лінії з’єднуємо із землею. Крім того, імена ліній і шин узгоджуємо з назвами портів і виводів.

Після компіляції та функціонального моделювання (файл d:\max2work\tutorial\4lab\400gr_mega.scf)  переконуємося в правильності проектування: функція y2а узгоджується з таблицею відповідності.

F  Примітки:

1. В узагальнених назвах параметра, наприклад, data[WIDTH-1..0] або sel[WIDTHS-1..0] цифри 1..0 означають не його величину, а те, що діапазон зазначається стандартно – від старшого розряду до молодшого, наприклад, d[7..0], a[2..0].

2. У мультиплексорах ширина адресної шини WIDTHS за замовчуванням становить CEIL(LOG2(WIDTH)), де CEIL (ceiling – стеля) означає найближче ціле число, що не менше виразу в дужках, наприклад, CEIL(LOG2(7)) = 3, CEIL(LOG2(9)) = 4.

3. На символі мегафункції параметри позначаються (вгорі в правому кутку бузковим кольором) за ввімкненої опції Show Parameters меню Options.