2. Комбинационные схемы
• Любую комбинационную схему можно
представить в виде выражения булевой алгебры
и наоборот:
• F1 = AB + C
• F2 = AB + C
&
1
F1
A
B
C
&
1
F2
A
B
C
1
3. Комбинационные схемы
F1 = A+BC = ABC+ABC+ABC+ABC+ABC
A B C AB + C
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
0
1
0
1
0
1
1
1
5. Дизъюнктивная форма записи
логических выражений
F (A, B, C) = AB + ABC + AC
минтермы
дизъюнкция
(сумма произведений, sum-of-products)
F (A,B,C) = ABC + ABC + ABC + ABC =
= Σ (0,2,3,5)
6. Дизъюнктивная форма записи
логических выражений
Дизъюнктивная нормальная форма (ДНФ):
F (A, B, C) = AB + ABC + AC
Совершенная дизъюнктивная
нормальная форма (СДНФ):
F (A, B, C) = ABC + ABC + ABC + ABC
7. Дизъюнктивная форма записи
логических выражений
F (A, B, C) = (A+B+C)(A+B)(A+C)
F (A, B, C) =
= (A+B+C)(A+B+C)(A+B+C) =
= П (2,5,6)
(произведение сумм, product-of-sums)
макстермы
конъюнкция
8. Конъюнктивная форма записи
логических выражений
Конъюнктивная нормальная форма (КНФ):
F (A, B, C) = (A+B+C)(A+B)(A+C)
Совершенная конъюнктивная нормальная
форма (СКНФ):
F (A,B,C) = (A+B+C)(A+B+C)(A+B+C)
9. Пример перехода
от ДНФ к СДНФ
( , , )
F A B C AB AC ABC
= + + =
( ) ( )
AB A A AC B B ABC
+ + + + =
ABC ABC ABC ABC ABC
= + + + + =
ABC ABC ABC ABC
= + + +
10. Применение правила де Моргана
( , , )
F A B C AB AC ABC
= + + =
AB AC ABC
= + + = ( )( )( )
AB AC ABC
A
B
A
C
A
B
C
F
A
B
A
C
A
B
C
F
11. Применение правила де Моргана
( , , ) ( )( )( )
F A B C A B A C ABC
= + + =
( )( )( )
A B A C A B C
= + + + + = ( ) ( ) ( )
A B A C A B C
+ + + + + +
A
B
A
C
A
B
C
F
A
B
A
C
A
B
C
F
12. Многоуровневые схемы
f ABC ABD ABE AF
= + + + =
A
B
C
D
E
A
F
AB
CDE
AF
( )
AB C D E AF
= + + +
( )
f AB C D E
AF
= + + +
+
13. Алгебраическое упрощение булевых
выражений
• Группировка членов с последующим
применением тождеств
• Приведение выражения в
каноническую форму с последующим
упрощением
• Использование теоремы де Моргана
14. Группировка членов
• Закон ассоциативности
• ABС = A(BС) = (AB)С
• A+B+С = A+(B+С) = (A+B)+С
• Сокращение выражений за счет использования тождеств.
• Один член можно использовать для группирования
несколько раз.
•
• Теорема о непротиворечивости (Consensus Theorem):
–
–
A AB A B
+ = +
AB AC BC AB AB
+ + = +
( )( )( ) ( )( )
A B A C B C A B A B
+ + + = + +
15. Группировка членов
( , , )
F A B C A B ABCD
= + + =
( )
A ABCD B
= + + =
( )
A BCD B
= + + = .
A CD B
+ +
( , , )
F A B C A AC ABC
= + + =
(1 )
A C BC
= + + = .
A
16. Приведение в СДНФ или СКНФ
• Умножение на множители типа
• Перегруппировка с целью получения
упрощенного выражения
• Для упрощения выражений в конъюнктивной
форме необходимо преобразовать по теореме
де Моргана, получить инверсную дизъюнктивную
функцию – упростить ее по известным
правилам.
( )
A A
+
17. Приведение в СДНФ или СКНФ
( , , )
f A B C AB ABC ABC ABC
= + + + =
( )
AB C C ABC ABC ABC
= + + + + =
1 2 3 4 5
ABC ABC ABC ABC ABC
= + + + + =
1 2 2 3 3 4
( ) ( ) ( )
и и и
AB C C AC B B AB C C
+ + + + + =
.
AB AC AB
= + +
18. Использование теоремы де Моргана
( , , ) ( )
f A B C ABD BCD BC AC
= + + =
( )
( ) ( )
ABD BCD BC AC
+ ( )
( ) ( )
ABD BCD BC A C
= + + + =
( )
( )( ) ( )
ABD BCD B C A C
+ + +
=
( )
( )( ) ( )
A B D BCD B C A C
= + + + + + =
( )( )
ABCD B C A C
= + + +
=
AB AC ABCD BC C
= + + + + =
( 1)
AB C A ABC B
= + + + + = .
AB C
+
19. А можно проще…
• Для этого используется создание логических
функций с использованием карт Карно́
• Карта Карно́ — графический способ минимизации
переключательных (булевых) функций,
обеспечивающий относительную простоту работы с
большими выражениями и устранение
потенциальных гонок
• Карты Карно были изобретены в 1952 Эдвардом В.
Вейчем и усовершенствованы в 1953 Морисом
Карно, физиком из «Bell Labs», и были призваны
помочь упростить цифровые электронные схемы
21. Минимизация логических функций с
помощью карт Карно
BC
A 00 01 11 10
0
1 ABC
ABC ABC ABC ABC
ABC ABC ABC
B
C
A
• Код Грея: 00, 01, 11, 10
22. Минимизация логических функций с
помощью карт Карно
AB
C 00 01 11 10
0
1 ABC
ABC
ABC ABC
ABC ABC
ABC
ABC
A
B
C
• Альтернативный способ обозначения клеток
карты Карно
23. Представление логической функции с
помощью карты Карно
( , , )
f A B C ABC ABC ABC
= + +
BC
A 00 01 11 10
0 1 0 1 0
1 0 1 0 0
B
C
A
24. Алгоритм минимизации логических функций с
помощью карт Карно
1. Заполнить карту Карно.
2. Объединить все рядом лежащие «1»-цы в группы
(кубы) наибольшего размера. Размер куба может
быть только 2n, где n=0,1,2,3….
3. Записать все новые минтермы, соответ-ствующие
выделенным группам (кубам).
4. Записать минимизированную функцию равную
логической сумме полученных минтермов.
25. Порядок заполнения карт Карно
c
0
000
1
001
3
011
2
010
a
4
100
5
101
7
111
6
110
b
d
0
0000
1
0001
3
0011
2
0010
4
0100
5
0101
7
0111
6
0110
a
12
1100
13
1101
15
1111
14
1110
8
1000
9
1001
11
1011
10
1010
c
Карта Карно для
логической функции
с 3-мя переменными
(a,b,c)
Карта Карно для
логической функции с 4-
мя переменными (a,b,c,d)
26. С какой целью группируются «1»?
d
1 0 0 1
0 1 1 0
b
a
0 1 1 1
0 0 0 0
с
ABCD ABCD
+ =
ABCD
( )
ABD C C
= +=
ABD
=
ABCD ABCD ABCD ABCD
+ + + =
( ) ( )
BCD A A BCD A A
+ + + =
BD
( )
BD C C
= + =
BCD BCD
+ =
27. Примеры заполнения и группирования
карт Карно
f1
d
1 1 0 1
0 1 1 0
b
a
0 1 0 1
0 1 0 0
с
f2
d
0 0 0 0
0 1 1 0
b
a
1 1 0 1
1 1 0 0
с
1( , , , ) CD ABD A
f A B C D ABD
BCD
= + + +
2 ( , , , )
f A B C D A
ABD D
AC B
= + +
28. Неполно заданные функции
• Существуют ситуации, когда функция описывает
поведение только от определенных комбинаций
входных переменных
– Предполагается, что некоторые комбинаций никогда
не случаются
• Такие комбинации обозначаются знаком «Х»
• Используя неполно заданные функции можно
минимизировать количество вентилей
30. Решение задачи «Минимизация логической функции с
помощью карт Карно»
d
1 0 0 1
0 1 1 0
b
a
0 1 1 1
0 0 0 0
с
A B C D Out
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
1
0
1
0
0
1
0
1
0
0
0
0
0
1
1
1
31. d
1 0 0 1
0 1 1 0
b
a
0 1 1 1
0 0 0 0
с
1
F ABC
=
2
F ABD
=
3
F BD
=
Решение задачи «Минимизация логической функции с
помощью карт Карно»
F BD ABC ABD
= + + =
( ) ( ) ( )
BD ABC ABD
= ⋅ ⋅
BD ABC ABD
+ + =
32. Решение задачи «Минимизация логической функции с
помощью карт Карно»
( ) ( ) ( )
F BD ABC ABD
= ⋅ ⋅
F
A
B
D
С
33. Группировка «0»
f d
1 0 0 1
0 1 1 0
b
a
0 1 1 1
0 0 0 0
с
A+B
B+C+D
A+B+D
A+B+D
F BD ABC ABD
= + + =
(A+B)(B+C+D)∙
∙(A+B+D)(A+B+D)