- •Часть 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 Реверсивный регистр сдвига
- •Список литературы
13.4 Синтез автомата с жесткой логикой управления
Под цифровыми автоматами с жесткой логикой управления понимают устройство с автоматическим выполнением всей программы переходов от исходного состояния до конечного. После отработанного цикла, автомат возвращается в исходное состояние.
13.4.1 Принцип работы микропрограммного автомата с жесткой логикой управления
На рисунке 13.7.представлена последовательностная схема микропрограммного автомата с жесткой логикой управления.
Рассмотрим принцип работы автомата. По команде Пуск автомат асинхронно переходит из нулевого состояния в состояние 7. При этом, переключаются триггеры памяти автомата ТТ2, ТТ3, ТТ4 по входу R из состояния 0 в 1. На выходе элементов памяти ТТ1, ТТ2, ТТ3, ТТ4 появится код 0111 соответствующий коду МК1. Сигналы с выходов элементов памяти через связи жгута 1,2,3,4,5,6,7,8 поступят на схемы дешифраторов DC1, DC2, DC3, DC4. Одновременно эти сигналы поступают и на шифраторы выходных сигналов управления, где на клеммах Y1, Y2, Y3, Y4, Y5, Y6, Y7 появится код микрокоманды МК1 - 0010001.
Рисунок 13.7-Микропрограммный автомат с жесткой логикой управления
Состояние автомата 0111 распознается дешифратором DC1, команда с которого по связи 1 жгута обратных связей поступит на асинхронный вход S вспомогательного триггера Т5 и переключит его в 1. Он, в свою очередь, даст разрешение на прохождение синхроимпульсов С из генератора G на схему элементов памяти автомата (входы С). По приходу синхроимпульса С и команды МК1 на память, и их совпадения, произойдет переключение элементов памяти ТТ1, ТТ2, ТТ3, ТТ4 в состояние 9 (1001). Это переключение, в силу особого свойства JK - триггера, произойдет по заднему фронту переключения синхроимпульса С, что обеспечивает нормальный временной режим работы. На выходных клеммах автомата появится код микрокоманды МК2 - 0100010. Далее аналогично.
Дешифратор DC2 расшифровывает состояние 1001 и переключает память в состояние -1011, а на выходе появится код МК3 - 1000100. И снова, дешифратор DC3 расшифровывает состояние 1011 и переключит память в состояние -1101, а на выходе появится код МК4 - 1111000. Команда DC4 переключает по связи 4 триггер Т5 в ноль, прерывая тем самым подачу синхроимпульсов на элементы памяти ТТ1, ТТ2, ТТ3, ТТ4 и, через инвертор, по связи 5 жгута обратной связи, поступает на входы R, устанавливая элементы памяти в исходное состояние - 0000, при этом, на выходе появится микрокоманда МК0 – 0000000, соответствующая исходному состоянию автомата. Для повторения цикла необходимо снова подать внешнюю команду Пуск.
Отметим, что состояния рассматриваемого автомата и выходные коды выбраны произвольно и рисунок 13.7 соответствует этому выбору. Рассмотрим последовательность проектирования этой схемы.
13.4.2 Проектирование микропрограммного автомата с жесткой логикой управления
Задание на проектирование. Разработать синхронный цифровой микропрограммный автомат с жесткой логикой управления и переходов состояний ЦА в последовательности 0,7,9,11,13,0 по сигналам обратных связей с дешифраторов состояний (DC).
Микропрограмма состоит из пяти микрокоманд (МК0, МК1, МК2, МК3, МК4), поступающих на выходы автомата в виде параллельных, двоичных, семиразрядных кодов, соответствующих своему состоянию (0 - 0000000, 7 - 0010001, 9 - 0100010, 11 - 1000100, 13 – 1111000).
Установка первой МК1 и установка в нулевое состояние по входу R, осуществляется асинхронно по командам Пуск (поступает извне) и МК4.
Проектирование микропрограммного автомата управления начнем с выбора достаточного количества элементов памяти и их типа.
Число элементов памяти определяем по разрядности двоичного кода числа наибольшего состояния. В нашем задании это число 13, что соответствует коду 1101. Для его представления необходимо, как минимум, четыре двоичных разряда, что подтверждается общим соотношением
2n M,
где M - наибольшее число используемых автоматом состояний;
n - наименьшее число необходимых двоичных разрядов.
Для обеспечения синхронности поступления на выход микрокоманд нормального временного режима переключения элементов памяти (по заднему фронту синхроимпульса С) и, одновременно, требования асинхронного пуска и останова цикла, выбираем JK-триггер, двухступенчатая схема (в условном обозначении триггера стоят две буквы Т) которого, по своим свойствам, обеспечивает выполнение этих требований.
Информационный вход сигнала J=1 триггера служит для переключения его из состояния 0 в состояние 1, вход К=1 служит для установки в состояние 0. Переключение по сигналам J или K производится синхронно заднему фронту синхроимпульса С. Инверсные асинхронные входы S и R предназначены для установки триггера по S в 1, а по R в 0 без привязки к синхроимпульсам.
Для построения комбинационной части дешифратора, построим граф состояний микропрограммного автомата. На рисунке 13.7 представлен граф переходов микропрограммного автомата с жесткой логикой управления.
Дуги графа отражают наименование сигнала, по которому осуществляется переход из предыдущего состояния в последующее. Через тире записаны входы элементов памяти, на которые эти сигналы поступают, чтобы произвести соответствующие переключения. Через “ \ “ записаны микрокоманды, поступающие на выход микропрограммного автомата в этот момент времени.
Для синтеза дешифраторов DC, составим таблицу соответствия, используя состояния графа изображенного на рисунке 13.7.
Составим таблицу соответствия 13.6 и определим логические функции для дешифраторов обратных связей управления DC1, DC2, DC3, DC4.
Таблица 13.6-Соответствие сигналов DC состоянию автомата
№ |
Q1Q2Q3Q4 |
Пуск |
DC1 |
DC2 |
DC3 |
DC4 |
0 7 9 11 13 |
0 0 0 0 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 |
1 0 0 0 0 |
0 1 0 0 0 |
0 0 1 0 0 |
0 0 0 1 0 |
0 0 0 0 1 |
Схемы дешифраторов строим по этим ЛФ, используя конъюкторы на четыре входа. Выходы элементов памяти Qi вводим через связи 1,2,…,8 в жгут и затем разводим на соответствующие конъюкторы DC (смотри рисунок13.7). Выходы дешифраторов вводим через связи 1,2,3,4 в жгут обратных связей, а затем выводим их на входы элементов памяти, определенные графом автомата. Если по какому-либо входу требуется подать несколько сигналов (у нас по входу К3), то это реализуем с помощью логических элементов ИЛИ.
Для синтеза комбинационной схемы шифратора, составим таблицу соответствия его работы, используя выходы Qi элементов памяти и коды микрокоманд МКi.
Таблица13.7-Таблица работы шифратора
По таблице 13.7 получаем систему логических функций шифратора. Проведем минимизацию этих функций с помощью карт Карно. При минимизации будем учитывать, что из 16 состояний в данном автомате используются только 5. Остальные не определены, т. е., в данном случае не реализуется в управлении 11 состояний. Значения функций для этих состояний безразличны и, поэтому, они могут использоваться в картах Карно.
Для примера рассмотрим минимизацию функции Y5.
Нарисуем карту Карно для четырех переменных Q1Q2Q3Q4
(см. рисунок 13.9).
В верхнем правом углу обозначены состояния используемые автоматом. Обозначенные 1* безразличные состояния, использовались при минимизации.
По полученным минимальным функциям строим схему рисунка 13.7.