ПРАКТИЧНА РОБОТА № 3.
Проектування комбінаційних схем. Мінімізація булевих функцій.
Мета: Навчитись мінімізувати логічні функції аналітичним і графічним методами із застосуванням карт Карно.
Теоретичні відомості
У виробництві часто використовують комбінаційні керуючі схеми, які задають значення параметрів технологічного процесу залежно від логічних ознак. Схема об’єкту керування з двійковими логічними аргументами Х1, Х2, Х3 та Х4 на виході показана на рис. 3.1.
Комбінаційна схема залежно від значення аргументів на вході виробляє керуючі двійкові сигнали від F0 до F9.’
Рис. 3.1. Комбінаційна схема керування об’єктами
Комбінаційні схеми будуються на основі логічних елементів. Логічний стан виходів елементів комбінаційної схеми залежить тільки від комбінації вхідних сигналів у певний момент часу.
Областю визначення логічної функції F (Х1, Х2, … , Хn) є cкінченна множина різних двійкових наборів довжиною n, на кожному з яких указується значення функції нуль або одиниця. Кількість різних двійкових наборів дорівнює множині n-розрядних двійкових чисел m = 2n.
Довільну булеву функцію можна задавати різними способами: словесним описом, часовими діаграмами, геометричними фігурами, графами, таблицями істинності та аналітичними виразами.
У разі задання функції таблицею істинності в лівій її частині подано усі можливі двійкові набори, а в правій – вказано значення функції на цих наборах.
Розроблено універсальні (канонічні) форми представлення булевих функцій, які дають можливість одержати аналітичну форму довільної функції безпосередньо з таблиці істинності. Ця форма надалі може бути мінімізована або спрощена. Оскільки між множиною аналітичних представлень і множиною схем, які реалізують цю функцію, існує взаємно однозначна відповідність, то пошук канонічної форми запису є початковим етапом синтезу логічних схем.
Найбільше поширення одержали ДДНФ і ДКНФ. Для одержання цих форм вводяться поняття мінтермів (конституєнта 1) і макстермів (конституєнта 0).
Мінтерм – це функція n змінних, яка дорівнює одиниці тільки на одному наборі. Мінтерм одержують як кон’юнкцію n змінних, що входять до нього у прямому виді, якщо значення даної змінної в наборі Xi = 1, і – із запереченням, якщо Xi = 0.
Макстерм – це функція n змінних, яка дорівнює нулю тільки на одному наборі. Макстерм одержують як диз’юнкцію усіх змінних, що входять до нього у прямому вигляді, коли значення Xi = 0, або в інверсному вигляді, якщо значення Xi = 1.
Важливим етапом проектування комп'ютерних схем є мінімізація булевих функцій, тобто знаходження їх виражень з мінімальною кількістю букв. Мінімізація забезпечує побудову економічних схем комп'ютерів. Для мінімізації функцій із кількістю букв n ≤ 6 застосовують карти Карно. Їх будують у вигляді таблиць з 2n клітинок з розміткою рядків і стовпчиків змінними. Кожна клітинка карти Карно однозначно відповідає одному наборові таблиці істинності для функції п змінних або мінтермам цієї функції. Клітинки карти Карно часто нумерують десятковими цифрами – номерами наборів.
При мінімізації для кожного мінтерму, який входить у ДДНФ функції, ставиться одиниця, а інші клітинки не заповнюються.
Мінтерми в сусідніх клітинках карти Карно в рядку (з урахуванням верхніх і нижніх) або в стовпчику (з урахуванням крайніх) розрізняються значенням однієї змінної, що дозволяє виконувати операцію склеювання за цією змінною.
Наведемо загальні правила мінімізації.
1. Зображають карту Карно для n змінних і розмічають її рядки та стовпчики. У клітинки таблиці, які відповідають мінтермам (одиничним наборам) функції, що мінімізується, записують одиницю.
2. Склеюванню підлягають прямокутні конфігурації, які заовнені одиницями і містять 1, 2, 4 або 8 клітинок. Верхні й нижні рядки, крайні ліві і праві стовпчики карти ніби склеюються, створюючи поверхню циліндра.
3. Множина прямокутників, які покривають усі одиниці, називається покриттям. Чим менше прямокутників і чим більше клітинок у прямокутниках, тим краще покриття. З декількох варіантів вибирають той, у якого менший коефіцієнт покриття z = r / s, де r – загальна кількість прямокутників; s – їх сумарна площа в клітинках.
4. Формули, отримані в результаті мінімізації, містять r елементарних кон’юнкцій (за кількістю прямокутників у покритті).
Кожна кон’юнкція містить тільки ті змінні, які не змінюють свого значення в наборах, що склеюються у відповідному прямокутнику.
Кількість змінних у кон’юнкції називають її рангом. Склеюючи дві сусідні клітинки, одержують ранг кон’юнкції n –1, чотири клітинки – n –2, вісім клітинок – n –3 і т. д.
Розмітку карт Карно для функцій чотирьох змінних показано на рис. 5.2. У клітинки карт записано значення мінтермів відповідно у двійковому і десятковому еквівалентах.
Рис. 3.2. Карти Карно для функції чотирьох змінних:
а – двійкове значення мінтермів; б – десяткове значення мінтермів Для мінімізації булевих функцій використовують також діаграми Вейча, які аналогічні картам Карно і відрізняються від них способом розмічання: замість символів 0 і 1 використовують булеві позначення аргументів – X1, X1 , X2 та ін. (рис. 3.3).
Згідно з таблицею істинності (табл. 3.1) для функції F записується таке рівняння:
F = ̚X4̚X3̚X2̚X1+ ̚X4̚X3X2̚X1+ ̚X4̚X3X2X1+ ̚X4X3̚X2X1+ ̚X4X3X2X1+ X4̚X3̚X2̚X1+ X4̚X3̚X2X1+ X4X3̚X2X1+ X4X3X2̚X1
Таблиця 3.1. Таблиця істинності функції F
Рис. 3.4. Карти Карно для мінімізації булевої функції F чотирьох змінних
Мінімізацію функції F виконують на основі карти Карно
(рис. 3.4) Результати мінімізації:
F = ̚X4̚X3̚X1 + ̚X4X2X1+ X3̚X2X1+ X4̚X3̚X2+ X4X3X2̚X1
Для побудови схеми на універсальних логічних елементах
НЕ І рівняння перетворюються на основі правил подвійної інверсії
та де Моргана до такого вигляду:
F =̚( ̚( ̚X4̚X3̚X1) * ̚( ̚X4X2X1)* ̚ (X3̚X2X1)* ̚ (X4̚X3̚X2)* ̚ (X4X3X2̚X1))
Схему, що реалізує даний вираз, зображено на рис. 3.6.
Рис. 3.6. Комбінаційна схема на елементах НЕ І для реалізації функції F
Вартість комбінаційної схеми визначається загальною кількістю використаних корпусів мікросхем. Невикористані частини мікросхем утворюють резерв, або можуть бути використані для інших комбінаційних схем.
Для реалізації комбінаційної схеми, показаної на рис. 3.6, використано 4/6 корпусу мікросхеми КР1533ЛН1, 4/3 корпусу КР1533ЛА4, 1/2 – КР1533ЛА1, один корпус КР1533ЛА2; всього 4/6+4/3+1/2+1=7/2 або приблизно чотири мікросхеми.
Потужність, яку споживає комбінаційна схема, розраховують додаванням потужностей всіх мікросхем:
Рк.с =РЛН1+2РЛА4+РЛА1+РЛА2=13+14+7,0 = 34 мВт.
Швидкодія комбінаційної схеми характеризується затримкою вихідного сигналу відносно вхідного. Вхідний сигнал послідовно проходить три логічні елементи, затримка кожного становить 9,5 нс.
Таким чином, сумарна затримка сигналу схемою становить:
t к.с = 3≅9,5 = 28,5 нс.
Індивідуальні завдання:
Мінімізувати наступні функції і побудувати принципові електричні схеми для їх реалізації:
0) F(0,1,2,3,4,10,12,14)
1) F(2,4,5,10,11,14,15)
2) F(0,1,2,6,7,8,9)
3) F(2,3,4,6,7,9,13)
4) F(0,1,3,5,7,8,9,11,13,15)
5) F(0,1,4,5,9,14,15)
6) F(0,2,7,8,9,10,11)
7) F(2,3,5,7,10,12,13,)
8) F(0,1,4,6,9,10,11)
9) F(0,2,4,5,6,8,10,12,14)