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

4.3 У тому ж графічному файлі      виконати п. 4.1 на мультиплексорі найменшої розрядності (2:1), користуючись його символом, створеним безпосередньо менеджером MegaWizard Plug-In Manager (без згортання входів у шину за п. 3.6). Для цього подвійним клацанням у файлі (або інструментом палітри Symbol Tool) викликати діалогове вікно Symbol, натиснути в ньому кнопку MegaWizard Plug-In Manager, виконати п. 3.2 … 3.4, натиснути кнопку ОК у вікні Symbol та вставити символ мегафункції.

Приклад: 400gr_mega.bdf (схема 4), .vwf.

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

  а) вставити символ мегафункції до файлу звичайним чином з бібліотеки мегафункцій \quartus\libraries\megafunctions\gates\mux, виділити символ і піктограмою (або В2 > Properties) викликати діалогове вікно Symbol Properties, в якому для мегафункції доступними є сторінки Ports і Parameters;

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

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

Приклад. Для реалізації заданої логічної функції на мультиплексорі 8:1 вставляємо до файлу мегафункцію mux (див. файл 400gr_mega.bdf, схема 5) і настроюємо її параметри як описано у п. 4.4,б.

Відтак редагуємо порти в закладці Ports (див. 400rys.bdf, схема 2): вихід result і адресні входи sel[WIDTHS-1..0] залишаємо незмінними (Used – використовується, None – без інверсії), а розряди інформаційної шини data[WIDTH-1..0]  інвертуємо введенням Pattern > 72 Hex (або код в іншій системі числення).

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

За компіляцією та функціональним моделюванням (файл 400gr_me-ga.vwf)  переконуємося в правильності проектування: функція y2а узгоджується з таблицею відповідності.

FПримітки:

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

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

3. На символі мегафункції параметри позначаються таблицею за ввімкненого інструмента палітри Show Parameter Assignments (або командою з меню View > Show Parameter Assignments). Цю таблицю можна перетягнути у зручну позицію лівою кнопкою миші або (після виділення) клавішами зі стрілками керування курсором.

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

Приклад:  400gr_mega.bdf (схема 6), .vwf.