Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Организация ЭВМ и систем. Учебное пособие
.pdf
следования и эквивалентности, и правила их работы можно вывести на основе ос-
n1
...xxf
n1
...xx
n1
...xxf
n1
...xxX
n
2
n
2
n
2
n
2
n
2L
новных операций.
Функция
ния: 0 или 1, как и все переменные
булевой или логической функции
, каждая координата которого принимает значения из множества
{0,1}. Очевидно, что область определения X функции содержит
торов ( логических комбинаций из 0 и 1). Каждый конкретный вектор из 0 и 1 будем
называть двоичным набором или просто набором.
Булева функция, зависящая от n аргументов, называется n-местной и является
полностью заданной, если указаны ее значения для всех наборов значений аргументов. Так как число различных наборов для любой функции равно
то любую булеву функцию можно задать таблицей с
называется булевой, если она принимает только два значе-
. Следовательно, областью определения
является множество векторов
различных век-
, т. е. конечно,
строками [7].
Например: при n=2 xy = 00, 01, 10, 11. Для каждой комбинации переменных
логическая функция F может принимать значение 0 или 1, следовательно, для n пе-
ременных существует
Например: если n=2, то L2 =16;
если n=4, то L4 =65536.
Рассмотрим полный набор логических функций двух переменных, показанный
в таблице 5.2, состоящий из 16-ти различных функций, каждая из которых определена на 4-х наборах.
различных логических функций.
71

Таблица 5.2 – Полный набор логических функций двух переменных
Для определения результата выполнения каждой из операций алгебры логики
используются таблицы истинности, которые описывают результат операции для
всех возможных комбинаций логических значений исходных высказываний. Коли-
чество строк в таблице зависит от числа высказываний в логическом выражении.
72

Таблица истинности для одноместной логической операции включает две
X1 X2
F
0 0 1
0 1 0 1 0
0
1 1 0
строки, представляющие различные значения аргумента – «истину» (1) и «ложь» (0),
и соответствующие значения функции. Таблица истинности для двуместной логиче-
ской операции включает четыре строки, представляющие четыре различные комби-
нации значений аргументов: 00, 01, 10 и 11, а также соответствующие им значения
функции.
Существует ряд базовых логических элементов (ЛЭ):
1) ANDn – элемент И с n входами;
2) ORn – элемент ИЛИ с n входами;
3) NANDn – элемент И-НЕ с n входами (Штрих Шеффера);
4) NORn – элемент ИЛИ-НЕ с n входами (Стрелка Пирса);
5) ХORn – элемент исключающее ИЛИ с n входами (сложение по mod2);
6) ХNORn – элемент исключающее ИЛИ -НЕ с n входами;
7) NOT – элемент НЕ.
Операция НЕ, или логическое отрицание (инверсия), применяется к одному
аргументу, который может быть как простым, так и сложным логическим выраже-
нием и реализует булевую функции
Логика работы элемента, выполняющего операцию 2ИЛИ-НЕ представлена в
таблице 5.3. Элемент реализует функцию
.
Таблица 5.3 – Таблица истинности элемента 2ИЛИ-НЕ
На рисунке 5.1 приведены основные логические функции и соответствующие
им обозначения базовых логических элементов, принятые в программе EWB и их
соответствие российскому стандарту [9].
73

Рисунок 5.1 – Графические обозначения логических элементов
5.2 Способы задания логических функций
Простейшим и наиболее распространенным способом задания логических
функций являются таблицы истинности.
В левой части таблицы перечисляются все возможные комбинации входных
сигналов, а в правой части - соответствующие значения на выходе логической схе-
мы. Очевидно, что левые части таблицы будут одинаковыми для всех функций двух
переменных, для всех функций трёх переменных и т.д. Традиционно комбинации
сигналов в них располагают в порядке возрастания соответствующих двоичных ко-
74

дов. Пример задания функции с помощью таблицы истинности показан на рисунке
5.2.
Рисунок 5.2 – Пример задания функции с помощью таблицы истинности
5.3 Минимизация логических функций с помощью карт Карно
Карта Карно - графическое представление таблицы истинности. Каждой клет-
ке карты Карно соответствует строка таблицы истинности. По осям карты расстав-
ляются сочетания переменных, а внутри карты - значения функции [7].
При минимизации нужно соблюдать следующие правила разметки осей карты:
a) вертикальная ось размечается независимо от горизонтальной;
b) начинать разметку можно с любого сочетания переменных, но лучше с ну-
ля;
c) все сочетания переменных должны быть перечислены;
d) для соседних клеток карты сочетание переменных должно отличаться не
более чем одним знаком, то есть клетки в карте Карно должны быть помечены по
коду Грея;
75

