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

Усі інші логічні елементи, що є багатовходовими, репрезентовано мегафункціями lpm_or,  lpm_and та lpm_xor (рис. 4.6, а). Такі мегафункції  характеризуються параметрами: LPM_WIDTH – кількість елементів масиву, отже, кількість вхідних шин і розрядність вихідної шини, наприклад, для мегафункції lpm_and при LPM_WIDTH = 3 (рис. 4.6, б) маємо 3 елементи з виходами у2, у1, у0 (рис. 4.6, в); LPM_SIZE – кількість входів кожного елемента, отже і розрядність вхідних шин, наприклад, при LPM_SIZE = 2 маємо двовходові елементи зі входами х1j, x0j, де j = 2, 1, 0 (див. рис. 4.6, б), в). Шляхом інвертування входів шістнадцятковим кодом Н”15” отримуємо три елементи заборони.

4.1.3.3 Дешифратор

Мегафункція дешифратора lpm_decode (рис. 4.7) характеризується двома основними параметрами (відображаються на символах мегафункцій брунатним кольором у правому верхньому куту за ввімкненої опції: меню Options > Show Parameters або Show All): LPM_WIDTH – розрядність двійкового вхідного коду та LPM_DECODES – розрядність унітарного вихідного коду 2^ LPM_WIDTH (для повного дешифратора) або <2^ LPM_WIDTH (для неповного дешифратора).

Рисунок 4.7

Для прикладу на рис. 4.7 зображено настроєний дешифратор 2:4.

4.1.3.4 Мультиплексори

Мегафункція звичайного мультиплексора mux (рис. 4.8, а) параметром  WIDTHS – кількістю адресних входів sel[] – визначає припустиму розрядність WIDTH £ 2^WIDTHS вхідного коду data[]. Так, настроюванням WIDTH = 16 та WIDTHS = CEIL(LOG2(WIDTH)) = 4 дістанемо мультиплексор 16:1, а зміною величини WIDTH – мультиплексор з довільною кількістю входів.

                 а)                             б)                        в)

Рисунок 4.8

Мегафункція мультиплексора – перемикача шин busmux (рис. 4.8, б) з одним адресним входом при sel = 0 з’єднує з виходом result[] вхідну шину dataa[], а при sel = 1 – шину datab[]. Розрядність вхідних і вихідної шин визначається параметром WIDTH.

Проте базовою є мегафункція lpm_mux (рис. 4.8, в), що поєднує в собі властивості двох вищезгаданих, але з розрядністю адресних входів LPM_WIDTHS, яка визначає кількість вхідних шин LPM_SIZE £ 2^ LPM_WIDTHS розрядністю LPM_WIDTH кожна. Двовимірний масив вхідних даних має розмір data[LPM_SIZE-1..0][LPM_WIDTH-1..0], а ширина вихідної шини result[LPM_WIDTH-1..0] збігається з розрядністю вхідних шин LPM_WIDTH.

Якщо призначити LPM_WIDTH = 1, то така мегафункція перетворюється у звичайний мультиплексор (див. рис. 4.8, а), який перемикає одну з LPM_SIZE ліній до однодротового виходу. Але згідно з форматом її прототипу позначати вхідні лінії все одно потрібно двовимірним кодом data[][], в якому другий складник є 0. Настроювання значно спрощується з використанням спеціальної підпрограми – менеджера створювання мегафункцій. Ця методика докладно викладається в лабораторному завданні.

F Примітка. Інші параметри мегафункцій дешифратора і мультиплексора, що застосовуються в послідовнісних пристроях, зокрема, LPM_PIPELINE (конвеєрний режим) не є обов’язковими і під час настроювання їх можна не визначати.

4.2  Лабораторне завдання

4.2.1  Дослідити типові мультиплексори

4.2.1.1 За принциповою електричною схемою та осцилограмами сигналів (4prim.gdf, .scf) мультиплексора з трьома станами виходу на логічних елементах скласти таблицю відповідності і рівняння вихідної функції, виміряти затримку вихідних імпульсів. (У звіті навести схему, умовне графічне позначення за ДСТУ, таблицю відповідності, рівняння вихідної функції, часові діаграми, затримку, стислі пояснення принципу дії такого ЦКП з трьома станами виходу).

4.2.1.2 Ознайомитися з макрофункціями стандартних мультиплексорів серії 74, у тому числі з трьома станами виходу (файл d:\max2work\ tutorial\4lab\4lіbr_macro.gdf, рис. 4.1...4.4). Розглянути принципові електричні схеми (В** по символу) та таблиці відповідності (клацнути піктограмою по символу) різновидів мультиплексорів. (У звіті навести два-три символи з різних груп, пояснити призначення та особливості входів і виходів).