47950 (597370), страница 3
Текст из файла (страница 3)
Логическую функцию предварительно, исходя из таблицы истинности, приводят к совершенной дизъюнктивной нормальной форме (СДНФ):
,
Где fi, mi - значение функции (0 или 1) и минтерм, соответствующий i-ому набору переменных.
Минтерм - конъюнкция переменных, которые входят либо в прямом виде, если значение данной переменной в наборе равно 1, либо в инверсном виде, если значение переменной равно 0.
Минтерм - это простая конъюнкция, в которую входят все аргументы рассматриваемой логической функции [3].
Простой конъюнкцией считается логическое произведение переменных, взятых с отрицаниями или без них, в котором каждая переменная встречается не более одного раза (в простую конъюнкцию не должны входить суммы переменных, отрицания функций двух или нескольких переменных).
После представления функции в СДНФ, следует заполнить прямоугольную таблицу, в которой число клеток равно числу возможных минтермов. Эту таблицу называют диаграммой Вейча или картой Карно. Каждой клетке таблицы ставится в соответствие определенная конъюнкция так, чтобы в соседних клетках (снизу и сверху, слева и справа) конъюнкции отличались не более чем одним сомножителем. Для этого нумерацию столбцов и строк таблицы ведут кодом Грея, количество разрядов которого равно количеству переменных, отведенных для строк и столбцов.
При заполнении таблицы в соответствующую клетку ставится 1, если логическая функция при данном наборе аргументов равна единице(рис.1.1-1.4).
x1 x2 | 0 | 1 |
0 | | |
1 | | |
Рис.1.1 Карта Карно для логической функции двух аргументов.
x1x2 x3 | 00 | 01 | 11 | 10 |
0 |
|
|
|
|
1 |
|
|
|
|
Рис.1.2 Карта Карно для логической функции трех аргументов.
x1x2 x3x4 | 00 | 01 | 11 | 10 |
00 |
|
|
|
|
01 |
|
|
|
|
11 |
|
|
|
|
10 |
|
|
|
|
Рис. 1.3 Карта Карно для логической функции четырех аргументов.
x1x2x3 x4x5 | 000 | 001 | 011 | 010 | 110 | 111 | 101 | 100 |
00 | ||||||||
01 | ||||||||
11 | ||||||||
10 |
Рис.1.4 Карта Карно для логической функции пяти переменных.
Между представлением логической функции в табличной (таблица истинности), алгебраической (в виде СДНФ) и графической (на карте Карно) формах имеется однозначное соответствие. Логическая функция на карте Карно представляется совокупностью клеток, заполненных 1, инверсия этой функции представляется совокупностью пустых клеток (или заполненных 0).
Для логических функций с числом переменных n 6 наглядность карт Карно теряется и поэтому такие функции представляются в виде композиции функции меньшего числа переменных:
,
где x1 - выделяемая переменная;
функции получаются из функции f подстановкой значений x1=0 и x1=1.
В качестве выделяемой может использоваться любая переменная. Например,
Процесс выделения более простых функций называется декомпозицией. Полученные функции f0 и f1 могут подвергаться дальнейшей декомпозиции.
1.2 Логические операции
Множество логических функций n переменных можно образовать посредством трех основных логических операций:
-
Логическое отрицание (инверсия);
-
Логическое сложение (дизъюнкция);
-
Логическое умножение (конъюнкция).
Более сложные логические преобразования можно свести к указанным операциям [4]. Логические функции подчиняются принципу дуальности (двойственности) - теоремы Де Моргана; согласно которому операции конъюнкции и дизъюнкции допускают взаимную замену, если одновременно поменять логическую 1 на 0, 0 на 1, знак (+) на (), а () на (+), где или + - обозначение операции дизъюнкции; или - обозначение операции конъюнкции.
1.3 Аксиомы булевой алгебры
Булева алгебра базируется на нескольких аксиомах, из которых выводят основные законы для преобразований с двоичными переменными (табл. 1.6, 1.7)
Таблица 1.6
Аксиомы булевой алгебры
конъюнкция | дизъюнкция |
00=0 | 0+0=0 |
01=0 | 0+1=1 |
11=1 | 1+1=1 |
x0=0 | x+0=x |
x1=x | x+1=1 |
xx=x | x+x=x |
|
|
Таблица 1.7
Законы булевой алгебры
Закон булевой алгебры | Конъюнкция | Дизъюнкция |
1 | 2 | 3 |
Переместительный (коммутативности) | x1 x2 = x2 x1 | x1+ x2 = x2 + x1 |
Сочетательный (ассоциативности) | x1 x2 x3 = x1 (x2 x3) = (x1 x2)x3 | x1+ x2 +x3 = (x1+ x2)+ x3= =x1 +(x2+ x3) |
Распределительный (дистрибутивности) | x1(x2 +x3)= x1 x2 + x1 x3 | x1+(x2x3)= (x1+x2)(x1+x3) |
Поглощения | x1+ x1 x2 = x1 | x1 (x1+ x2) = x1 |
Склеивания |
|
|
Де Моргана (инверсии, дуальности) |
|
|
Развертывания |
|
|
Не полного |
|
|
1.5 Некоторые полезные соотношения
1.6 Минимизация логических функций с помощью карт Карно
При минимизации логических функций в карте Карно обводят прямоугольными контурами все единицы и затем записывают минимизированную функцию в виде суммы логических произведений, описывающих эти контуры.
При проведении контуров придерживаются правил:
-
контур должен быть прямоугольным;
-
внутри контура должны быть только клетки, заполненные единицами;
-
число клеток, находящихся внутри контура, должно быть целой степенью числа 2, т.е. можно склеивать 1, 2, 4, 8,... членов;
-
одни и те же клетки, заполненные единицами, могут входить в несколько контуров;
-
при проведении контуров самая нижняя и самая верхняя строки таблицы считаются соседними, то же - для крайнего левого и крайнего правого столбцов;
-
число контуров должно быть как можно меньшим, а сами контуры как можно большим.
Пример 1.6. Провести минимизацию логической функции, заданной в форме СДНФ,с помощью карты Карно (рис.1.5).
x1x2 x3 | 00 | 01 | 11 | 10 |
0 | 1 | 1 | ||
1 | 1 | 1 | 1 |
Рис.1.5 Карта Карно.
Решение. С помощью преобразований, выполняемых по законам булевой алгебры, и с учетом объединенных на карте Карно клеток, получают минимизированное выражение (МДНФ) логической функции:
;
,