e) причем соседними являются крайние клетки строки (столбца).
Код Грея – это циклический код, в котором соседние комбинация имеют различия только в одном разряде.
5.2.1 Алгоритм минимизация логических функций на картах Карно:
а) если исходная функция задана таблицей истинности, то мы просто перено-
сим все конституенты единицы, конституенты нуля и звездочки в соответствующие
клетки карты Карно;
б) необходимо покрыть все единицы в карте Карно;
в) единицы расположенные рядом или симметрично на краях карты, или сим-
метрично относительно центральных осей, объединяются в одно покрытие, при этом
выполняется требование: число покрываемых единиц вместе со звездочками в од-
ном покрытии должно быть равно m= 2k, где k=0, 1,2,…n. Каждое покрытие долж-
но покрывать как можно больше единичных значений и при необходимости, вклю-
чаемых звездочек, а общее количество покрытий должно быть как можно меньше.
Одна и та же единица или звездочка может входить в несколько покрытий;
г) для каждого покрытия записываем конъюнкцию, в которую должны войти
переменные, которые являются общими для всех единиц и звездочек, входящих в
данное покрытие;
д) записываем минимизированную ДНФ, в которую должны войти конъюнк-
ции соответствующие всем покрытиям. Если в карте оказалась единица, изолиро-
ванная от других единиц, то в ДНФ добавляется полностью соответствующая ей
конституента единицы;
е) если есть возможность, сокращаем минимизированную ДНФ путем вынесе-
ния переменных за скобки.
Пример минимизации функции на карте Карно показан на рисунке 5.3.
76

Рисунок 5.3 – Пример минимизации функции на карте Карно
Если количество аргументов функции больше четырех, то при минимизации на
карте Карно, нужно строго соблюдать симметрию покрытий относительно цен-
тральных осей. Пример минимизации функции от шести переменных приведен на
рисунке 5.4.
Рисунок 5.4 – Пример минимизации функции от шести переменных
77

5.2 Исследование логических элементов из базы программы
X1 X2
F
0 0 0
0 1 0
1 0 0
1 1 1
5.2.1 Исследование логического элемента И. Подаем на входы все возможные
комбинации входных сигналов, как показано на рисунке 5.5.
Рисунок 5.5 – Пример исследования элемента
По полученным данным строим таблицу истинности (таблица 5.4).
Таблица 5.4 – Таблица истинности элемента
Определяем значение функции
няет функцию логического умножения (2И).
, следовательно, этот элемент выпол-
5.3 Реализация на логических элементах произвольно заданной функции
5.3.1 Составляем таблицу истинности произвольно заданной функции от
четырех переменных, где функция принимает единичное значение на 6-8 наборах,
как показано для примера в таблице 5.5.
78

Таблица 5.5 – Таблица истинности
№
X1
X2
X3
X4
F
Конституенты
единицы
(X1,X2,X3,X4)
0 0 0 0 0
0
1 0 0 0 1
1
_ _ _
X1,X2,X3,X4
2 0 0 1 0
0
3 0 0 1 1
0
4 0 1 0 0
1
_ _ _
X1X2X3X4
5 0 1 0 1
1
_ _
X1X2X3X4
6 0 1 1 0
1
_ _
X1X2X3X4
7 0 1 1 1
1
_
X1X2X3X4
8 1 0 0 0
0
9 1 0 0 1
0
10 1 0 1 0
0
11 1 0 1 1
1
_
X1X2X3X4
12 1 1 0 0
0
13 1 1 0 1
0
14 1 1 1 0
1
_
X1X2X3X4
15 1 1 1 1
0
сумму всех конституент единицы и проверим полученную логическую схему, построив ее модель в программе «Electronic Work Bench 5.1». Результат построения
представлен на рисунке 5.6.
5.3.2 Построение функции по СДНФ. Составляем СДНФ, как логическую
79

Рисунок 5.6 – Построение схемы по СДНФ
Для подтверждения правильности функционирования возьмем комбинации
0001 и 0006, на которых функция принимает единичное значение (рисунок 5.7 и 5.8
соответственно). Лампочка горит.
Рисунок 5.7 – Проверка правильности функционирования схемы на наборе
0001 (0001)
80
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
