Uploaded by Sergey Erohin

Практическая работа Карты Карно

advertisement
Практическая работа №2
Минимизация логических функций по картам Карно.
Карты Карно - это графическое представление операций попарного неполного
склеивания и элементарного поглощения.
Карты Карно рассматриваются как перестроенная соответствующим образом
таблица истинности функции.
Карты Карно - определенная плоская развертка n-мерного булева куба.
Строится таблица истинности функции определенным образом. Каждая клетка
таблицы соответствует вполне определенной вершине булева куба. Нулевые значения не
записываются.
Карта Карно для функции 4-х переменных:
Благодаря использованию кода Грея в ней верхняя строка является соседней с
нижней, а правый столбец соседний с левым, т.е. карта Карно рассматривается как
поверхность фигуры под названием тор ("бублик").
Правила склейки:
− склейку клеток карты Карно можно осуществлять по единицам (если необходимо
получить ДНФ) или по нулям (если требуется КНФ);
− склеивать можно только прямоугольные области с числом единиц (нулей) 2n,
где n — целое число. Для карт Карно с числом переменных более четырёх могут получаться
более сложные области, о чём будет сказано в следующих разделах;
− область, которая подвергается склейке должна содержать только единицы (нули);
− крайние клетки каждой горизонтали и каждой вертикали также граничат между
собой и могут объединяться в прямоугольники. Следствием этого правила является
смежность всех четырёх угловых ячеек карты Карно для N=4. Если во всех четырёх угловых
ячейках стоят единицы (нули) они могут быть объединены в квадрат;
− все единицы (нули) должны попасть в какую-либо область;
− с точки зрения минимальности ДНФ (КНФ) число областей должно быть как
можно меньше (каждая область представляет собой терм), а число клеток в области должно
быть как можно больше (чем больше клеток в области, тем меньше переменных содержит
терм. Терм размером 2n ячеек содержит N–n переменных);
− одна ячейка карты Карно может входить сразу в несколько областей. Это следует
из очевидного свойства булевых функций: повторение уже существующего слагаемого
(сомножителя) не влияет на функцию:
;
− в отличие от СДНФ (СКНФ), ДНФ (КНФ) не единственны. Возможно несколько
эквивалентных друг другу ДНФ (КНФ), которые соответствуют разным способам покрытия
карты Карно прямоугольными областями.
После заполнения Карты Карно значениями из таблицы истинности берём первую
область и смотрим, какие переменные не меняются в пределах этой области,
выписываем конъюнкцию этих переменных; если неменяющаяся переменная нулевая,
проставляем над ней инверсию. Берём следующую область, выполняем то же самое, что и
для первой, и т. д. для всех областей. Конъюнкции областей объединяем дизъюнкцией.
Для КНФ всё то же самое, только рассматриваем клетки с нулями, неменяющиеся
переменные в пределах одной области объединяем в дизъюнкции (инверсии проставляем
над единичными переменными), а дизъюнкции областей объединяем в конъюнкцию. На
этом минимизация считается законченной.
Пример 1
У мальчика Коли есть мама, папа, дедушка и бабушка. Коля пойдёт гулять на улицу,
если и только если ему разрешат хотя бы двое родственников. Для краткости обозначим
родственников Коли через буквы:
мама — х1
папа — х2
дедушка — х3
бабушка — х4
Условимся обозначать согласие родственников единицей, несогласие - нулём.
Возможность пойти погулять обозначим буквой f, Коля идёт гулять — f = 1, Коля гулять не
идёт — f = 0.
Составим таблицу истинности:
№ X1 X2 X3 X4
f
0
0
0
0
0
0
1
0
0
0
1
0
2
0
0
1
0
0
3
0
0
1
1
1
4
0
1
0
0
0
5
0
1
0
1
1
6
0
1
1
0
1
7
0
1
1
1
1
8
1
0
0
0
0
9
1
0
0
1
1
10
1
0
1
0
1
11
1
0
1
1
1
12
1
1
0
0
1
13
1
1
0
1
1
14
1
1
1
0
1
15
1
1
1
1
1
Перерисуем таблицу истинности в 2-х мерный вид, переставим в ней строки и столбцы в
соответствии с кодом Грея и заполним её значениями из таблицы истинности:
Минимизируем в соответствии с правилами склейки:
− все области содержат 2n клеток;
− так как Карта Карно на четыре переменные, оси располагаются на границах Карты
и их не видно;
− так как Карта Карно на четыре переменные, все области симметрично осей —
смежные между собой;
− области S3, S4, S5, S6 максимально большие;
− все области пересекаются (необязательное условие).
В данном случае рациональный вариант только один.
Составим мин. КНФ:
Теперь по полученной минимальной ДНФ и КНФ можно построить логическую схему:
мДНФ
мКНФ
Задания для практического занятия:
Для функции из практического занятия № 1, соответствующей номеру своего
варианта, выполнить следующее:
− Упростить выражение для СДНФ и СКНФ, используя карту Карно.
− Составить схему устройства, реализующего заданную СДНФ и СДНФ после
упрощения.
Download