1 Синтез комбинационных схем
1.1 Постановка задачи
Для двух булевых функций, построенных по варианту задания в виде
(1.1.1)
, (1.1.2)
где gi, zi– десятичные числа из диапазона от 0 до 15 в двоичном виде,
сделать следующее:
а) представить F1 и F2 в виде СДНФ.
б) минимизировать (по количеству переменных в ДНФ) F1 с
помощью карт Карно, F2– методом Квайна-МакКласки.
в) реализовать в виде комбинационной схемы на логических элементах F1– в базисе И – НЕ, F2– в базисе ИЛИ – НЕ, предварительно приведя F1 и F2 к соответствующим базисам.
gi и zi вычислять по выражениям:
(1.1.3)
(1.1.4)
при g0 = A, z0 = B . Параметр изменять от 1 до тех пор, пока не будет получено 9 различных значений gi и zi.
1.2 Теоретические сведения.
Булевой алгеброй называется множество S объектов A, B, C…, в котором определены две бинарные операции (логическое сложение – дизъюнкция(+) и логическое умножение – конъюнкция(∙)) и одна унарная операция(логическое отрицание()). Оно обладает следующими свойствами:
а) Для A, B, C S
1) , (замкнутость);
2) (коммутативные законы);
3) (ассоциативные законы);
4) (дистрибутивные законы);
5) (свойства идемпотентности);
6) в том и только том случае, если
(свойство совместимости);
7) S содержит элементы 1 и 0 такие, что для всякого элемента
;
8) для каждого элемента A класс S содержит элемент Ã (дополнение элемента A, часто обозначаемое символами Ā или 1- A ) такой, что
, .
В каждой булевой алгебре
(законы поглощения),
(законы склеивания),
(двойственность, законы де Моргана).
Если даны n булевых переменных X1, X2,…, Xn, каждая из которых может быть равна любому элементу булевой алгебры, то булевой функцией называется выражение
(1.2.1)
В каждой булевой алгебре существует ровно различных булевых функций n переменных.
Система булевых функций называется полной (базисом), если любая функция может быть представлена в виде суперпозиции функций выбраной системы.
Под критерим минимизации (упрощения) булевых функций будем понимать достижение минимума букв в записи функции.
Введём понятие многомерного куба.
Любую булеву функцию n переменных, заданную в ДНФ или СДНФ, можно отобразиь на n-мерном кубе, построенном в ортогональном базисе n булевых переменных. Каждое слагаемое в ДНФ или СДНФ представляется гиперплоскостью соответствующей размерности: если оно представляет собой конъюнкцию n переменных – точка, n-1 переменных – прямая, n-2 переменных – плоскость и т.д. Элементы n-мерного куба, имеющие s измерений, назовём s-кубами.
Комплекс K(y) кубов функции y=ƒ(x1,x2,…,xn) есть объединение Ks(y) множеств всех её кубов. Отсутствующие в конъюнкциях переменные будем обозначать через x.
1.3 Расчёты и полученные результаты.
По варианту задания находим gi и zi:
i | gi | zi |
0 | 5 | 0 |
1 | 1 | 6 |
2 | 8 | 2 |
3 | 5 | 9 |
4 | 13 | 6 |
5 | 11 | 14 |
6 | 4 | 12 |
7 | 3 | 5 |
8 | 13 | 4 |
9 | 13 | 14 |
10 | 8 | 14 |
11 | 9 | 9 |
12 | 5 | 10 |
13 | 7 | 6 |
Неповторяющиеся значения gi: 5, 1, 8, 13, 11, 4, 3, 9, 7. Неповторяющиеся значения zi: 0, 6, 2, 9, 14, 12, 5, 4, 10. Таким образом, для F1 получаем выражение
, (1.3.1)
для F2:
. (1.3.2)
Для минимизации первой функции применяем метод карт Карно.
Карта Карно – прямоугольник с 2n клетками, каждой из которых соответствует своя конъюнкция из n переменных и их отрицаний (дополнений).
Проставляя единицы в соответствующих клетках, выбираем затем минимальную из всех возможных комбинацию покрытий. Применим карту Карно к заданной функции:
x3x4
00 01 11 10
00 1 1
01 1 1 1
x1x2
11 1
10 1 1 1
Рисунок 1.2.1 – карта Карно
На основании выбранной комбинации покрытий выписываем минимизированное выражение для функции F1:
. (1.3.3)
Для второй функции применяем метод Квайна-МакКласки.
На первом шаге алгоритма выписываем комплекс K0-кубов заданной функции, упорядоченных по возрастанию количества единиц:
0 0 0 0 0 1 1 1 1
0 0 1 1 1 0 0 1 1
K0 = 0 1 0 0 1 0 1 0 1 (1.3.4)
0 0 0 1 0 1 0 0 0 .
Второй этап основан на операции склеивания. Каждый из кубов проверяется на “склеиваемость” со всеми остальными. Склеивающиеся кубы должны различаться не более чем в одном разряде. Склеенный разряд в дальнейшем обозначается как x. Куб, участвовавший в операции склеивания, соответствующим образом помечается. Поскольку таких кубов мало, будем отмечать не участвовавшие в операции склеивания кубы. В результате получаем комплекс K1-кубов, также упорядоченный по возрастанию количества единиц в разрядах:
0 0 0 x 0 0 x x 1 1
0 x x 0 1 1 1 1 x 1
K1 = x 0 1 1 0 x 0 1 1 x (1.3.5)
0 0 0 0 x 0 0 0 0 0 .
Повторяем вышеописанную операцию для комплекса K1-кубов, после чего удаляем из полученного комплекса K2-кубов повторяющиеся:
0 0 x x x x 0 x x
x x x x 1 1 x x 1
K2 = x x 1 1 x x = x 1 x (1.3.6)
0 0 0 0 0 0 0 0 0
Те кубы, которые не участвовали в операциях склеивания, называются импликантами – это кандидаты на то, чтобы попасть в итоговую ДНФ. Для них составляем таблицу покрытий K0-кубов. Импликанта считается покрывающей K0-куб, если они совпадают при x, принимающем произвольное значение.
K0
z | 0 0 0 0 | 0 0 1 0 | 0 1 0 0 | 0 1 0 1 | 0 1 1 0 | 1 0 0 1 | 1 0 1 0 | 1 1 0 0 | 1 1 1 0 |
Импликанты |
1001 | + | |||||||||
010x | + | + | ||||||||
0xx0 | + | + | + | + | ||||||
xx10 | + | + | + | + | ||||||
x1x0 | + | + | + | + |
Таблица 1.3.1 – Покрытия K0-кубов
Существенной импликантой, или экстремалью, называется такая импликанта, которая в единственном числе покрывает хотя бы один из K0-кубов.
Из таблицы следует, что все импликанты являются экстремалями. Следовательно, они все войдут в запись функции в виде сокращённой ДНФ:
. (1.3.7)
Комбинационная схема – это дискретное устройство, каждый из выходных сигналов которого в момент времени tm определяется так:
yj(tm) = ƒ ( x1(tm), x2(tm),…,xn(tm)) , (1.3.8)
где . Видно, что выходной сигнал в m-й момент времени определяется только комбинацией входных сигналов в данный момент и не зависит от их предыдущих значений. Поэтому комбинационную схему можно реализовать на логических элементах, выполняющих операции из определённого базиса булевых функций.
Приведём F1 к базису И – НЕ, а F2 – к базису ИЛИ – НЕ:
(1.3.9)
. (1.3.10)
Получив выражения для функций, приведённых к соответствующим базисам, можно нарисовать комбинационные схемы, реализующие эти функции, на элементах одного вида: для первой функции это будут И – НЕ-элементы, для второй – ИЛИ – НЕ :
Рисунок 1.3.1 – Схема на И – НЕ-элементах
Рисунок 1.3.2 – Схема на ИЛИ – НЕ-элементах
0 комментариев