МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
ДЕРЖАВНИЙ ВИЩИЙ НАВЧАЛЬНИЙ ЗАКЛАД
«УЖГОРОДСЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ»
ІНЖЕНЕРНО-ТЕХНІЧНИЙ ФАКУЛЬТЕТ
КАФЕДРА КОМПʼЮТЕРНИХ СИСТЕМ ТА МЕРЕЖ
ЗВІТ
до лабораторної роботи №5 з дисципліни «Комп'ютерна логіка»
Студента 2-го курсу
спеціальності 123 –
«Компʼютерна інженерія»
Чепинця Андрія Васильовича
м.Ужгород – 2023 р.
Лабораторна робота 5
Тема. Мінімізація булевих функцій
Мета роботи: набути навички мінімізації функцій різними методами: алгебраїчним, Квайна, Квайна-Мак-Класкі, карт Карно та К-карт; вміти здійснювати моделювання з використанням системи проектування MAX+plus II.
Варіант 28
/
3.1 Алгебраїчний метод
?
3
0,1,2,3,6
=1
?
?,?,?
=
???
1
+
??
?
2
+
?
?
?
3
+
?
??
4
+
??
?
5
?
???
?,?,?
=
??
?
+?
1−2
+
??
?
+?
1−3
+
?
?
?
+?
2−4
+
?
?
?
+?
3−4
+
?
?
(
?
+?)
3−5
=
??
+
??
+
?
?+
?
?+?
?
=
?
+?
?
3.1 Метод Квайна
?
3
0,1,2,3,6
=1
Форма ДДНФ:
F
x,y,z
=
xyz
+
??
?+
?
?
?
+
?
??+??
?
Знаходження первинних імплікант. Складаємо таблицю (табл. 1) і знаходимо імпліканти третього і другого рангу, тобто знижуємо ранг членів, які входять в ДДНФ.
Табл.1
Початкові терми
xyz
??
?
?
?
?
?
??
??
?
+
xyz
1
??
??
+
??
?
??
1
?
?
+
?
?
?
??
1
?
y
y
?
+
?
??
?
z
?
y
1
+
??
?
y
?
1
Табл.2
Імпліканти
??
??
?
?
?
y
y
?
+
??
1
?
+
??
1
?
+
?
?
?
1
+
?
y
?
1
y
?
1
Табл.3
Імпліканти
y
?
?
y
?
1
?
1
В результаті етапу 1 одержуємо дві первинні імпліканти: y
?
і
?
.
Е т а п 2. Розставлення міток. Складається таблиця (табл.4), число рядків, якої дорівнює числу первинних імплікант, а число стовпців співпадає з числом мінтермів (конституент одиниць) ДДНФ функції f. Якщо в деякий мінтерм ДДНФ входить яка-небудь із первинних імплікант, то на перетині відповідного стовпця і рядка ставиться мітка (символ “*”).
Первинні імпліканти
1
2
3
4
5
xyz
??
?
?
?
?
?
??
??
?
y
?
*
*
?
*
*
*
*
Е т а п 3 . Знаходження істотних імплікант. Якщо в деякому стовпці таблиці знаходиться лише одна мітка, то первинна імпліканта у відповідному рядку є істотною, оскільки без неї не буде можливості одержати усю множину заданих мінтермів. У даному випадку такою імплікантою є y
?
і
?
. Стовпці, які відповідають істотним імплікантам, із таблиці викреслюються. У даному випадку такими імплікантами є y
?
і
?
. Завдяки імплікації
?
в табл.4 можна викреслити стовпці 1, 2, 3, 4, а завдяки імплікації y
?
– стовпець 5 і 3. Зауважимо, що в першу чергу розглядаємо імплікацію, яка більше покриває конституент одиниці. В результаті такої дії приходимо до результату, коли покриті усі конституент одиниці, а оскільки імпліканти y
?
і
?
є первинні, то можна записати мінімальну форму у вигляді :
?
???
?,?,?
= y
?
+
?
3.1 Метод Квайна-Мак-Класкі
?
3
0,1,2,3,6
=1
F
x,y,z
=
xyz
+
??
?+
?
?
?
+
?
??+??
?
Запишемо номери наборів у вигляді двійкових наборів (мінтермів):
000, 001, 010, 011, 110
Утворимо групи по кількості одиниць в наборі (табл. 5).
Табл. 5
Номер групи
Двійкові номери конституент одиниці
0
000
1
001,010
2
011,110
Склеюємо набори із сусідніх груп табл. 5. Результати склеювання наведено в табл. 6. Закреслюємо набори в табл. 5 , які брали участь в склеюванні.
Табл. 6
Номери груп
Результати склеювання (двійкові номери імплікант)
0-1
00*, 0*0
1-2
0*1, 01*, *10
Згруповуємо імпліканти по розташуванню зірочки в однакових позиціях (табл. 7) і виконуємо склеювання в утворених групах. Результати склеювання зведено в табл. 8
Табл. 7
Номери груп
Набори груп
1
*10
2
0*0, 0*1
3
00*, 01*
Таблиця 8
Двійкові номери імплікант
*10
0**
Згруповуємо імпліканти по розташуванню зірочки в однакових позиціях і заносимо їх в табл. 9. Оскільки подальші склеювання неможливі, то записуємо прості імпліканти: *10, 0**.
Табл. 9
Двійкові номери імплікант
*10
0**
Будуємо імплікантну матрицю (табл. 10).
Табл. 10
Двійкові набори простих імплікант
Двійкові набори конституент одиниці
000
001
010
011
110
0**
+
+
+
+
*10
+
+
За допомогою двійкових наборів простих імплікант записуємо мінімальну ДНФ у буквеному вигляді:
?
???
?,?,?
= y
?
+
?
3.1 Метод К-Карт
?
3
0,1,2,3,6
=1
F
x,y,z
=
xyz
+
??
?+
?
?
?
+
?
??+??
?
Карта К-Карт для трьох змінних:
0
1
5
4
2
3
7
6
Підставлення функції в К-Карту:
?
a
a
?
?
000
001
b
010
011
110
?
?
c
c
Така форма подання функції є зручною для одержання склейок двійкових наборів (конституент одиниці), які входять в прямокутні області сусідніх клітин.
Склеювання можна проводити у тих стовпчиках двійкових наборів, в яких кількість нулів і одиничок однакова. Склейки відмічено символом (*(.
У табл. 11 наведено множини конституент одиниці, які входять в область
оптимального покриття одиничних значень функції та відповідні склейки.
Табл.11
000
010
001
011
010
110
0**
*10
?
b
?
Відповідна мінімальна форма має вигляд:
?
???
=
?
+ b
?
Відповідна форма ДДНФ:
F
x,y,z
=
xyz
+
??
?+
?
?
?
+
?
??+??
?
3.1 Метод карт Карно
?
3
0,1,2,3,6
=1
F
x,y,z
=
xyz
+
??
?+
?
?
?
+
?
??+??
?
Карта Карно для трьох змінних:
0
1
3
2
4
5
7
6
Підставлення функції в карту Карно:
000
001
011
010
110
У табл. 12 наведено множини конституент одиниці, які входять в область
оптимального покриття одиничних значень функції та відповідні склейки.
Табл.12
000
001
011
010
010
110
0**
*10
?
b
?
Відповідна мінімальна форма має вигляд:
?
???
=
?
+ b
?
3.1 Схема в MAX+plus II:
/
Сигнальний редактор:
/
/
?
4
0,1,4,5,6,7,13,15
=1
3.2 Метод Квайна-Мак-Класкі
Запишемо номери наборів у вигляді двійкових наборів (мінтермів): 0000, 0001, 0100, 0101, 0110, 0111, 1101, 1111.
Утворимо групи по кількості одиниць в наборі (табл. 1.1).
Табл. 1.1
Номер групи
Двійкові номери конституент одиниці
0
0000
1
0001,0100
2
0101,0110,
3
0111,1101
4
1111
Склеюємо набори із сусідніх груп табл. 1.1. Результати склеювання наведено в табл.1.2. Закреслюємо набори в табл. 1.1, які брали участь в склеюванні.
Табл.1.2
Номери груп
Результати склеювання (двійкові номери імплікант)
0-1
000*, 0*00
1-2
0*01,010*,01*0
2-3
01*1,*101,011*
3-4
*111
Згруповуємо імпліканти по розташуванню зірочки в однакових позиціях (табл.1.3) і виконуємо склеювання в утворених групах. Результати склеювання зведено в табл. 1.4.
Табл. 1.3
Номери груп
Набори груп
1
*111, *101
2
0*01, 0*00
3
01*0, 01*1
4
000*,010*,011*
Таблиця 1.4
Двійкові номери імплікант
*1*1
0*0*
01**
0*0*, 01**
Згруповуємо імпліканти по розташуванню зірочки в однакових позиціях і заносимо їх в табл. 1.5. Оскільки подальші склеювання неможливі, то записуємо прості імпліканти: *1*1, 0*0*, 01**.
Табл. 1.5
Двійкові номери імплікант
*1*1
0*0*
01**
Будуємо імплікантну матрицю (табл. 1.6).
Табл. 1.6
Двійкові набори простих імплікант
Двійкові набори конституент одиниці
0000
0001
0100
0101
0110
0111
1101
1111
*1*1
+
+
+
+
0*0*
+
+
+
+
01**
+
+
+
+
За допомогою двійкових наборів простих імплікант записуємо мінімальну ДНФ у буквеному вигляді:
?
???
?,?,?,?
=??+
??
+
?
?
3.2 Метод К-Карт
?
4
0,1,4,5,6,7,13,15
=1
F
A,B,C,D
=
ABCD
+
???
?+
?
?
??
+
?
?
?
?+
?
??
?
+
?
???+??
?
?+????
Карта К-Карт для чотирьох змінних:
0
1
5
4
2
3
7
6
10
11
15
14
8
9
13
12
Підставлення функції в К-Карту:
?
a
a
?
?
0000
0001
0101
0100
?
b
0111
0110
?
b
1111
d
?
1101
d
?
?
c
c
У табл. 1.7 наведено множини конституент одиниці, які входять в область
оптимального покриття одиничних значень функції та відповідні склейки.
Табл.1.7
0000
0001
0101
0100
0101
0111
1111
1101
0101
0111
0100
0110
0*0*
*1*1
01**
?
?
bd
?
b
Відповідна мінімальна форма має вигляд:
?
???
=
??
+??+
?
?
Відповідна форма ДДНФ:
F
A,B,C,D
=
ABCD
+
???
?+
?
?
??
+
?
?
?
?+
?
??
?
+
?
???+??
?
?+????
3.2 Метод карт Карно
?
4
0,1,4,5,6,7,13,15
=1
F
A,B,C,D
=
ABCD
+
???
?+
?
?
??
+
?
?
?
?+
?
??
?
+
?
???+??
?
?+????
Карта Карно для чотирьох змінних:
0
1
3
2
4
5
7
6
12
13
15
14
8
9
11
10
Підставлення функції в карту Карно:
0000
0001
0100
0101
0111
0110
1101
1111
У табл. 1.8 наведено множини конституент одиниці, які входять в область
оптимального покриття одиничних значень функції та відповідні склейки.
Табл.1.8
0000
0001
0101
0100
0100
0101
0111
0110
0101
0111
1101
1111
0*0*
01**
*1*1
?
?
?
b
bd
Відповідна мінімальна форма має вигляд:
?
???
=
??
+
?
?+??
3.2 Схема в MAX+plus II:
/
Сигнальний редактор:
/
/
3.3 Метод К-Карт
?
5
04,06,0?,0?,14,16,1?,1?,07,06,16,17
=1
F
A,B,C,D,E
=
AB
?
??
04
+
?
?
??
?
06
+
?
???
?
0?
+
?
??
??
0?
+
?
?
?
??
14
+
?
?
??
?
16
++
????
?
1?
+
???
??
1?
+
?
?
???
+
07
?
?
???
17
00100, 00110, 01110, 01100, 10100, 10110, 11110, 11100, 00111, 10111
Карта К-Карт для п’ятьох змінних:
0
1
5
4
20
21
17
16
2
3
7
6
22
23
19
18
10
11
15
14
30
31
27
26
8
9
13
12
28
29
25
24
Підставлення функції в К-карту:
00100
10100
00111
00110
10110
10111
01110
11110
01100
11100
У табл. 2.1 наведено множини конституент одиниці, які входять в область
оптимального покриття одиничних значень функції та відповідні склейки.
Табл.2.1
00111
00110
10110
10111
00110
01110
10110
11110
00100
10100
01100
11100
*011*
**110
**100
?
cd
cd
?
c
??
Відповідна мінімальна форма має вигляд:
?
???
=
?
cd+cd
?
+c
??
Відповідна форма ДДНФ:
F
A,B,C,D,E
=
AB
?
??
04
+
?
?
??
?
06
+
?
???
?
0?
+
?
??
??
0?
+
?
?
?
??
14
+
?
?
??
?
16
++
????
?
1?
+
???
??
1?
+
?
?
???
+
07
?
?
???
17
3.3 Схема в MAX+plus II:
/
Сигнальний редактор:
/
Сигнальний редактор ігнорував вхід A тому, що він не використовувався на схемі.
/
Висновок: на цій лабораторній роботі я набув навичок мінімізації функцій різними методами: алгебраїчним, Квайна, Квайна-Мак-Класкі, карт Карно та К-карт; навчився здійснювати моделювання з використанням системи проектування MAX+plus II.