НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ "ЛЬВІВСЬКА ПОЛІТЕХНІКА"
ІНСТИТУТ КОМП’ЮТЕРНИХ ТЕХНОЛОГІЙ, АВТОМАТИКИ ТА МЕТРОЛОГІЇ
ДОСЛІДЖЕННЯ МЕТОДІВ МІНІМІЗАЦІЇ І РЕАЛІЗАЦІЇ БУЛЕВИХ ФУНКЦІЙ
ІНСТРУКЦІЯ
до лабораторної роботи №2а
з дисципліни
"ЕЛЕМЕНТИ ДИСКРЕТНИХ ПРИСТРОЇВ АВТОМАТИКИ"
для студентів базового напряму 6.0914 «Комп'ютеризовані системи, автоматика і управління» та базового напряму 050201 «Системна інженерія»
Затверджено
на засіданні кафедри
комп’ютеризованих систем
автоматики
Протокол № від
Львів - 2009
Дослідження методів мінімізації і реалізації булевих функцій. Інструкція до лабораторної роботи №2а з дисципліни "Елементи дискретних пристроїв автоматики" для студентів базового напрямку 6.0914 «Комп'ютеризовані системи,автоматика і управління» та базового напрямку 050201 «Системна інженерія» усіх форм навчання / Укл. О.С. Вітер, Р.В.Проць – Львів: НУ(ЛП(, 2008, 10с.
Укладачі: О.С.Вітер, канд. техн. наук, доц.,
Р.В.Проць, канд. техн. наук, доц.,
Відповідальний за випуск: А.Й. Наконечний д.т.н.,проф.
Рецензент: проф. З.Р.Мичуда.
Мета роботи: вивчення методів мінімізації булевих функцій за допомогою карт Карно, діаграм Вейча, і за допомогою програми моделюючого типу Workbench (Multisim).
Теоретичний вступ
Логічну схему, яка реалізує заданий алгоритм перетворення сигналів, можна синтезувати безпосередньо за виразом, поданим у вигляді досконалої диз’юнктивної нормальної форми, тобто диз’юнкцією наборів елементарних кон’юнкцій однакового рангу (ДДНФ), або у вигляді досконалої кон’юнктивної нормальної форми, тобто кон’юнкцією наборів елементарних диз’юнкцій однакового рангу (ДКНФ). Важливим етапом проектування комп'ютерних схем є мінімізація булевих функцій, тобто знаходження таких їх виразів, які мають мінімальну кількість змінних. Мінімізація забезпечує спрощення практичної реалізації цифрових схем і побудови комп'ютеризованих систем. Для мінімізації функцій із числом змінних п ( 6 застосовують карти Карно або діаграм Вейча, які будують у вигляді таблиць з 2n клітинок з розміткою рядків і стовпчиків змінними. У програмі Workbench прийнято позначати змінні буквами алфавіту, а їх заперечення не рискою, а апострофом, тому такі позначення використані і викладі матеріалу інструкції. Карта Карно для функції чотирьох змінних F(A,B,C,D) показана на рис.1. Рядки карти позначені значеннями змінних A, B, а стовпчики — значеннями змінних C, D. Кожна клітинка карти Карно однозначно відповідає одному наборові таблиці істинності для функції чотирьох змінних (рис. 1), або мінтермам цієї функції (рис. 2).
Рис. 1 Рис. 2
При мінімізації для кожного мінтерму, який входить у ДДНФ функції, ставиться одиниця, а інші клітинки не заповнюються. Наприклад, заповнення карти Карно для функції
F(A,B,C,D) = A’BC’D’+ABC’D’+ABC’D+A’B’CD+A’B’CD’+A’BCD’+ABCD’+AB’CD’
показано на рис. 3.
Мінтерми в сусідніх клітинках карти Карно в рядку (з врахуванням верхніх і нижніх) або в стовпчику (з врахуванням крайніх) розрізняються значенням однієї змінної, що дозволяє виконувати операцію склеювання по цій змінній.
Рис. 3 Рис. 4
Наприклад, на рис. 3 мінтерми A’B’CD і A’B’CD’ відрізняються значенням змінної D, тому вони склеюються по ній і представляються кон'юнкцією трьох змінних A’B’C. Аналогічно для мінтермів A’B’CD’, A’BCD’, ABCD’ і AB’CD’ склеювання відбувається по змінних AB і одержують кон'юнкцію CD’. Аналогічним способом одержують кон'юнкцію BD’ і BC’D’. У результаті мінімізації функції F(A,B,C,D) одержують її мінімальний вираз Р = ABC’ + BD’ + A’B’C + CD’.
Правила мінімізації.
Мінімізація функкції, представленої або перетвореної у ДДНФ, здійснюється за наступними правилами:
Зображають карту Карно для п змінних і роблять розмітку її рядків і стовпчиків. У кожну клітинку таблиці, яка відповідає мінтерму функції, записують одиницю.
Склеюванню підлягають прямокутні конфігурації, які заповнені одиницями і містять 2, 4 або 8 клітинок. Верхні й нижні рядки, крайні ліві і праві стовпчики карти ніби склеюються, створюючи поверхню циліндра.
Множина прямокутників, які покривають усі одиниці, називається покриттям. Чим менше прямокутників і чим більше клітинок у прямокутниках, тим краще покриття. З декількох варіантів вибирають той, у якого менший коефіцієнт покриття z = r/s, де r — загальне число прямокутників, s — їхня сумарна площа в клітинках. Наприклад, для зображеного покриття (рис. 3) маємо z = 4/8.
Формули, отримані в результаті мінімізації, містять r елементарних кон'юнкцій (за числом прямокутників у покритті). Кожна кон'юнкція містить тільки ті змінні, які не змінюють свого значення в наборах, що склеюються у відповідному прямокутнику. Число змінних кон'юнкції називається її рангом. При склеюванні двох сусідніх клітинок одержують ранг кон'юнкції п-1, чотирьох клітинок — п-2 , восьми клітинок — п-3 і т.д.
Для мінімізації булевих функцій використовують також діаграми Вейча, які аналогічні картам Карно і відрізняються від них способом розмітки клітинок: замість символів 0 і 1 використовують булеві позначення аргументів — A, B, C, D, та ін. (рис. 4).
Порядок виконання роботи
Розрахункова частина
3.1.1. Скласти таблицю істинності для заданої функції.
3.1.2. Занести значення функції у карту Карно (діаграму Вейча).
3.1.3. Виконати мінімізацію заданої функції за допомогою карти Карно (діаграми Вейча).
3.1.4. Оскільки лабораторний стенд зібраний на елементах І-НЕ, АБО-НЕ серії ТТЛ, то для зручності і спрощення реалізації схеми рекомендується перетворити мінімізований вираз відповідно до базису стенду.
Рис. 5.
Для наведеного вище прикладу в результаті такого перетворення отримаємо:
3.1.5. Нарисувати схемну реалізацію одержаної функції. При виконанні схеми доцільно дотримуватися певного порядку: зліва наводяться вертикально розміщені шини вхідних сигналів. Необхідні шини з’єднуються через інвертори з вертикально розміщеними шинами інвертованих вхідних сигналів. Після них слід помістити елементи кон’юнкції. Такий підхід спрощує процес рисування і дозволяє зменшити можливість помилкових з’єднань. Приклад реалізації заданої функції приведено на рис. 5.
Експериментальна перевірка одержаних результатів
За допомогою джемперів зібрати одержану схему на стенді.
3.2.2. Входи схеми під’єднати до джерел логічних сигналів і індикаторів рівня сигналів, вихід – до індикатора рівня вихідної напруги.
3.2.3. Подаючи за допомогою перемикачів на входи схеми усі можливі комбінації вхідних сигналів, записати таблицю істинності зібраної схеми і порівняти її з таблицею істинності, одержаної в розрахунковій частині.
Побудова схемної реалізацію заданої функції на елементах НЕ, 2І, 2АБО за допомогою програми Multisim
3.3.1. Відкрити програму Multisim і вивести на робочий стіл логічний перетворювач (Logic Converter).
3.3.2. Ввести у вікно функцій (нижнє) логічного перетворювача (рис. 6) задану логічну функцію.
3.3.3. Для відображення у вікні логічного перетворювача таблиці істинності заданої функції натискаємо кнопку. Перевіряємо відповідність таблиці заданій функції.
3.3.4. Для отримання мінімізованої функції натискаємо кнопку . При цьому у вікні функцій появиться мінімізована функція. Порівнюємо результат мінімізації, з результатом, отриманим у п. 3.1.3.
Рис. 6
3.3.5. Для побудови схемної реалізації мінімізованої функції на елементах НЕ, 2І, 2АБО натискаємо кнопку . При цьому на робочому столі появиться синтезована машинним способом принципова схема.
Рис. 7
3.3.6. Вивести на робочий стіл генератор слова (Word Generator) і встановити у вікні Setting код кінця циклу Hex 000F або Dec 16 (рис. 7). Активізувати кнопку Up counter (Вверх)і закрити його кнопкою Accept. При цьому буфер екрану заповниться кодовими комбінаціями починаючи з 0 і до значення 000F або з 0 і до значення 15.
3.3.7. З’єднати останні 4 виводи генератора слова з входами A, B, C, D.
3.3.8. Вивести на робочий стіл логічний аналізатор (Logic Analyzer) і з’єднати його входи з входами A, B, C, D і виходом схеми (рис. 9).
Рис. 9
3.3.9. Натискаючи кнопку Step у покроковому режимі перевірити, чи збігаються осцилограми логічного аналізатора з отриманою в п. 3.1.3. таблицею істинності.
4. Вказівки до звіту
Звіт повинен містити:
Назву і мету роботи.
Задану функцію і таблицю істинності.
Карту Карно і вираз для мінімізованої функції.
Вираз для мінімізованої функції в базисі І-НЕ, АБО-НЕ і схему для її реалізації.
Висновок за порівнянням результату експериментальної перевірки схеми на стенді з таблицею істинності.
Електричну схему в базисі НЕ, 2І, 2АБО, одержану за допомогою програми Workbench.
Осцилограми, одержані в результаті перевірки схеми, одержаної за допомогою програми Workbench.
Висновок за порівнянням осцилограм з таблицею істинності.
Список літератури
Бабич М.П., Жуков А.І. Комп’ютерна схемотехніка: Навчальний посібник. – К.: «МК-Прес», 2004.
Цифрова техніка: Навчальний посібник / Б.Є. Рицар. - К.: НМК ВО, 1991. - 372 с.
Основи цифрової мікросхемотехніки: Навчальний посібник / Б.О. Капустій, О.В. Надобко, Б.А. Мандзій. - К.: НМК ВО, 1992. - 152 с.
Карлащук В.И. Электронная лаборатория на IBM PC. Лабораторнный практикум на базе Electronics Workbench и MATLAB. − М.: «Солон−Р», 2004.
Короткий опис програми Electronics Workbench до лабораторних робіт з математичним моделюванням для студентів напряму 0907 “Радіотехніка”. / Укл. Проць Р.В., Яковенко І.Г. Львів: НУ”ЛП”, 2003.
Додаток
Перелік завдань до лабораторної роботи
Мінімізувати і синтезувати схемні рішення наступних логічних функцій:
A'B'C'D'+A'BC'D'+ABC'D'+AB'C'D'+ABCD'+AB'CD'+ABC'D+ABCD
A'B'C'D'+A'B'C'D+A'B'CD'+A'B'CD+A'BC'D'+A'BCD'+AB'C'D'+ABC'D'
A'B'CD+A'BC'D+A'BCD+AB'CD'+AB'CD+ABC'D+ABCD'+ABCD
A'B'C'D+A'B'CD'+A'B'CD+A'BC'D'+A'BCD'+AB'C'D+AB'CD'+AB'CD+ABC'D'+ABCD'
A'B'C'D'+A'B'C'D+A'B'CD'+A'BC'D'+A'BC'D+AB'C'D'+AB'CD'+AB'CD+ABCD'+ABCD
A'B'C'D'+A'B'C'D+A'B'CD'+A'B'CD+A'BC'D+AB'C'D'+AB'C'D+AB'CD'+ABC'D
A'BC'D'+A'BC'D+A'BCD'+A'BCD+ABC'D'+ABCD'+ABCD
A'B'C'D'+A'B'C'D+A'B'CD+A'BC'D+AB'C'D'+AB'C'D+AB'CD+ABC'D
A'B'C'D'+A'B'CD'+A'BC'D'+A'BC'D+A'BCD'+A'BCD+ABCD'+ABCD
A'B'CD'+A'B'CD+A'BC'D'+A'BCD'+A'BCD+ABC'D'+ABC'D+ABCD'+ABCD
A'B'C'D'+A'BC'D'+A'BC'D+A'BCD'+A'BCD+AB'C'D'+AB'C'D+AB'CD'+AB'CD+ABC'D'
A'BC'D'+A'BC'D+AB'C'D'+AB'C'D+ABC'D'+ABC'D+ABCD'+ABCD
A'B'C'D'+A'B'C'D+A'B'CD'+A'B'CD+A'BCD+AB'CD+ABC'D'+ABC'D+ABCD'+ABCD
A'B'C'D'+A'B'C'D+A'B'CD+A'BC'D'+A'BC'D+A'BCD'+A'BCD+AB'C'D+AB'CD
A'B'C'D'+A'B'C'D+A'B'CD'+A'BC'D'+A'BC'D+A'BCD'+A'BCD+AB'CD'+ABCD'+ABCD
Навчальне видання
Дослідження методів мінімізації і реалізації булевих функцій. Інструкція до лабораторної роботи №2а з дисципліни "Елементи дискретних пристроїв автоматики" для студентів базового напрямку 6.0914 «Комп'ютеризовані системи,автоматика і управління» та базового напрямку 050201 «Системна інженерія» усіх форм навчання
Укладачі: Вітер Олександр Сергійович
Проць Роман Володимирович
Редактор