
- •Часть 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 Реверсивный регистр сдвига
- •Список литературы
5.2 Основные свойства и алгоритм получения сднф, скнф
5.2.1 Общие свойства сднф
Анализируя функции логики записанные в СДНФ можно выделить ряд свойств:
-все конъюнктивные термы СДНФ являются конституентами 1, т.е. минтермами;
-в СДНФ нет двух одинаковых минтермов;
-в СДНФ ни один минтерм не содержит двух одинаковых множителей (переменных);
-в СДНФ ни один минтерм не содержит вместе с переменной и её отрицание;
-каждый минтерм содержит все переменные или их отрицания.
5.2.2 Алгоритм записи сднф
На основании приведенных свойств можно составить следующий алгоритм получения СДНФ прямо из таблицы истинности, задающей цифровой автомат. Для примера, возьмем данные таблицы 5.2.
Таблица 5.2-Таблица функционирования ЦА
x1 |
x2 |
x3 |
f(x) |
x1 |
x2 |
x3 |
f(x) |
|||||||
0 0 0 0 |
0 0 1 1 |
0 1 0 1 |
0 0 0 1 |
1 1 1 1 |
0 0 1 1 |
0 1 0 1 |
1 0 1 0 |
Алгоритм записи ЛФ в СДНФ имеет следующую последовательность:
-выбрать из таблицы истинности первую строку, в которой f(x)= l;
-сформировать из переменных этой строки конъюнктивный терм (минтерм) в соответствии с правилом
-поставить оператор разделения + и перейти к поиску следующей строки, где f(x)=1;
-если строк с f(x) = l больше нет, то перейти к окончанию записи СДНФ;
-конец.
Для таблицы 5.2, в соответствии с этим алгоритмом, имеем следующую СДНФ:
fсднф(x1, x2, x3) = x2 x3 + x1 + x1 x2 .
Для записи ЛФ использовались операции И, ИЛИ, НЕ.
5.2.3 Свойства скнф
Свойства функций представленных в совершенной нормальной конъюктивной форме (СКНФ) аналогичны свойствам СДНФ:
-все дизъюнктивные термы СКНФ являются конституэнтами 0, т.е. макстермами;
-в СКНФ нет двух одинаковых макстермов;
-в СКНФ макстермы не содержат двух одинаковых переменных;
-в СКНФ макстерм не содержит вместе с переменной и её отрицание;
-каждый макстерм содержит все переменные или их отрицания.
5.2.4 Алгоритм записи скнф
Учитывая выше перечисленные свойства, сформулируем следующий алгоритм построения СКНФ для логических функций, заданных таблицей истинности:
-выбрать из таблицы первую строку, где f(x)= 0;
-сформировать дизъюнктивный терм (макстерм) в соответствии с правилом
-поставить разделяющие макстермы круглые скобки и оператор логического умножения и перейти к следующей строке где f(x)=0;
-если строк с f(x) = 0 нет, то перейти к окончанию записи СКНФ;
-конец.
Решение для таблицы 5.2. В соответствии с алгоритмом имеем СКНФ:
fскнф(x1,x2,x3)=(x1+x2+x3)(x1+x2+ )(x1+ +x3)·
·( +x2+ )( + + ).
Для представления СКНФ использовались операции И, ИЛИ, НЕ.
5.3 Способы преобразования днф и кнф в сднф и скнф
Иногда, при автоматизированном проектировании, для описания систем необходимо восстанавливать функции представленные в нормальных формах в более полные совершенные нормальные формы.
Произвольная ДНФ переводится в СДНФ по правилу
fсднф
= Fi(xi +
)
(5.5),
где
- переменная, которая не входит в данный
терм.
Например, логическую функцию, заданную в ДНФ
f(x1, x2, x3, x4) = x1 + x2
необходимо преобразовать в СДНФ.
Решение. Преобразуем термы в соответствии с 5.5.
F1=x1 (x3+ )(x4+ )=(x1 x3+x1 )(x4+ )=
=x1 x3x4+x1 x3 +x1 x4+x1 ;
F2=x2 (x1+ )=x1x2 + x2
тогда,
f(x1,x2,x3,x4)=x1 x3x4+x1 x3 +x1 x4+
+x1 +x1 x2 + x2 .
Произвольная нормальная конъюнктивная форма КНФ преобразуется в СКНФ по формуле:
fскнф=Fi+xi =(Fi+xi)(Fi+ ),
где xi - переменная, которой нет в данном терме.
Например, преобразовать в СКНФ функцию:
f(x1,x2,x3)=(x1+x2)(x1+x2+x3)=[(x1+x2)+x3 ](x1+x2+x3)=
=(x1+x2+x3)(x1+x2+ )(x1+x2+x3)=(x1+x2+x3)(x1+x2+ ).