2. Вибираємо мультиплексор з кількістю адресних входів k на одиницю менше кількості змінних (у прикладі k=m–1=3, тобто мультиплексор 8:1). До адресних входів приєднуємо змінні, від яких функція залежить більшою мірою, тобто формуємо адресний код j (у прикладі j=a2a1a0 = = x4x2x1) і розбиваємо діаграму функції y на 2k піддіаграм. Для цього у кожну клітинку діаграми j (на рис. 4.2,а нижня діаграма) вписуємо десятковий код j= x4x2x1 відповідно до рисок цих змінних, не звертаючи уваги на аргумент x2, що не входить до адреси. Отже, діаграма виявляється розбитою на 8 піддіаграм (з двох клітинок кожна), які і визначають номери j інформаційних входів мультиплексора, що з'єднуються з виходом y.
3. Визначаємо сигнали dj(х3) на входах мультиплексора як функції вільної змінної, не приєднаної до адресних входів. Для цього зміст клітинок часткових діаграм з номерами j зчитуємо з діаграми у: d0=d2=d3=d7= 0, d1=d4=d5=1, d6=.
4. Згідно з функціями dj будуємо ЦКП (рис. 4.2,б). Легко переконатися, що пристрій функціонує відповідно до діаграми термів. Наприклад, коли х4х2х1 = 0101, тобто і = 5 маємо у2 = d5 =1. Отже, схема виявляється вдвічі простішою відносно рис. 4.1,б – потрібен лише один додатковий інвертор на вході d6.
5. Аналогічно проектуємо ЦКП на мультиплексорі 4:1 меншої розрядності – з двома адресними і чотирма інформаційними входами. До адресних входів приєднуємо дві змінні, від яких функція залежить більшою мірою (у прикладі один з трьох рівноцінних за цим критерієм варіантів), тобто формуємо адресний код j = a1a0 = x2x1 і розбиваємо діаграму функції y на чотири піддіаграми (рис. 4.3,а). Розглядаючи кожну з піддіаграм як діаграму термів функції двох змінних dj(x3, x4) і мінімізуючи звичайним чином, визначаємо сигнали: d1 = 1, d3 = 0, d0 = х4, d2 =. Шляхом порівняння з іншими двома варіантами адресного коду вибираємо перший (рис. 4.3,б) і, порівнюючи його з ЦПП на рис. 4.2,б, вважаємо кращим, бо він потребує простішого мультиплексора без надмірного ускладнення кіл для формування вхідних сигналів (потрібно по одному елементу НЕ та І).
Рисунок 4.3 – Проектування ЦКП на мультиплексорі 4:1
І, нарешті, так само проектуємо ЦКП на мультиплексорі 2:1 (рис. 4.4,а), вибираючи варіант адресного входу j=a= x1: (рис. 4.4,б). З порівняння можна дійти висновку, що остання реалізація ЦКП потребує менше ресурсу ІС, ніж попередні.
Рисунок 4.4 – Проектування ЦКП на мультиплексорі 2:1
Слід відзначити, що якщо в логічному виразі функції можна винести за дужки спільний аргумент хi, то ЦКП спрощується наданням стробовому входові значення G = хi при використанні мультиплексора-селектора зі звичайним (без третього стану) виходом. Крім того, якщо логічні функції на окремих інформаційних входах мультиплексора виявляються досить складними, то їх у свою чергу також можна реалізувати на мультиплексорах. Побудова ЦКП з кількома виходами зводиться до проектування кількох пристроїв для кожної функції окремо. Якщо з цією метою скористатися ІС мультиплексорів зі спільними адресними входами, цим входам доцільно надати ті змінні, які найбільшу кількість разів входять до обох функцій.
Таблиця 4.1 – Мегафункції логічних елементів
Символ |
Основні параметри |
||
Двоспрямовані буфери |
enabledt |
enabletr |
Напрямок передавання |
0 0 1 1 |
0 1 0 1 |
tridata[]=Z; result[]=Z tridata[] à result[] data[] à tridata[] data[] à tridata[], data[] à result[] |
|
Інвертори |
lpm_bustri (Buffer), lpm_inv (NOT Gate): LPM_WIDTH – розрядність шин і кількість елементів у кожній з них (буферів з трьома станами або інверторів). |
||
Логічні елементи |
lpm_or, lpm_and, lpm_xor: LPM_WIDTH – кількість елементів масиву, вхідних шин і розрядність вихідної шини; LPM_SIZE - кількість входів кожного елемента, тобто розрядність вхідних шин. Приклад: LPM_SIZE = 2, LPM_WIDTH =3, data[LPM_SIZE-1..0][LPM_WIDTH-1..0] = =data[1..0][2..0], result[LPM_WIDTH-1..0]= result[2..0]. |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.