![](/user_photo/2706_HbeT2.jpg)
- •Введение
- •1. Основы алгебры логики
- •1.1. Задание функций алгебры логики
- •1.2. Операции алгебры логики
- •1.2.1. Операция отрицание
- •1.2.3. Операция конъюнкция
- •1.2.4. Операция стрелка Пирса
- •1.2.5. Операция штрих Шеффера
- •1.2.6. Операция исключающее ИЛИ
- •1.2.7. Операция сложение по модулю два
- •1.2.8. Операция эквиваленция
- •1.2.9. Операция импликация
- •1.2.10. Операция запрет
- •1.2.11. Другие операции
- •1.3. Функционально полные системы
- •1.4. Свойства операций алгебры логики
- •1.4.1. Свойства операции отрицание
- •1.4.2. Свойства операций конъюнкция и дизъюнкция
- •1.4.3. Свойства операций штрих Шеффера и стрелка Пирса
- •1.4.4. Свойства остальных операций
- •1.5. Аналитическая запись функций алгебры логики
- •1.5.1. Дизъюнктивные нормальные формы
- •1.5.2. Конъюнктивные нормальные формы
- •1.6. Частично заданные функции
- •1.7. Упражнения
- •2. Логические элементы
- •3. МИНИМИЗАЦИЯ ФУНКЦИЙ АЛГЕБРЫ ЛОГИКИ
- •3.1. Метод Квайна
- •3.1.1. Алгоритм метода Квайна
- •3.1.2. Модернизация Мак-Класки метода Квайна
- •3.1.3. Модернизация Нельсона метода Квайна
- •3.1.4. Минимизация частично заданных функций методом Квайна
- •3.1.5. Упражнения
- •3.2. Метод карт Карно
- •3.2.1. Построение карт Карно
- •3.2.2. Минимизация с помощью карт Карно
- •3.2.3. Минимизация частично заданных функций картами Карно
- •3.2.4. Нахождение МКНФ
- •3.2.5. Упражнения
- •3.3. Совместная минимизация функций алгебры логики
- •3.3.1. Совместная минимизация методом общих простых импликант
- •3.3.2. Совместная минимизация методом доопределения частично заданных функций
- •3.3.3. Упражнения
- •4. Комбинационные схемы
- •4.1. Преобразователи кодов
- •4.1.1. Синтез преобразователей кодов
- •4.1.2. Схемы управления 7-сегментными индикаторами
- •4.1.3. Упражнения
- •4.2. Дешифраторы и шифраторы
- •4.2.1. Схемотехника построения дешифраторов
- •4.2.2. Схемотехника построения шифраторов
- •4.2.3. Применение дешифраторов и шифраторов
- •4.2.4. Упражнения
- •4.3. Мультиплексоры и демультиплексоры
- •4.3.1. Мультиплексоры
- •4.3.2. Синтез функций на мультиплексорах
- •4.3.3. Демультиплексоры
- •4.3.4. Упражнения
- •4.4. Сумматоры и схемы сравнения
- •4.4.1. Сумматоры
- •4.4.2. Схемы сравнения
- •4.4.3. Упражнения
- •5. Экспериментальная часть
- •5.1. Синтез и анализ схем с помощью лабораторного макета
- •5.1.1. Описание макета
- •5.1.2. Порядок синтеза и анализа схем
- •5.2. Синтез и анализ цифровых схем в Micro-Cap
- •5.2.1. Описание программы Micro-Cap
- •5.2.2. Синтез схем с помощью Micro-Cap
- •5.2.3. Анализ цифровых схем с помощью Micro-Cap
- •5.2.4. Порядок выполнения работы в Micro-Cap
- •5.3. Примерные задания лабораторных работ
- •6. Библиографический Список
![](/html/2706/198/html_tFiU6RqCWU.HRT4/htmlconvd-fLbqui31x1.jpg)
Комбинационные схемы
й ц у к
1
&
1
&
&
1
г(й,ц,у,к)
&
Рис. 3.1
3.1.2. Модернизация Мак-Класки метода Квайна
Наиболее громоздкой частью метода Квайна является нахождение всех простых импликант. Мак-Класки модернизировал метод Квайна, предложив использовать кубическое представление функций алгебры логики [3], в котором используются элементы n-мерных кубов.
Каждому минтерму ДСНФ функции n аргументов соответствует n- мерный набор значений аргументов, на котором данный минтерм принимает единичное значение. В геометрическом смысле это вершина n- мерного куба. Такой набор значений аргументов называется 0-кубом. Множество 0-кубов, на которых данная функция принимает единичные значения, называется комплексом 0-кубов. Например, для функции
г(й,ц,у,к)ър(0,2,4,8,13,15)
комплекс 0-кубов будет содержать наборы, на которых функция равна 1. Записываем их в специальную матрицу 0-кубов:
0000
0010
K0 = 0100 1000
1101
1111
Если два 0-куба отличаются только в одном разряде (называются соседними кубами), то их можно склеить и получить 1-куб. Он соответствует ребру n-мерного куба. На месте разряда, в котором 0-кубы отличались, записывается тире (прочерк) или тильда (~). К примеру, склеивание двух 0-кубов функции 4 аргументов [0 0 0 0] и [0 0 1 0] даѐт 1-куб: [0 0 ~ 1]. Склеивание 0-кубов соответствует склеиванию минтермов соответствующих наборов.
Проведя все возможные склеивания, получим все 1-кубы функции, которые можно записать в матрицу 1-кубов:
31
![](/html/2706/198/html_tFiU6RqCWU.HRT4/htmlconvd-fLbqui32x1.jpg)
Цифровая схемотехника
00~0
0~00 K1 = ~000 11~1
Если два 1-куба отличаются только в одном разряде и тильда у них стоит на одном и том же месте, то их можно склеить и получить 2- куб. Он соответствует грани n-мерного куба. К примеру, склеивание двух 1-кубов [0 ~ 0 0] и [0 ~ 1 0] даѐт 2-куб: [0 ~ ~ 1], а склеить кубы [1 ~ 0 0] и [0 0 ~ 0] нельзя. Склеивание 1-кубов соответствует склеиванию конъюнкций n-1 ранга. Проведя все возможные склеивания, получим все 2-кубы функции, которые можно записать в матрицу 2-кубов. Процесс можно продолжать до тех пор, пока возможны склеивания.
На практике такой способ склеивания чрезвычайно удобен, так как позволяет избежать выписывания громоздких минтермов и импликант. От куба любой размерности всегда можно перейти к соответствующей ему импликанте. Если в каком-либо разряде стоит 1, то данный аргумент функции записывается без отрицания, если стоит 0, записывается аргумент с отрицанием, если стоит тильда – аргумент не пишется совсем. Например:
[1001] – йывк [~001] – ывк [1~~0] – йа
По конъюнкции также можно записать соответствующий ей куб, например импликанте функции 5 аргументов йве5 соответствует 2- куб (2 – т.к. ранг конъюнкции меньше максимального на 2): [1~0~1].
Алгоритм метода Квайна с модернизацией Мак-Класки:
1. Нахождение всех простых импликант функции.
1.1.Записываем матрицу 0-кубов для минимизируемой функции. Для этого необходимо выписать двоичные наборы, на которых функция принимает значение 1.
1.2.Разбиваем 0-кубы на непересекающиеся группы по числу единиц. Далее сравниваем попарно 0-кубы из соседних по номеру групп (каждую с каждой) и, если это возможно, склеиваем и записываем 1-кубы. Склеенные 0-кубы отмечаем, чтобы не забыть, что мы их склеивали. После проведения всех возможных сравнений и склеиваний получаем матрицу 1-кубов.
1.3.Полученные 1-кубы разбиваются на группы, сравниваются (каждая с каждой), если возможно, склеиваются, записываются 2- кубы, склеенные кубы отмечаются и т.д., до тех пор, пока возможны склеивания. В результате все неотмеченные кубы (возможно, разных размерностей) соответствуют простым импликантам.
2. Нахождение МДНФ.
2.1.Составляем таблицу Квайна, в столбцах которой – 0-кубы
32
![](/html/2706/198/html_tFiU6RqCWU.HRT4/htmlconvd-fLbqui33x1.jpg)
Комбинационные схемы
функции, а в строках – все найденные кубы, соответствующие простым импликантам.
2.2. Далее – по алгоритму Квайна.
Важно провести все возможные склеивания, в противном случае мы не получим все простые импликанты. В таблицу Квайна можно записать кубы или перейти к записи в виде импликант.
Пример:
Дана функция четырех аргументов:
г(й,ц,у,к)ър(0,2,3,4,5,7,8,11,12,13,15)
Записываем функцию в таблицу истинности (табл. 3.5):
Табл. 3.5
N |
x1 |
x2 |
x3 |
x4 |
f |
0 |
0 |
0 |
0 |
0 |
1 |
|
|
|
|
|
|
1 |
0 |
0 |
0 |
1 |
0 |
|
|
|
|
|
|
2 |
0 |
0 |
1 |
0 |
1 |
3 |
0 |
0 |
1 |
1 |
1 |
|
|
|
|
|
|
4 |
0 |
1 |
0 |
0 |
1 |
|
|
|
|
|
|
5 |
0 |
1 |
0 |
1 |
1 |
|
|
|
|
|
|
6 |
0 |
1 |
1 |
0 |
0 |
|
|
|
|
|
|
7 |
0 |
1 |
1 |
1 |
1 |
|
|
|
|
|
|
8 |
1 |
0 |
0 |
0 |
1 |
9 |
1 |
0 |
0 |
1 |
0 |
10 |
1 |
0 |
1 |
0 |
0 |
|
|
|
|
|
|
11 |
1 |
0 |
1 |
1 |
1 |
|
|
|
|
|
|
12 |
1 |
1 |
0 |
0 |
1 |
|
|
|
|
|
|
13 |
1 |
1 |
0 |
1 |
1 |
|
|
|
|
|
|
14 |
1 |
1 |
1 |
0 |
0 |
|
|
|
|
|
|
15 |
1 |
1 |
1 |
1 |
1 |
|
|
|
|
|
|
По ней записываем матрицу 0-кубов, разбивая их на группы по числу единиц:
Нулевая группа |
|
|
|
|
я |
||
0000 |
|||||||
|
|||||||
|
|
|
|
|
|
|
|
|
0010 |
я |
|||||
Первая группа |
0100 |
я |
|||||
|
1000 |
я |
|||||
|
|
|
|
|
|
|
|
|
0011 |
я |
|||||
Вторая группа |
0101 |
я |
|||||
|
1100 |
я |
|||||
|
|
|
|
|
|
|
|
|
0111 |
я |
|||||
Третья группа |
1011 |
я |
|||||
|
1101 |
я |
|||||
|
|
|
|
|
|
|
|
Четвертая группа |
1111 |
я |
|||||
|
|
|
|
|
|
||
|
|
|
|
|
|
||
|
|
|
|
|
|
|
33
![](/html/2706/198/html_tFiU6RqCWU.HRT4/htmlconvd-fLbqui34x1.jpg)
Цифровая схемотехника
Сравниваем 0-кубы из соседних групп и проводим все возможные склеивания, не забывая отметить склеенные 0-кубы. Результат
записываем в матрицу 1-кубов: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
00~0 |
|
|
||||
|
Нулевая группа |
0~00 |
я |
|||||
|
|
~000 |
я |
|||||
|
|
001~ |
|
|
||||
|
Первая группа |
010~ |
я |
|||||
|
~100 |
я |
||||||
|
|
|||||||
|
|
1~00 |
я |
|||||
|
|
|
|
|
||||
|
|
0~11 |
я |
|||||
|
|
~011 |
я |
|||||
|
Вторая группа |
01~1 |
я |
|||||
|
|
~101 |
я |
|||||
|
|
110~ |
я |
|||||
|
|
|
|
|
||||
|
|
~111 |
я |
|||||
|
Третья группа |
1~11 |
я |
|||||
|
11~1 |
я |
||||||
|
|
|||||||
|
|
|
|
|
|
|
|
|
Аналогично проводим склеивания до тех пор, пока они возможны. В данном случае получаем матрицу 2-кубов:
~~00
~10~
~~11
~1~1
2-кубы уже не склеиваются между собой. Все неотмеченные кубы соответствуют простым импликантам.
Составляем таблицу Квайна (табл. 3.6), в столбцы которой записываем 0-кубы, а в строки ─ все неотмеченные 1- и 2-кубы. Выписываем кубы, соответствующие существенным импликантам, вычеркиваем строки и столбцы, на пересечении с которыми в этих строках стоят метки. В таблице есть два столбца, в которых метки расположены одинаково. Один из них вычеркиваем.
|
|
|
|
|
|
|
|
|
|
|
|
Табл. 3.6 |
|
|
0000 |
0010 |
0100 |
1000 |
0011 |
0101 |
1100 |
0111 |
1011 |
1101 |
1111 |
|
00~0 |
я |
я |
|
|
|
|
|
|
|
|
A |
|
001~ |
|
я |
|
|
я |
|
|
|
|
|
B |
сущ. |
~~00 |
я |
|
я |
я |
|
|
я |
|
|
|
|
|
~10~ |
|
|
я |
|
|
я |
я |
|
|
я |
C |
сущ. |
~~11 |
|
|
|
|
я |
|
|
я |
я |
|
я |
|
~1~1 |
|
|
|
|
|
я |
|
я |
|
я |
я D |
34