- •Часть 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 Реверсивный регистр сдвига
- •Список литературы
11.1 Построение преобразователя кодов
Принципы синтеза комбинационных схем хорошо иллюстрируется примером построения преобразователя двоично-десятичного кода в специальный семиразрядный код, управляющего работой семиэлементного цифрового индикатора. Подсветка каждого из его элементов, обозначающих в совокупности цифры от 0 до 9, производится подачей единичного сигнала на вход соответствующего ему элемента.
Преобразователи кодов (ПК) могут быть весовыми и не весовыми. Весовые ПК преобразуют информацию из одной системы счисления в другую. Основное назначение не весовых ПК- преобразование информации для ее дальнейшего отображения. На рисунке 11.1 показан фрагмент подключения одного сегмента к выходу схемы и приведены начертания первых пяти цифр.
Такой преобразователь должен иметь четыре входа, т.к. для кодирования десятичных цифр от 0 до 9 достаточно четырех двоичных переменных, и семь выходов, по одному на каждый сегмент. Таблица истинности преобразователя, она же таблица, в соответствии с которой должны светится десятичные цифры.
В общем случае для синтеза этого ПК требуется составить семь уравнений. На входы преобразователя подаются логические сигналы четырехразрядного двоично-десятичного кода.
Рисунок11.1-Подключение преобразователя к индикатору
Задача состоит в синтезе такой логической схемы преобразователя, которая высвечивала бы на экране цифры, соответствующие кодам таблицы истинности 11.1, где функциям f1, f2, f3, f4, f5, f6, f7 соответствуют функции А, B, C, D, E, F, G.
Можно по таблице истинности записать ЛФ в СДНФ для любых fi, cоставив систему уравнений. Например, ФЛ для f1 будет записана в СДНФ следующим образом:
Аналогично можно построить и остальные ФЛ. Однако, их можно записать и прямо через карты Карно.
На таблице 11.1 утолщенной рамкой выделены те наборы переменных, которые используются для определения десятичных цифр от 0...9. Остальные наборы от 10...15 в схеме не используются. Однако, для упрощения минимизации, мы используем эти неопределенные коды, присвоив некоторым функциям на этих наборах значения 1* или 0*.Составим карты Карно для функций f1 - f7 (см. рисунок 11.2).
По картам Карно определим минимизированные функции и запишем систему булевых уравнений комбинационной логической схемы преобразователя кодов.
Таблица 11.1-Таблица истинности преобразователя кодов
Цифры |
XI Х2 ХЗ Х4 |
f1 |
f2 |
f3 |
f4 |
f5 |
f6 |
f7 |
||||||||||
0 |
0 0 0 0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
||||||||||
1 |
0 0 0 1 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
||||||||||
2 |
0 0 1 0 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
||||||||||
3 |
0 0 1 1 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
||||||||||
4 |
0 1 0 0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
||||||||||
5 |
0 1 0 1 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
||||||||||
6 |
0 1 1 0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
||||||||||
7 |
0 1 1 1 1 0 0 0 1 0 0 1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
|
|||||||||
8 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
||||||||||
9 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
|
||||||||||
10 |
1 |
0 |
1 |
0 |
1* |
1* |
1* |
1* |
1* |
1* |
1* |
|||||||
11 |
1 |
0 |
1 |
1 |
1* |
1* |
1* |
1* |
1* |
1* |
1* |
|||||||
12 |
1 |
1 |
0 |
0 |
1* |
1* |
1* |
1* |
1* |
1* |
1* |
|||||||
13 |
1 |
1 |
0 |
1 |
1* |
1* |
1* |
1* |
1* |
1* |
1* |
|||||||
14 |
1 |
1 |
1 |
0 |
1* |
1* |
1* |
1* |
1* |
1* |
1* |
|||||||
15 |
1 |
1 |
1 |
1 |
1* |
1* |
1* |
1* |
1* |
1* |
1* |
|||||||
По булевым уравнениям рисуем логические схемы преобразователя, при этом проводим, так называемый, второй уровень минимизации. Второй уровень минимизации заключается в объединении одинаковых узлов с целью построения для них одной общей схемы.
На рисунке 11.3 представлена для примера логическая схема функций f1, f2 преобразователя в базисе Буля.
Логические схемы для остальных функций получаются аналогично.
