
- •Часть 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 Реверсивный регистр сдвига
- •Список литературы
6 Полные системы функций
6.1 Функционально полные базисы
Одни логические функции, как было рассмотрено выше, при помощи суперпозиции можно выражать через другие. Этот очень важный метод широко применяется при синтезе цифровых конечных автоматов. Важно определить то минимальное число необходимых функций, с помощью которых мы могли бы выразить любую ЛФ, и, тем самым, определить технический базис проектирования, достаточный для построения любого автомата. Сформулируем некоторые определения.
Определение. Система функций алгебры логики {f1,f2,...fm} называется полной в классе R, если любая функция φ, принадлежащая R, может быть представлена суперпозицией функций f1,f2,...,fm.
Определение. Система функций {f1,f2,...,fm} являющаяся полной в классе R называется базисом.
В силу теоремы, рассмотренной ранее, общее число функций, зависящих от n аргументов равно 2 . Рассмотрим этот класс функций, как класс R.
В самом деле, в него входят все 2 функции с помощью которых можно выразить любую другую функцию этого класса. Это тривиально полная система. Но, она слишком велика и разнообразна.
Поэтому, в технике применяют другие полные системы. Интерес представляет базис функций И, ИЛИ, НЕ (базис 1), свойства которого достаточно изучены.
Другими базисами служат системы: И, НЕ (базис 2), ИЛИ, НЕ (базис 3), система, базирующаяся на функции Шеффера НЕ-И (базис 4) и функции Пирса (Вебба) НЕ-ИЛИ (базис 5). Эти базисы получили наибольшее распространение в технике.
Существует много и других базисов. Например, из совершенной полиномиальной формы следует базис из функций конъюнкции, сложения по mod2 и отрицания. Отрицание можно заменить через соотношение = х 1, и получим базис функции сложения по mod2, конъюнкции и константы 1 (носит название полиномиального базиса).
6.2 Теорема Поста
Для определения базиса ФЛ, существует теорема Поста-Яблонского (приведена без доказательства).
Теорема Поста. Для того, чтобы система функций {f1,f2,...,fm} была полной, необходимо и достаточно, чтобы она содержала функции:
-не сохраняющую константу ноль;
-не сохраняющую константу единица;
-не была самодвойственной;
-не была линейной;
-не была монотонной.
При определении полноты базисных систем, удобно пользоваться таблицей, в которой принадлежность элементарных функций к тому или иному классу отмечена плюсом (+), а минус – означает отсутствие данного свойства (см. таблицу 6.1).
Таблица 6.1-Таблица определения логического базиса
№ |
Функция |
К0 конс.0 |
К1 конс.1 |
L лин. |
М мон. |
S самод. |
1 2 3 4 5 6 7 8 |
Отрицание Дизъюнкция Конъюнкция Импликация Слож. mod2 Шеффера Пирса Эквивалентн. |
− + + − + − − − |
− + + + − − − + |
+ − − − + − − + |
− + + − − − − − |
+ − − − − − − − |
Эта таблица дает возможность определять базисы системы ЛФ из элементарных функций следующим образом. Берут любую функцию и проверяют столбики. Необходимо, чтобы во всех столбиках стоял знак минуса, т. е., отсутствовали указанные свойства. Если в каком-нибудь столбике стоит плюс, то к взятой функции подбирают, для компенсации, функцию с минусом в этом столбике. Совокупность этих функций и составит базис.
Базисы бывают избыточными: И, ИЛИ, НЕ и минимальными, например, Шеффера, Пирса.
Базис называется минимальным, если удаление хотя бы одной функции превращает базисную систему ФЛ в неполную. Например, базис 4, 5.
Базис- И, ИЛИ, НЕ является избыточным, т.к., используя закон де-Моргана, можно удалить: либо И, заменив ее на НЕ-ИЛИ-НЕ, либо ИЛИ, заменив ее на НЕ-И-НЕ.
Проблема полноты базиса эквивалентна проблеме выбора стандартов на логические микросхемы, из которых будет строиться цифровой автомат.
Наряду с этим важно не только реализовать сам автомат, но и общее число применяемых при этом базисных элементов. Возникает вопрос о минимальных формах построения функций. Очевидно, что нормальные формы экономичнее совершенных нормальных форм. Но с другой стороны, общее представление об автомате мы можем оценить только по совершенным нормальным формам, а после этого, выполняется минимизация функции.