- •Часть 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.3 Минимизация фл с помощью комплекса кубов
7.3.1 Построение комплекса кубов и его минимального покрытия
Терм максимального ранга n- куба принято называть 0-кубом (точка вершины) и обозначают К0. Например, для f(x1,x2,x3)= (0,4,7) комплекс 0-кубов будет таким
Определение. Если два 0-куба из комплекса К0 различаются только по одной координате, то два таких 0-куба образуют один 1-куб. Он представляется общими элементами 0-кубов, причем на месте координаты, по которой различаются 0-кубы, указывают символ Х, обозначающий независимую координату (переменную). Различие координат определяют последовательным сравнением первого куба с остальными, затем второго с остальными и так далее. Например, два 0-куба 000 и 100 различаются только по одной координате, и они образуют 1-куб (отрезок), которому соответствует ребро трехмерного куба. Заметим, что 0-куб 111 не склеивается, так как отличается больше чем по одной координате.
Все множество 1-кубов функции называется кубическим комплексом К- один и обозначается- К1.
K1 = {X00}
Комплекс К1 строится по комплексу К0 путем их сравнения и определяет все множество ребер, на концах которых функция принимает единичные значения. Если два 1-куба из комплекса К1 имеют общую независимую компоненту и различаются только по одной координате, то они образуют один 2-куб. Это грань для трехмерного куба. Все множество 2-кубов, построенного из комплекса К1, образует множество комплекса К2 (множество граней). Комплекс К3 = 0 - отсутствует в трехмерном кубе (часто r-куб называют интервалом (расстоянием) r- порядка). Перед построением очередного куба необходимо отметить те кубы, которые склеились хотя бы один раз. Например, звездочкой *. Это необходимо, так как могут быть неотмеченные (не склеившиеся) кубы о которых забывать нельзя. Они являются самостоятельными импликантами, которые так же включают в общее покрытие кубов С(f). Для нашего примера, общее покрытие будет выглядеть
По индукции можно определить, что два r-куба, содержащие r координат и различающиеся только по одной координате, могут объединяться в (r + 1)-куб, (r + 1)-я независимая координата которого соответствует координате, по которой различаются r-кубы.
Запись (r + 1)-куба состоит из общих компонент двух r-кубов, а компонента, принимающая в них различные значения, обозначается в (r + 1)-кубе как независимая компонента Х.
Число независимых координат Х в кубе определяет его размерность.
Например, куб 0Х1Х1ХХ имеет размерность r = 4.
Определение. Объединение кубов комплексов К0,К1,...,Кn функции f(x1, x2, …, хn) называется кубическим комплексом K(f) функции f.
K(f) = К0 К1 К2 К3 ...
В отличие от аналитических форм записи булевых функций, кубическое представление позволяет задавать булевы функции в виде множества кубов, компонентами которых являются только три символа 0; 1; X. Ограниченное количество символов в записи функций алгебры логики позволяет автоматизировать процесс минимизации с применением компьютерных систем.
Задача минимизации булевых функций по критерию минимальности числа букв входящих в ДНФ или КНФ называется канонической задачей минимизации.
Схема, получаемая в результате ее решения не является абсолютно минимальной, т.к. абсолютный минимум оборудования в большинстве случаев так и не достигается.
Определение. Булева функция f(x1, x2, …, хn) представляется как множество С кубов, принадлежащих комплексу К(f), и таких, что каждая вершина комплекса К0 включена по крайней мере в один куб множества С.
Полученное таким образом множество С называется покрытием комплекса K(f) и покрытием булевой функции. Каждому покрытию C(f) соответствует ДНФ функции.
Например, дана функция
f(х)= (3,4,5,6,7)= x2x3+x1 + +x1 x3+x1x2 +x1x2x3
Построим комплекс кубов К0,К1,К2,К3.
К3= 0
Из комплекса кубов K(f) определяется его покрытие C(f) куда входят не отмеченная импликанта Х11 из куба К1 и покрытие 1ХХ из куба К2.
C(f) =
Это покрытие включает в себя все 5 вершин комплекса К°. В самом деле, куб x11 может включать (покрывать) 011; 111. Куб 1xx может включать вершины 100, 101, 110, 111. Таким образом, множество C(f) является покрытием комплекса K(f). Отсюда можно написать минимизированное уравнение:
f(х)= (3,4,5,6,7)=x2x3+x1.