МІНІСТЕРСТВО ОСВІТИ I НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ
Національній університет "Львівська політехніка"
Синтез найпростіших логічних операцій
МЕТОДИЧНІ ВКАЗІВКИ
до лабораторної роботи №2
з дисципліни "Комп’ютерна схемотехніка та архітектура комп’ютерів"
для студентів базового напряму 6.050101 "Комп’ютерні науки"
ЗАТВЕРДЖЕНО
на засіданні кафедри САП
протокол №1 від 22серпня 2011р.
ЛЬВІВ 2011
Синтез найпростіших логічних операцій. Методичні вказівці з дисципліни "Комп’ютерна схемотехніка та архітектура комп’ютерів" для студентів базового напряму 6.050101 "Комп’ютерні науки" /Укл . ст.викл .каф. Панчак Р.Т., доцент Процько І.О. - Львів: НУ"ЛП", 2011р.-8с.
Лабораторна робота №2
Синтез найпростіших логічних операцій
1. МЕТА РОБОТИ
Вивчити елементарні логічні функції одного та двох аргументів та відповідні їм логічної операції. Набути практичних навиків складання логічних виразів для них на основі операції кон’юнкції, диз’юнкції, заперечення.
2. КОРОТКІ ТЕОРЕТИЧНІ ВІДОМОСТІ
Науку про людське мислення створив давньогрецький вчений Аристотель (384-322 г. до н. э.). Він назвав її логікою. Логіка передписувала загальні правила за якими людина мислить, робить висновки та знаходить істину. Німецький математик, Г.В. Лейбніц (1646-1716 рр.) підвів логіку до обчислень. У нього виникла думка створити нову науку — математичну логіку, в якій логічні поняття позначені математичними знаками. Тільки майже через 200 років англійский математик, Джордж Буль (1815-1864 рр.) частково реалізував ідеї Лейбніца. Він створив для логічних висловлень позначення в символах, оперуючи котрими можна виконувати логічні міркування за допомогою звичайних обчислень.
Функція f(x1,x2,x3,...,xn) називається логічною (булевою), якщо вона, також як і її аргументи, може приймати тільки два значення - “істина” 1 та “не істина ” 0.
Логічні функції одного та двох аргументів називають елементарними функціями, маючи на увазі, що логічні вирази цих функцій містять не більше однієї логічної операції.
Існують всього чотири функції одного аргументу (Табл.1).
Табл.1
x\ f
f0(x)
f1(x)
f2(x)
f3(x)
0
0
0
1
1
1
0
1
0
1
Позначення операції
0
x
1
Функції f0(x), f1(x), f3(x) є тривіальними:
f0(x=0 (константа 0) , f1(x)=х , f3(x)=1 (константа 1).
Тому з функцій одного аргументу практичний значення має f2(x)= х’ (для зручності друку замість риски вгорі використаємо штрих), що відповідає найелементарнішій логічній унарній (з одним аргументом) операції заперечення (інверсія, логічне НІ).
Логічні функції двох аргументів подані в таблиці 2, визначаються шістнадцятьма варіантами комбінацій (для n логічних змінних (аргументів) існує 2n логічних комбінацій з 0 й 1) .
Табл.2
x1, x2\ f
f0
f1
f2
f3
f4
f5
f6
f7
0 0
0
0
0
0
0
0
0
0
0 1
0
0
0
0
1
1
1
1
1 0
0
0
1
1
0
0
1
1
1 1
0
1
0
1
0
1
0
1
Позначення операції
0
x1 x2
x1
x2
x1 x2
x1 x2
x1, x2\ f
f8
f9
f10
f11
f12
f13
f14
f15
0 0
1
1
1
1
1
1
1
1
0 1
0
0
0
0
1
1
1
1
1 0
0
0
1
1
0
0
1
1
1 1
0
1
0
1
0
1
0
1
Позначення операції
x1x2
x1~x2
x1← x2
x1 x2
x1| x2
1
Елементарні логічні бінарні (з двома аргументами) операції позначаються і мають відповідні назви (Табл.3).
Табл.3
Позначення
Назва
(x1 * x2), (x1 & x2), ( x1x2)
кон’юнкція (логічне множення)
(x1 x2 )
додавання по модулю 2 (виключне або)
(x1 x2), (x1 + x2),
диз’юнкція (логічне додавання)
x1~x2
еквівалентності (рівнозначності)
(x1x2)
функція Пірса (функція Вебба)
(x1→ x2)
ліва імплікація
(x1← x2)
права імплікація;
(x1| x2)
функція Шеффера
f0 (x1, x2)= 0
константа 0
f15 (x1, x2)=1
константа 1
ліва коімплікація
права коімплікація
,
заперечення, інверсія
f (x)=х
тривіальна
Логічні функції задаються таблицею істинності (Табл.1,2), а також алгебраїчно. Найбільш часто використовуються операції кон’юнкції, диз’юнкції, заперечення для синтезу логічних виразів. Здійснюючи перехід від табличного задання до алгебраїчного, необхідно кожному набору аргументів x1 ... xn-1 xn поставити у відповідність мінтерм (конституанту одиниці) або макстерм (конституанту нуля). Мінтерм (макстерм) - кон’юнкція (диз’юнкція) всіх аргументів, які в прямому представленні, якщо їх значення в даному наборі рівне 1, або в інверсному, якщо значення рівне 0. Для n аргументів задаються 2n мінтермів (макстерів): m0, m1, …, m n-1. Так за табл.2, алгебраїчне задання функції рівнозначності (еквівалентності) f9= x1~x2 набуває виду
F9=f0∙m0+f1∙m1+f2∙m2+f3∙m3 =1∙( x1 x2)+0∙( x1 x2)+0∙( x1 x2)+1∙( x1 x2)= ( x1∙ x2)+ ( x1∙ x2);
F9=(f0+m0) ∙ (f1+m1) ∙ (f+m2)∙ (f3+m3)= (1+ x1+ x2) ∙ (0+ x1+ x2) ∙ (0+ x1+ x2) ∙ (1+ x1+ x2)= ( x1 + x2) ∙ ( x1+x2).
Реалізація алгебраїчного задання булевих функцій в КНФ (кон’юктивна нормальна форма) або ДНФ (диз’юнктивна нормальна форма) нормальних формах виконується на основі мінтермів або на основі макстермів, відповідно. Якщо кожен член КНФ або ДНФ містить всі аргументи, то така форма називається досконала ДКНФ або ДДНФ.
Знаходження ДДНФ й ДКНФ можна пришвидшити, якщо застосувати такі правила.
ДДНФ знаходять за правилом запису логічної функції “за одиницями”:
виписують ряд логічних добутків всіх аргументів та з’єднують їх знаками диз’юнкції;
кількість добутків повинно бути рівним числу наборів, на яких задана таблично функція відповідає одиниці;
записують відповідним добуткам набір аргументів, за якими задана функція рівна одиниці, а над аргументами рівними 0, ставлять знаки заперечення.
Приклад. Представити в ДДНФ логічну функцію п’яти аргументів f(x1,x2,x3,x4,x5), рівну одиниці в наступних чотирьох наборах
0
0
1
0
1
0
1
1
1
1
1
0
0
0
0
1
1
1
1
1
Розв’язок. 1. Запишемо чотири добутки аргументів, пов’язаних знаком диз’юнкції та під кожним з них - один з перерахованих наборів
x1 x2 x3 x4 x5 ( x1 x2 x3 x4 x5 ( x1 x2 x3 x4 x5 ( x1 x2 x3 x4 x5
0 0 1 0 1 0 1 1 1 1 1 0 0 0 0 1 1 1 1 1
2. Розставляючи заперечення над аргументами, рівними нулю, отримаємо ДДНФ логічної функції:
( ( (
ДКНФ знаходять за правилом запису логічної функції “за нулями”:
виписують ряд логічних додавань всіх аргументів та з’єднують їх знаками кон’юнкції;
кількість доданків повинно бути рівним числу наборів, на яких задана таблично функція відповідає нулю;
записують відповідним доданкам набір аргументів, за якими задана функція рівна нулю, а над аргументами рівними 1, ставлять знаки заперечення.
Приклад. Представити в ДКНФ логічну функцію чотирьох аргументів f(x1,x2,x3,x4), рівну нулю в наступних в наборах
0
0
1
1
0
1
1
1
1
0
0
0
1
1
1
1
Розв’язок. 1. Запишемо чотири добутки диз’юнкцій аргументів, пов’язаних знаком кон’юнкції та під кожним з них - один з відповідних наборів :
(x1(x2(x3(x4) ( (x1(x2(x3(x4) ( (x1(x2(x3(x4) ( (x1(x2(x3(x4)
0 0 1 1 0 1 1 1 1 0 0 0 1 1 1 1
2. Розставляючи заперечення над аргументами, рівними одиниці, отримаємо ДКНФ логічної функції :
.
При виборі досконалої форми запису логічної функції варто мати на увазі, що ДДНФ є більш доцільна, якщо число наборів, на яких функція дорівнює 0, перевищує число наборів, на яких функція дорівнює 1. У протилежному випадку більш прийнятною буде ДКНФ.
Пріоритет виконання логічних операцій. Спочатку виконуються операції розташовані в дужках. При відсутності дужок, першою виконується операція заперечення, якщо вона відноситься до однієї логічної операції, потім кон’юнкція, а потім диз’юнкція.
Отже, любі логічні функції можна представити в виді ДКНФ або ДДНФ за допомогою відповідних комбінацій трьох основних логічних операцій:
-логічне заперечення (інверсія);
- логічне додавання (диз’юнкція);
-логічне множення (кон’юнкція).
Такий набір елементарних логічних функцій називають функціонально повним або логічним базисом, адже ними можна описати складну логічну операцію. Більш складніші логічні перетворення можна також звести до зазначених операцій.
Відповідність позначень логічних елементів подано в Таблиці 2.
Логічне множення (кон’юнкція) знаки ((), (() читаються як I. Якщо на вхід кон’юнктора поступають сигнали в різні моменти часу і різної тривалості, то сигнал на виході визначається як результат накладання вхідних сигналів. Часова діаграма роботи кон’юнктора для у=х1(х2(х3 або y=x1(x2(x3 приведена на рис.1.
Рис. 1. Часова діаграма роботи кон’юнктора у=х1(х2(х3 .
Логічне додавання (диз’юнкція) знаки (+), () читаються як АБО. Якщо на вхід диз’юнктора поступають сигнали в різні моменти часу і різної тривалості, то сигнал на виході визначається як результат об’єднання вхідних сигналів. Часова діаграма роботи диз’юнктора для у=х1+х2+х3 або приведена на рис.2.
Рис. 2. Часова діаграма роботи диз’юнктора у=х1+х2+х3.
3. ПРОГРАМНА СИСТЕМА МОДЕЛЮВАННЯ СХЕМ
Комп’ютерне середовище Electronics Workbench забезпечує програмне моделювання цифрових схем для вивчення основ теорії обчислювальних систем. Особливістю системи є наявність контрольно-вимірювальних засобів. Одним з таких віртуальних пристроїв є логічний конвертор (Logic Converter), який вибирається з меню Instruments. Логічний конвертор дозволяє виконувати такі перетворення використовуючи кнопки керування Conversions:
1) представлення таблиці істинності зібраної з логічних елементів схеми з числом змінних від 1 до 8, входи (A,B,C,D,E,F,G,H) вихід OUT;
2) представлення логічного виразу (ДДНФ) з таблиці істинності
мінімізацію (simp) логічного виразу ДДНФ;
представлення таблиці істинності з формули логічного виразу;
представлення схеми в необмеженому логічному базисі з формули;
представлення схеми в логічному базисі 2-І-НІ з формули.
Отже, за допомогою логічного конвертора можна виконувати не тільки аналіз логічних пристроїв (схем), але також і їх синтез по вихідній логічній комбінації.
Опис технології дослідження логічних схем за допомогою логічного конвертора (Logic Converter).
1. Записати логічний вираз, відповідно таблиці істинності елементарної логічної операції.
2. Зібрати відповідну логічну схему в робочому полі.
3. Підключити логічну схему до логічного конвертора (входів 8, один вихід Out – розміщений справа) та дослідити її.
4. Провести зворотній аналіз на основі таблиці істинності елементарної логічної операції, використавши кнопки керування Conversions логічного конвертора. Одержуєм результат у вигляді схеми на робочому полі та логічну функцію в додатковому полі конвертора.
4. ЛАБОРАТОРНЕ ЗАВДАННЯ
4.1. Отримати задані елементарні логічні операції, які треба представити через базисні операції І, АБО, НЕ.
4.2. Набрати синтезовану схему в комп’ютерному середовищі Electronics Workbench та перевірити достовірність одержаних результатів використавши логічний конвертор.
Таблиця істинності елементарної логічної операції
X1
X2
Y
..
..
..
..
5. КОНТРОЛЬНІ ЗАПИТАННЯ
4.1. Які логічні операції відносяться до елементарних ?
4.2. Що таке мінтерми або макстерми ?
4.3. Що розуміється під досконалою кон’юктивно нормальною формою або диз’юнктивно нормальною формою ?
4.4. Які перетворення дозволяє виконувати логічний конвертор?
6. ЗМІСТ ЗВІТУ
5.1. Титульний лист.
5.2. Мета роботи, теоретичні відомості.
5.3. Лабораторне завдання.
5.4. Привести схеми та логічні вирази оержані в результаті роботи.
5.5. Висновок та аналіз помилок допущених при роботі.
7. ЛІТЕРАТУРА
6.1. Карлащук В. И. Электронная лаборатория на IBM PC. Программа Electronics
Workbench.– М.: Солон-Р, 2000.- 504с.
6.2. Барри Уилкинсон. Основы проектирования цифровых схем.: Пер. с англ. - М.: Издательский дом «Вильямс», 2004, - 320с.
6.3. Карлащук В. И. Обучающие программы. – М.: Солон-Р, 2001. – 528с.
Хоровиц П., Хилл У. Искусство схемотехники. - М.: МИР, 1994. -540 с.