- •Часть 2
- •8.091501–«Компьютерные системы и сети» и
- •7.091503–«Специализированные компьютерные системы»
- •Содержание
- •Введение
- •1 Основные понятия и определения алгебры логики и цифрового конечного автомата
- •1.1 Основные определения алгебры логики
- •1.2 Конечный автомат
- •1.3 Основные логические операции
- •1.3.1 Операция отрицания
- •1.3.2 Операция логического умножения
- •1.3.3 Операция логического сложения
- •1.3.4 Операция эквиваленция
- •1.3.5 Операция импликация
- •1.3.6 Сумма по модулю 2
- •1.3.7 Штрих Шеффера
- •1.3.8 Стрелка Пирса
- •2 Зависимость состава функций от числа переменных
- •2.1 Состав функций при отсутствии входных переменных
- •2 .2 Функции одной переменной
- •2.3 Функции двух переменных
- •2.4 Действительные и фиктивные функции
- •2.5 Определение общего числа функций
- •3 Суперпозиция функций
- •3.1 Методы суперпозиции
- •3.2 Выражение одних элементарных функций через другие
- •4 Свойства законов и правила алгебры логики
- •4.1 Свойства операций конъюнкции, дизъюнкции и отрицания
- •4.2 Свойства суммы по модулю 2, импликации, функции Шеффера и Пирса
- •5.1.1 Представление лф в совершенной дизъюнктивной нормальной форме
- •5.1.2 Дизъюнктивная нормальная форма лф
- •5.1.3 Представление лф в совершенной конъюнктивной нормальной форме
- •5.2 Основные свойства и алгоритм получения сднф, скнф
- •5.2.1 Общие свойства сднф
- •5.2.2 Алгоритм записи сднф
- •5.2.3 Свойства скнф
- •5.2.4 Алгоритм записи скнф
- •5.3 Способы преобразования днф и кнф в сднф и скнф
- •6 Полные системы функций
- •6.1 Функционально полные базисы
- •6.2 Теорема Поста
- •7 Методы минимизации функций алгебры логики
- •7.1 Аналитический метод минимизации фл
- •7.2 Числовое и геометрическое представление фл
- •7.3 Минимизация фл с помощью комплекса кубов
- •7.3.1 Построение комплекса кубов и его минимального покрытия
- •7.3.2 Цена покрытия кубов
- •7.4 Метод неопределенных коэффициентов
- •8 Метод квайна-мак-класки
- •9 Метод минимизации фл с помощью карт карно
- •9.1 Правила минимизации по картам Карно
- •9.1.1 Соседние клетки
- •9.1.2 Правило объединения соседних клеток
- •9.1.3 Определение простых импликант
- •9 .2 Не полностью определенные логические функции в картах Карно
- •10 Анализ и структурный синтез цифровых автоматов
- •10.1 Задачи анализа и синтеза
- •10.2 Синтез элементов логических схем
- •10.3 Особенности схем логических элементов
- •10.3.1 Базовый логический элемент
- •10.3.2 Элемент с открытым коллектором
- •10.3.3 Элементы и - или – не и расширители
- •10.3.4 Трисабильные элементы
- •10.4 Временные параметры логических микросхем
- •10.5 Переходные процессы в логических схемах микросхем
- •11 Комбинационные схемы
- •11.1 Построение преобразователя кодов
- •11.2 Сумматоры
- •11.3 Временные логические функции
- •12 Способы задания цифровых конечных автоматов
- •12.1 Математические модели ца
- •12.2 Табличный способ задания ца
- •12.3 Задание цифрового автомата графом
- •12.4 Минимизация абстрактных автоматов
- •13 Методы структурного синтеза автоматов
- •13.1 Канонический метод синтеза автомата
- •13.1.1 Пример синтеза ца каноническим методом
- •13.2 Структурный синтез ца по методу графа автомата
- •13.3 Метод синтеза ца по граф–схеме алгоритма
- •13.4 Синтез автомата с жесткой логикой управления
- •13.4.1 Принцип работы микропрограммного автомата с жесткой логикой управления
- •13.4.2 Проектирование микропрограммного автомата с жесткой логикой управления
- •14 Язык задания поведения цу - vhdl и синтезатор leonardo
- •15 Программируемые логические матрицы
- •16 Схемы основных логических устройств
- •16.1 Элементы памяти последовательностных логических схем
- •16.1.1 Триггер
- •16.1.1.1 Асинхронный rs - триггер
- •16.1.1.2 Синхронный rs - триггер
- •16.1.2 Универсальный jk-триггер
- •16.2 Регистры
- •16.2.1 Параллельные и последовательные регистры
- •16.2.2 Реверсивный регистр сдвига
- •Список литературы
7 Методы минимизации функций алгебры логики
7.1 Аналитический метод минимизации фл
Определение. Минимальная форма (МКФ и МДФ) представления ФЛ это форма, которая содержит минимальное количество термов и переменных в термах, и не должна допускать последующих упрощений.
Например, функция x1+ x2 может быть упрощена, если применить распределительный закон: x1x2+x3=(x1+x3)(x2+х3), тогда
x1+ x2=( +x1)(x1+х2)=x1 +x1x1+ х2+x1x2=
=0+x1+х2( +x1)=x1+х2.
Упрощение сложных логических выражений может быть осуществлено на основании применения законов и аксиом алгебры логики, изложенных выше.
Пример. Пусть задана СДНФ
x1x2x3+x1x2 +x1 x3+x1 + x2x3=
(добавим еще один конъюнктивный терм x1x2x3 согласно аксиомы х+х=х,) тогда,
=x1x2x3+x1 x2 +x1 x3+x1 +x1x2x3+ x2x3=
(используем сочетательное и распределительное свойство конъюнкции и дизъюнкции)
=x1x2(x3+ )+x1 (x3+ )+x2x3(x1+ )=
=x1x2+x1 +x2x3=x1(x2+ )+x2x3=x1+x2x3.
В настоящее время существенные результаты в решении задач минимизации получены лишь для базиса НЕ, И, ИЛИ, т.к. этот базис наиболее распространен в технике проектирования ЦА. Именно этому базису мы будем уделять больше внимания в дальнейшем. С целью автоматизации процесса минимизации функций, на практике часто применяют числовое и геометрическое представление функций алгебры логики.
7.2 Числовое и геометрическое представление фл
Для упрощения записи функций алгебры логики, часто вместо полного перечисления термов в двоичной форме, вводят номера наборов в десятичной форме, на которых функция принимает значение единицы. Например, функция от трех переменных записывается в виде:
f(x1,x2,x3)= F(0,3,4). (7.1)
Это означает, что мы должны построить такой ЦА, который на выходе имел бы единицу только на наборах, указанных в скобках, а именно:000 + 011 + 100, переходя к переменным, количество которых определяется необходимой разрядностью бинарных эквивалентов, получим
f(x1,x2,x3)= + x2x3+x1 .
Логическая схема такого ЦА приведена на рисунке 7.1.
Такую форму записи ЛФ (7.1) называют числовой.
Многие преобразования, выполняемые над булевыми функциями, удобно интерпретировать с использованием их геометрических представлений f(x).
Так функцию двух переменных можно интерпретировать как некоторую плоскость, заданную в системе координат xy=x1x2. При произвольно выбранных единичных значениях x1 и х2 получается квадрат, вершины которого соответствуют комбинациям переменных (см. рисунок 7.2).
Рисунок 7.2-Геометрическое представление ФЛ при n = 2.
Такое геометрическое представление функций двух переменных наглядно показывает: две вершины, принадлежащие одному ребру и называемые соседними, "склеиваются" по переменной, изменяющейся вдоль этого ребра.
Правило склеивания распространяется и на кубическое представление ФЛ.
На рисунке 7.3 показана область определения для произвольной функции трех переменных.
Элементам куба сопоставлены конъюнкции различного ранга: вершинам куба – третий ранг, ребрам куба - второй ранг, граням куба - первый ранг.
Определение. Сумма размерности геометрического эквивалента и ранга, сопоставляемая этому геометрическому эквиваленту конъюнкции, постоянна и равна числу аргументов функции.
Определение. Каждый геометрический эквивалент меньшей размерности покрывается всеми геометрическими эквивалентами большей размерности.
Рисунок 7.3-Геометрическое представление ФЛ при n=3
По аналогии будем говорить о покрытии конъюнкции большего ранга соответствующими конъюнкциями меньшего ранга.
Например, конъюнкции x1x2x3 и x1x2 покрываются конъюнкцией x1x2.
В общем виде операцию покрытия можно записать АВ+А =А. Чаще употребляется термин склеивание.
В геометрическом смысле каждый набор x1,x2,…,хn может рассматриваться как n -мерный вектор, определяющий точку n-мерного пространства. Исходя из этого, множество наборов, на которых определена функция n переменных, представляют в виде вершин n-мерного куба.
Координаты вершин куба должны быть указаны в порядке, соответствующем порядку перечисления переменных в записи функций.
Отмечая точками вершины, в которых функция принимает значения, равные 1, получаем геометрическое представление ФЛ.