Построение кодопреобразователя
В технических целях используются только детерминированные цифровые автоматы, в которых выполнено условие однозначности переходов: — автомат, находящийся в некотором состоянии, под действием любого входного сигнала не может перейти более чем в одно состояние. Применительно к табличному способу задания описания автоматов это означает, что в клетках переходов/выходов указывается только по одному… Читать ещё >
Построение кодопреобразователя (реферат, курсовая, диплом, контрольная)
Министерство образования и науки Российской Федерации Южно-Уральский Государственный Университет Кафедра Автоматики и Управления
Пояснительная записка к курсовой работе
по курсу: «Цифровые автоматы»
«Построение кодопреобразователя»
Руководитель Радкевич И. А.
" «2007 г.
Автор работы студентка группы ЗФ-228-с Ватутина /Лазуко/ А. Л.
" «2007 г.
Проект защищен с оценкой
_________________________
" «2007 г.
Челябинск 2007 год
- Задание 2
- Введение 2
- Понятие о дискретном (цифровом) автомате. 4
- Основные понятия алгебры логики. 5
- Понятия теории графов 10
- Граф-дерево автомата Мура. 12
- Граф-дерево автомата Мили. 13
- Таблица переходов по автомату Мили 14
- Таблица выходов по автомату Мили 14
- Минимизация цифрового автомата Мили. 15
- Таблица переходов с распределением неопределённостей. 15
- Исключение недостижимых состояний. 15
- Определение класса совместимости. 16
- Классы единичной совместимости 17
- Классы двоичной совместимости 18
- Классы троичной совместимости 18
- Классы четверичной совместимости 19
- Классы пятеричной совместимости 20
- Таблица состояний и выходов нормализованного автомата 21
- Структурный синтез цифрового автомата 22
- Выбор триггера 23
- Представление функции возбуждения 25
- Таблица состояний и выходов нормализованного автомата 27
- Минимизирующие карты 30
- Минимизация функций по методу Квайна 31
- Минимизация функций по методу Мак-Класки 32
- Заключение 43
- Литература 44
Задание
- Построить устройство для преобразования последовательного двоично-десятичного кода X = (хЗ, х2, х1, х0), который подаётся на вход устройства z = (z3, z2, z1, z0). Десятичный эквивалент X двоично-десятичного кода может быть вычислен: Х=E xi pi, где xi = 0, 1 — цифра двоично-десятичного кода, a pi — вес i-ro разряда.
Вариант задания представлен в таблице:
Номер варианта |
Р3Р2Р1P0 |
Р3Р2Р1P0 | |
Цель
Исследование влияния алгоритмов синтеза цифровых автоматов на сложность структуры самого цифрового автомата.
Любое цифровое устройство с необходимым поведением может быть спроектировано на основе единой модели, а именно как автомат Мили или автомат Мура. В работе изучаются синхронные варианты автоматов Мили и Мура. Синхронизация обеспечивает устойчивость состояний автомата и позволяет провести его синтез простейшим образом.
- Введение
В ходе выполнения курсовой работы было реализовано построение кодопреобразователя по заданным значениям функций входа и выхода.
- На первом уровне реализации работы была составлена таблица соответствий входного и выходного сигналов для десяти заданных значений и произведены преобразования для соблюдения условия автоматности.
- На следующем уровне работы было произведено построение граф-деревьев абстрактных автоматов Мура и Мили. Затем по графу составлены таблицы переходов и выходов для автомата Мили.
- На третьем уровне работы произведена минимизация автомата Мили путём составления таблицы переходов с распределением неопределённостей, исключением недостижимых состояний проектируемого автомата, определение классов совместимости до получения нормализованного автомата, построение графа полученного автомата.
- На четвёртом уровне работы был произведён структурный синтез цифрового автомата с кодированием двоичным кодом входной, выходной функций автомата, а также функции состояний. Определена таблица состояний выбранного для реализации кодопреобразователя D-триггера.
- Пятым этапом выполнения работы была минимизация с помощью диаграмм Вейча, функций выхода кодопреобразователя и возбуждения D-триггера, а также их реализация в базисе И, ИЛИ, НЕ.
- На последнем уровне работы была составлена схема последовательного кодопреобразователя заданного входного кода в заданный выходной на простейших цифровых автоматах с памятью.
- Особенностью цифрового автомата является зависимость оператора преобразования, А от предыдущих состояний кодопреобразователя, то есть наличие памяти у цифрового автомата. В частном случае отсутствия памяти у цифрового автомата, он является логической схемой. Таким образом, предметами исследования в теории цифровых автоматов являются как собственно цифровые автоматы (системы с памятью), так и автоматы без памяти или логические схемы.
- Наиболее разработана теория цифровых автоматов применительно к канонической структуре цифрового автомата, представленной на рис. 1. Для дальнейшего рассмотрения используется только эта структура цифрового автомата.
- КСВХ — входная комбинационная схема; П — память; КсВЬ1Х — выходная комбинационная схема; Хвходной цифровой код; В — код возбуждения памяти; А — код состояния памяти; Y — выходной код.
- Рис. 1. Каноническая структурная схема цифрового автомата
- По структурной схеме цифрового автомата видно, что входные коды входной и выходной комбинационных схем получаются в результате конкатенации (объединения) входного кода и кода состояния памяти цифрового автомата.
Понятие о дискретном (цифровом) автомате.
- Дискретными автоматами принято называть устройства, служащие для преобразования дискретной информации. В современных цифровых автоматах принято обычно отождествлять буквы используемого стандартного алфавита с цифрами той или иной системы счисления (чаще всего двоичной или десятичной). Поэтому дискретные автоматы принято также называть цифровыми автоматами.
- Основным качеством, выделяющим дискретные автоматы из числа всех других преобразователей информации, является наличие дискретного (при этом реальных автоматах всегда конечного) множества внутренних состояний и свойства скачкообразного перехода автомата из одного состояния в другое. Скачкообразность перехода означает возможность трактовать этот переход как мгновенный, причем как такой, который совершается непосредственно, минуя какие-либо промежуточные состояния.
- Изменения состояний цифрового автомата называются входными сигналами, возникающими вне автомата и передающимися в автомат по конечному числу входных каналов.
- Результатом работы цифрового автомата является выдача выходных сигналов, передаваемых из автомата во внешние цепи по конечному числу выходных каналов.
- Цифровой автомата (первого или второго рода) называется правильным, если выходной сигнал y (t) определяется одним лишь его состоянием (a (t-1) или a (t)) и не зависит явно от входного сигнала x (t). Автоматы первого рода обычно также называют автоматами Мили, по имени американского ученого, который впервые начал их систематическое изучение. Особый интерес на практике имеют правильные автоматы второго рода, известные обычно под более кратким названием автоматов Мура.
- Основные понятия алгебры логики.
- Понятие цифрового автомата было введено как модель для описания функционирования устройств, предназначенных для переработки цифровой или дискретной информации.
- Для формального описания цифровых автоматов применяется аппарат алгебры логики, созданной английским математиком Дж. Булем (1815−1864). Поэтому алгебру логики называют алгеброй Буля или булевой алгеброй.
- В алгебре логики применительно к описанию цифровых автоматов, работающих в двоичном представлении кодов (или цифровой информации) основными понятиями являются логическая (булева) переменная и логическая функция (функция алгебры логики — ФАЛ).
- Логическая (булева) переменная — такая величина х, которая может принимать только два значения: х = {0,1}.
- Логическая функция (функция алгебры логики — ФАЛ) — функция многих аргументов f (xn-1, хn-2, …, х0), принимающая значения равные нулю или единице на наборах логических переменных xn-1, хn-2, …, х0.
- В дальнейшем в формальных описаниях наборов переменных и логических функций сами наборы переменных интерпретируются как двоичные коды (числа). В двоичных кодах расположение логических переменных упорядочено в порядке уменьшения индекса слева направо, и каждая логическая переменная имеет вес в зависимости от позиции в коде, увеличивающийся справа налево. Вес каждой i-той логической переменной, являющейся значением разряда двоичного числа равен 2i (i = 0,…, n-l).
- Для n-разрядного кода общее количество уникальных наборов переменных: N = 2n (1)
- Максимальное числовое значение двоичного кода равно: Aмакс=2n — 1 (2)
- Значения всех логических функций от одной переменной представлены в таблице 1.
Таблица 1
X | f0(x) | f1(x) | f2(x) | f3(x) | |
- Функция f0(x) называется константой нуля, а функция f3(x) — константой единицы. Функция fi(x), повторяющая значения логической переменной, — тождественная функция (fi(x)=x), а функция f2(x), принимающая значения, обратные значениям переменной х, — логическое отрицание или инверсия (НЕ) (f2(x) =).
- Элементы алгебры логики имеют следующие операции:
- Конъюнкция (И, логическое умножение) — произведение двух высказываний Р и Q, результатом которого является истина, если оба высказывания истинны и ложь во всех других случаях.
- Дизъюнкция (ИЛИ, логическая сумма) — сумма двух высказываний Р и Q; результатом является ложное высказывание, если оба высказывания ложные, и истинное во всех других случаях.
- Инверсия (отрицание) — отрицанием высказывания Р называется высказывание истинное, если само высказывание Р ложное, или наоборот.
- Для функции двух переменных, согласно ф.(1), существует четыре уникальных набора переменных. Функции отличаются друг от друга набором значений 0 и 1 в четырех разрядах кода значений функции. Общее количество функций на п-местном или п-разрядном наборе переменных равно: (3).
- Две функции равносильны друг другу, если они принимают на всех возможных наборах переменных одни и те же значения.
Аналитически это свойство описывается следующей формулой:
- f1(xn-1, xn-2, …, x0) = f1(xn-1, xn-2, …, x0) (4)
- Обе функции в ф.(4) могут иметь разные формы аналитической записи, но практически наиболее выгодной будет самая простая форма записи.
- Система булевых функций W называется функционально полной, если для любой булевой функции п-переменных f (xn-1, хn-2, …, х0) может быть построена равносильная ей функция комбинированием булевых переменных xn-1, хn-2, …, х0 и функций системы W, взятых в любом конечном количестве экземпляров каждая. Такая система булевых функций (W) называется базисом.
- Таким образом, базис — полная система функций алгебры логики (ФАЛ), с помощью которой любая ФАЛ может быть представлена суперпозицией исходных функций W.
- Базисом является система функций И (конъюнкция), ИЛИ (дизъюнкция), НЕ, (инверсия), свойства которых были впервые изучены Дж. Булем.
Базис является минимальным, если удаление из него хотя бы одной функции превращает систему ФАЛ в неполную. Базис И, ИЛИ, НЕ — избыточный.
- Для абстрактного математического описания цифрового автомата как кодопреобразователя используется представление 6-элементного множества S = {А, Х, У,, , a1,}.
- Понятие множества — понятие, которое не имеет определения. Множества имеют свои подмножества, оно может быть конечным и бесконечным. Упорядоченным будет множество, в котором каждый элемент имеет своё место.
- Множество будет состоять из следующих элементов:
- А = {а1…, ап} -множество состояний автомата,
- X = {х1…, хп} - множество входных сигналов,
- Y = {у1. ., уп} - множество выходных сигналов,
- — функция переходов абстрактного цифрового автомата,
- - функция выходов абстрактного цифрового автомата,
- a1 — начальное состояние автомата (ai принадлежит А).
- Для однозначного управления цифровым автоматом необходимо, чтобы он начинал работу с определённого начального состояния. Автомат является конечным, если А, X и Y не являются бесконечными множествами. Теоретически все элементы множеств А, X, Y могут быть закодированы числами в системе счисления с любым основанием, но на практике всегда используется двоичная система счисления. Согласно структурной схеме (рис.1), коды наборов переменных комбинационных схем определяются в результате конкатенации кодов входных сигналов и кодов состояний блока памяти. Как наборы входных переменных, так и коды состояний блока памяти в общем случае содержат запрещённые комбинации, поэтому системы функций алгебры логики, описывающие комбинационные схемы, не будут полностью определёнными.
- Используя понятия и определения алгебры логики, составим таблицу (соответствия) значений входных и выходных сигналов.
- При рассмотрении конечного автомата необходимо рассмотреть условие автоматности, то есть выполнение следующих условий:
- Длина входного слова должна соответствовать длине выходного слова. В общем случае при несоответствии входного и выходного слов недостающие фрагменты заполняются пустыми символами (0);
- Минимум три первых символа входных и выходных слов должны соответствовать друг другу. В нашем случае это условие частично не выполняется, поэтому для соблюдения условия автоматности кодопреобразователя к входному и выходному словам добавим пустые символы (0).
- При этом таблица соответствия примет вид:
- Часто на практике используется две разновидности цифровых автоматов, отличающихся способом формирования выходных сигналов:
- - при описании функционирования автомата выражениями:
- a (t+l) = 5[a (t), z (t)],
- w (t) = [a (t), z (t)] - он называется автоматом Мили;
- — при описании функционирования автомата выражениями:
- a (t+1) = [a (t), z (t)],
- w (t) = [а (t)] - он называется автоматом Мура.
- В этих выражениях t — текущий момент дискретного автоматного времени, t+1 -следующий момент дискретного автоматного времени.
- Понятия теории графов
- Графами называют взаимосвязь двух множеств состоящих из множества вершин и множества рёбер, индуцируемых (связанных) между собой.
- Полный граф — это граф, не имеющий петель, кратности ребер, и все его вершины связаны между собой.
- Неориентированный граф — граф, не имеющий указания направлений ребер, при переходе из одной вершины в другую.
- Ориентированный (полный) граф — граф с ребрами, указывающими конкретное направление при переходе из одной вершины в другую.
- Граф-дерево — это слабосвязанный граф, у которого если удалить одно ребро, то он распадается на два графа.
- Граф автомата — ориентированный связный граф, вершины которого соответствуют состояниям, а дуги — переходам между ними.
- Теория графов имеет большие приложения, так как язык теории, с одной стороны, очевиден, а, с другой стороны, удобен в нормальном исследовании. При полном изображении графа не все детали рисунка имеют одинаковое значение, а именно геометрические свойства рёбер (кривизна, длина и т. д.) и расположение вершин на плоскости относительно друг друга.
- Две вершины графа автомата ат и as (исходное состояние и состояние перехода) соединяются дугой (ребром), направленной от ат в as. Дуге (ат, as) графа автомата приписывается входной сигнал х и выходной сигнал у, если он определён, и, в противном случае, ставится прочерк. Если переход автомата из состояния ат в состояние as происходит под действием нескольких входных сигналов, то дуге (am, as) приписываются все эти входные и соответствующие выходные сигналы.
- При описании автомата Мура в виде графа выходной сигнал y записывается внутри вершины ат или рядом с ней, а входной сигнал х над дугой (ребром), демонстрирующей переход из одного состояния в другое.
- При описании автомата Мили в виде графа внутри вершины записывается состояние, в которое переходит автомат, а над дугой (ребром), демонстрирующей переход из одного состояния автомата в другое, записывается дробь, в числителе которой указывается входной сигнал, а в знаменателе — выходной сигнал.
- Для задания функций переходов и выходов построим граф-дерево автомата Мура, а затем автомата Мили. При использовании табличного описания автомата Мура таблицы переходов автоматов Мили и Мура совпадут, а таблица выходов автомата Мили получится из таблицы переходов заменой as символом выходного сигнала.
- В технических целях используются только детерминированные цифровые автоматы, в которых выполнено условие однозначности переходов: — автомат, находящийся в некотором состоянии, под действием любого входного сигнала не может перейти более чем в одно состояние. Применительно к табличному способу задания описания автоматов это означает, что в клетках переходов/выходов указывается только по одному состоянию/выходному сигналу. Применительно к графическому способу задания описания автоматов это означает, что в графе автомата из любой вершины не могут выходить две или более дуги, отмеченные одним и тем же входным сигналом.
- Устойчивым состоянием автомата называется такое состояние, что для любого х, (am, x) = as, имеет место (as, x) = as. Это значит, что если автомат перешёл в некоторое состояние х, то выйти из этого состояния может только под действием другого сигнала.
- Синхронным называется автомат, если он не является асинхронным и каждое его состояние устойчиво.
- Если для некоторой пары (am, zf) выходной сигнал автомата не определён, то для этой пары не определяется и функция перехода, так как не определено допустимое слово, осуществляющее переход из этого состояния.
- Граф-дерево автомата Мура.
- Для построения графа-дерево автомата Мура используем таблицу соответствия, дополненную до выполнения условия автоматности. После выполнения условия автоматности граф-дерево примет вид:
- Два автомата с одинаковыми входным и выходным алфавитами называются эквивалентными, если после установки начального состояния их реакции на любое входное слово совпадают. Отсюда следует, что для любого автомата Мили существует эквивалентный автомат Мура, и, обратно, для любого автомата Мура существует эквивалентный ему автомат Мили. Таким образом, возможны взаимные трансформации автоматов.
- Граф-дерево автомата Мили.
- В ходе этапа построения кодопреобразователя осуществляется преобразование графа-дерево автомата Мура в граф-дерево автомата Мили. Для этого все конечные состояния автомата Мура заменяются нулевым состоянием. Граф-дерево автомата Мили:
- Таблица переходов по автомату Мили
- Следующим шагом является построение кодопреобразователя по полученному графу автомата Мили — построение таблицы переходов автомата из одного состояния в другое под действием входных переменных.
- Таблица выходов по автомату Мили
- Если для некоторой пары аixi выходной сигнал не определён, то для этой пары можно не определять и функцию переходов, так как не существует допустимого слова, осуществляющего переход для этого слова. Исходя из вышеизложенного, строим таблицу выходов по графу Мили:
- Строки этих таблиц соответствуют входным сигнальным множествам х, а столбцы состояниям а, причем первый левый столбец означает начальное состояние инициального цифрового автомата.
- В нашем варианте функция определена не полностью, поэтому функцию необходимо доопределить. Это доопределение произвольное и зависит от задачи, которая ставится перед доопределением. В дальнейшем предполагается производить минимизацию функции, поэтому доопределение лучше произвести так, чтобы минимальная форма функции получилась проще, чем минимальная дизьюктивная нормальная функция, получаемая при других доопределениях.
- Минимизация цифрового автомата Мили.
- Абстрактный автомат, построенный по техническому заданию формальным или эвристическим методами, обычно не является минимальным по количеству состояний. Построение эквивалентного ему абстрактного цифрового автомата с наименьшим числом состояний и является задачей оптимизации. При минимизации числа состояний уменьшается стоимость, как блока памяти автомата, так и его входной и выходной комбинационных схем.
- Два полностью определённых автомата называются эквивалентными, если они индуцируют (производят) одно и то же отображение множества входных слов во множество выходных слов. Частичный цифровой автомат А называется эквивалентным продолжением частичного автомата В, если индуцируемое им отображение совпадает с отображением, индуцируемым автоматом В на всех допустимых для автомата В словах.
- Полностью определённый автомат является частным случаем частичного автомата.
- Таблица переходов с распределением неопределённостей.
- Первым (предварительным) этапом всякой минимизации является выделение неопределенных выходных сигналов и состояний и внесение соответствующей неопределенности в таблицы переходов и выходов автомата. Внесение неопределенности не должно изменять исходного отображения, которое должен индуцировать рассматриваемый автомат. Степень полноты внесенной неопределенности определяет в значительной мере и возможности последующей минимизации.
- Исключение недостижимых состояний.
- Если в автомате имеется состояние (но только не начальное), в которое он не может попасть под воздействием любого допустимого входного слова, то такое состояние называется недостижимым. Недостижимые состояния исключаются из описания абстрактного автомата без изменения, индуцируемого автоматом отображения. Автомат, все состояния которого достижимы, является связным автоматом.
- Определение класса совместимости.
- Состояния аi и aj называются совместимыми, если, двигаясь из этих состояний под воздействием любого входного сигнала, автомат индуцирует одинаковое его отображение.
- Состояния называются i-совместимыми для i=1, 2,…, если результат применения к этим состояниям любого слова длины i будет одинаковым. Классы совместимых состояний могут быть найдены непосредственно по таблице выходов. В один и тот же 1 — класс зачисляются состояния, обозначающие совпадающие (с точностью до неопределённых выходных сигналов) столбцы таблицы выходов. Классы (i+1) — совместимости получаются из классов i — совместимости путём их расщепления на классы (i+1) — совместимости. Для этого у каждого состояния, принадлежащего j — классу i — совместимости Cj(i), номера классов (индексы), в которые автомат переходит под воздействием каждой входной буквы. Если номер класса не определён, то ставится специальный символ, например, прочерк. Индексы классов, в которые переходит автомат под действием входного сигнала, образуют отметку. Множество состояний с одинаковыми отметками в классе Cj(i) образуют классы (i+1) — совместимости. При выполнении операции расщепления классов специальный символ неопределённости может быть заменён номером (индексом) любого класса. Если операцию расщепления i-классов применить последовательно, начиная с 1-класса, то через конечное число шагов процесс расщепления закончится. Нерасщепляемые далее классы образуют классы совместимых состояний. Иногда отметки состояний разных классов совпадают, но объединять такие состояния в один класс (i+1) — совместимости совершенно недопустимо.
- Классы единичной совместимости
- Видим, что в таблицах есть несовместимые переходы классов, поэтому продолжим разбиение.
- Классы двоичной совместимости
- Видим, что в таблицах есть несовместимые переходы классов, поэтому продолжим разбиение.
- Классы троичной совместимости
- Классы четверичной совместимости
- Классы пятеричной совместимости
- При построении нормализованного автомата переход = (Ci, zj) считается неопределённым, если для всех состояний этого класса не определены переходы в другое состояние. Если хотя бы для одного состояния класса переход определён, то в клетку таблицы нормализованного автомата заносится индекс класса, в который переходит цифровой автомат из этого состояния. Таким образом, доопределяются неопределённые переходы исходного автомата. Нормализованный автомат является эквивалентным любому из минимизированных автоматов и не имеет, как минимум, ни одной пары совместимых состояний. В соответствии с изложенной методикой минимизации получаются либо полностью определённые, либо частичные нормализованные автоматы.
- У полностью определённых автоматов класс конечной совместимости не пересекаются, поэтому нормализованный автомат является единственным и процесс минимизации этим заканчивается. В случае получения частичного автомата классы i-совместимости пересекаются. Это приводит к тому, что нормализованный автомат может описываться конечным количеством вариантов таблиц или графов. В случае частичных автоматов часто отказываются от достижения абсолютной минимизации и ограничиваются нахождением нормализованного автомата и его эвристическим доопределением.
- В результате всех преобразований мы получили нормализованный минимизированный автомат, по которому построим граф автомата Мили:
- Структурный синтез цифрового автомата
- Структурный синтез цифрового автомата — это кодирование его входных и переменных и состояний автомата и получение функции возбуждения и функций выходов триггера.
- Задачей этапа структурного синтеза является построение принципиальной схемы автомата из элементарных автоматов заданного типа. Элементарные автоматы подразделяются на два больших класса:
- элементарные автоматы памяти (запоминающие элементы);
- элементарные автоматы без памяти (элементарные комбинационные схемы или логические элементы).
- Задача синтеза цифрового автомата имеет решение в том случае, если система элементарных автоматов является структурно полной.
- Всякая система элементарных автоматов, содержащая элементарный автомат, Мура (триггер) и какую-нибудь функционально полную систему логических элементов является структурно полной системой.
- Если автомат имеет М состояний, то для двоичного структурного алфавита количество триггеров в блоке памяти этого автомата
- n=]log2M[ (1)
- Если в каждую клетку таблицы переходов и выходов записать двоичный код, соответствующий размещённым там состояниям или выходным сигналам цифрового автомата, то таким образом получаются кодированные таблицы переходов и выходов.
- Кодированная таблица выходов является табличным описанием системы булевых функций, реализуемых схемой КСВЫХ. Кодированная таблица переходов только после переработки с использованием матрицы переходов для заданного типа триггеров будет называться кодированной таблицей возбуждений и соответствовать описанию комбинационной схемы КСВХ.
- Таким образом, задача синтеза состоит в определении по таблицам функций выхода и функций возбуждения триггеров заданного типа в блоке памяти, минимизации их для выбранной элементной базы и схемной реализации в функционально полном базисе элементов.
- Выбор триггера
- Комбинационная схема с обратными связями, имеющая два устойчивых состояния и предназначенная для хранения одного бита информации, называется элементарным автоматом или триггером.
- Для синтеза цифровых автоматов триггеры рассматриваются как элементы систем, и важным является изучение его поведения в системе, а не внутренняя структура или принципиальная схема. В этом состоит системотехнический подход к изучению триггеров различных типов.
- Триггер типа RS. Название триггера происходит от английских слов set и reset, он имеет два входа — S для установки триггера в единицу и R для установки его в ноль. Как правило, он имеет два выхода: прямой и инверсный. Если для перевода триггера из одного состояния в другое на установочные входы необходимо подавать не логические единица, а нули, то такой триггер называется триггером с инверсным управлением.
- Рис. 2. Триггеры типа RS с прямым (а) и инверсным (б) управлением
- Триггер типа JK. Триггер типа JK работает также как и триггер RS, с той лишь разницей, что допустима одновременная подача сигналов J=K=1, которая изменяет его состояние на обратное. Вход K эквивалентен входу R, а вход J — входу S.
- Триггер типа D. Название триггера происходит от английского слова «задержка» (delay). Триггер имеет один вход. На выходе он должен повторять сигнал, существовавший на своем входе в предыдущий такт: D-триггеры всегда выпускаются синхронными, так как асинхронный триггер работает просто как повторитель входных сигналов.
- Рис. 3. Условные обозначения JK и D триггера.
- Триггер типа T. триггеры этого типа выпускаются промышленностью как самостоятельные устройства. Они могут быть собраны из триггеров других типов как на рис. 4. логическая единица, приложенная к T-входу триггера, меняет его состояние на обратное.
- Триггер типа RST. Это счетный триггер с двумя установочными входами. Многовходовый триггер в цифровом автомате позволяет упростить его структуру.
- Для решения нашей задачи выберем D-триггер, который имеет всего один вход (D) и на выходе он повторяет сигнал на входе D, существовавший в предыдущем такте автоматного времени.
- Поскольку в пределах периода синхроимпульсов входной сигнал появляется в произвольный момент времени, то на выход входной сигнал проходит с произвольной задержкой, не превышающей длительность периода синхросигнала.
- Представление функции возбуждения
- По формуле (1) рассчитаем необходимое количество разрядов для кодирования: N = ]log223[ = 5 разрядов.
- Если в каждую клетку таблицы переходов и выходов записать двоичный код, соответствующий размещённым там состояниям или выходным сигналам цифрового автомата, то таким образом получаются кодированные таблицы переходов и выходов.
- Кодированная таблица выходов является табличным описанием системы булевых функций, реализуемых схемой КСвых. Кодированная таблица переходов только после переработки с использованием матрицы переходов для заданного типа триггеров будет называться кодированной таблицей возбуждений и соответствовать описанию комбинационной схемы КСВХ. Очевидно, что при кодировании переходов и выходов можно придерживаться двух принципов описания булевых функций. Если желательно получить табличное описание функций выходов с наименьшим количеством единичных значений, то для кодирования часто встречающихся в таблице выходов сигналов следует использовать коды с максимально возможным количеством нулей в коде, а для кодирования следующих по количеству ссылок в таблице выходов сигналов использовать коды с увеличивающимся количеством единиц в кодовых комбинациях. Для кодирования состояний блока памяти на D триггерах также можно использовать этот принцип кодирования, поскольку таблица возбуждений для них совпадает с таблицей переходов. Рекомендовать этот принцип для, всеобщего применения при синтезе автоматов нельзя, так как при минимизации булевых функций возможно получение более простых результирующих форм представления функций, имеющих более сложную запись в СДНФ (Нормальная дизьюктивная форма — это набор переменных без общих отрицаний и скобок. Совершенная НДФ — это когда все наборы переменных имею одинаковую длину. СДНФ — это набор конъюнкций переменных одинаковой длины). Этот принцип можно использовать только в том случае, если ФАЛ выходов и ФАЛ возбуждений для D триггеров не подлежат минимизации, поскольку реализуются на мультиплексорах, дешифраторах или постоянных запоминающих устройствах.
- Второй принцип кодирования соответствует противоположному подходу и ориентирован на возможность получения значительных упрощений ФАЛ в результате минимизации. Для кодирования выходных сигналов с максимальным количеством ссылок в таблице выходов используется код с максимальным количеством единиц, а для кодирования следующих по количеству ссылок в таблице выходных сигналов использовать коды с уменьшающимся количеством единиц в кодовых комбинациях. Этот принцип также без оговорок применим для кодирования состояний блока памяти на D триггерах для случая применения элементной базы, требующей минимизации для своей реализации. Минимальный по материальным затратам вариант кодирования выбирается из конечных результатов при использовании всевозможных вариантов кодирования.
- Таблица переходов D-триггера:
- Для случая D-триггера кодированная таблица возбуждения блока памяти совпадает с кодированной таблицей переходов:
- Выполним конкатенацию кодов входных сигналов и кодов состояний по порядку следования переменных xQ2Q1Q0 и заполним таблицу истинности для функций выхода и возбуждений.
- Поскольку числовая СДНФ форма ФАЛ имеет самую компактную запись и позволяет при необходимости перейти к любому другому описанию этой функции, по таблице истинности функций выходов и входов запишем именно в числовой форме функции выходов Y, D1, D2, D3, D4, D5 от
x Q4Q3Q2Q1Q0.
Десятичные цифры | Входной код 4311 | Выходной код 5311 | |
Десятичные цифры | Входной код 4311 | Выходной код 5311 | |
0000000 | 0000000 | ||
0001000 | 0000001 | ||
0010000 | 0000010 | ||
0011000 | 0000011 | ||
0100000 | 0000100 | ||
0101000 | 0000101 | ||
1000000 | 0001010 | ||
1001000 | 0001011 | ||
1100000 | 0001110 | ||
1101000 | 0001111 | ||
x/a | a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7 | a8 | a9 | a10 | a11 | a12 | a13 | a14 | a15 | a16 | a17 | a18 | a19 | a20 | a21 | |
a1 | a3 | a5 | a7 | a9 | a10 | a11 | a12 | a14 | a16 | a18 | a20 | a22 | a23 | a24 | a25 | a26 | a27 | a28 | a29 | a30 | a31 | ||
a2 | a4 | a6 | a8 | ; | ; | ; | a13 | a15 | a17 | a19 | a21 | ; | ; | ; | ; | ; | ; | ; | ; | ; | ; | ||
x/a | a22 | a23 | a24 | a25 | a26 | a27 | a28 | a29 | a30 | a31 | a32 | a33 | a34 | a35 | a.36 | a37 | a38 | a39 | a40 | a41 | |
a32 | a33 | a34 | a35 | a36 | a37 | a38 | a39 | a40 | a41 | a0 | a0 | a0 | a0 | a0 | a0 | a0 | a0 | a0 | a0 | ||
; | ; | ; | ; | ; | ; | ; | ; | ; | ; | ; | ; | ||||||||||
x/a | a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7 | a8 | a9 | a10 | a11 | a12 | a13 | a14 | a15 | a16 | a17 | a18 | a19 | a20 | a21 | |
; | ; | ; | ; | ; | ; | ; | ; | ; | ; | ; | ; | ; | |||||||||||
x/a | a22 | a23 | a24 | a25 | a26 | a27 | a28 | a29 | a30 | a31 | a32 | a33 | a34 | a35 | a.36 | a37 | a38 | a39 | a40 | a41 | |
; | ; | ; | ; | ; | ; | ; | ; | ; | ; | ; | ; | ||||||||||
Задачей минимизации методом расщепления классов является получение как можно меньшего количества и как можно большей ёмкости классов конечной совместимости.
В классы единичной совместимости поместим:
C1(1) | |||
; | |||
; | |||
; | |||
; | |||
; | |||
; | |||
; | |||
; | |||
; | |||
; | |||
; | |||
; | |||
; | |||
; | |||
; | |||
; | |||
; | |||
; | |||
C2(1) | |||
; | |||
; | |||
; | |||
; | |||
; | |||
; | |||
; | |||
; | |||
; | |||
; | |||
; | |||
; | |||
; | |||
; | |||
; | |||
D1(2) | |||
; | |||
; | |||
; | |||
; | |||
; | |||
D2(2) | |||
; | |||
; | |||
; | |||
; | |||
; | |||
; | |||
; | |||
; | |||
D3(2) | |||
; | |||
; | |||
; | |||
; | |||
; | |||
D5(2) | |||
; | |||
; | |||
; | |||
; | |||
; | |||
D6(2) | |||
; | |||
; | |||
; | |||
; | |||
; | |||
D4(2) | |||
; | |||
; | |||
; | |||
; | |||
; | |||
E10(3) | |||
; | |||
; | |||
; | |||
E12(3) | |||
; | |||
E13(3) | |||
; | |||
E14(3) | |||
; | |||
; | |||
; | |||
E1(3) | |||
; | |||
E2(3) | |||
; | |||
; | |||
E3(3) | |||
; | |||
; | |||
E4(3) | |||
; | |||
; | |||
; | |||
E5(3) | |||
; | |||
; | |||
; | |||
E7(3) | |||
; | |||
; | |||
; | |||
; | |||
; | |||
E8(3) | |||
; | |||
E9(3) | |||
; | |||
E6(3) | |||
; | |||
; | |||
E11(3) | |||
; | |||
; | |||
; | |||
; | |||
; | |||
F21(4) | |||
F22(4) | |||
; | |||
F23(4) | |||
; | |||
F24(4) | |||
; | |||
; | |||
; | |||
F1(4) | |||
F2(4) | |||
F3(4) | |||
F5(4) | |||
; | |||
F6(4) | |||
; | |||
F7(4) | |||
; | |||
F8(4) | |||
; | |||
; | |||
F9(4) | |||
; | |||
F10(4) | |||
F11(4) | |||
; | |||
; | |||
F12(4) | |||
; | |||
F13(4) | |||
; | |||
; | |||
F14(4) | |||
; | |||
; | |||
F15(4) | |||
; | |||
; | |||
; | |||
; | |||
; | |||
F16(4) | |||
F17(4) | |||
; | |||
F18(4) | |||
; | |||
F19(4) | |||
; | |||
; | |||
; | |||
F20(4) | |||
; | |||
; | |||
; | |||
; | |||
; | |||
G1(5) | |||
G2(5) | |||
G3(5) | |||
G4(5) | |||
G5(5) | |||
; | |||
G6(5) | |||
G7(5) | |||
; | |||
G8(5) | |||
G9(5) | |||
; | |||
G10(5) | |||
; | |||
; | |||
G11(5) | |||
; | |||
G12(5) | |||
G13(5) | |||
; | |||
; | |||
G14(5) | |||
; | |||
G15(5) | |||
; | |||
; | |||
G16(5) | |||
; | |||
; | |||
G17(5) | |||
; | |||
; | |||
; | |||
; | |||
; | |||
G18(5) | |||
G19(5) | |||
; | |||
G20(5) | |||
; | |||
G21(5) | |||
; | |||
; | |||
; | |||
G22(5) | |||
; | |||
; | |||
; | |||
; | |||
; | |||
G23(5) | |||
G24(5) | |||
; | |||
G25(5) | |||
; | |||
G26(5) | |||
; | |||
; | |||
; | |||
Таблица состояний и выходов нормализованного автомата
Вх/сост | G1 | G2 | G3 | G4 | G5 | G6 | G7 | G8 | G9 | G10 | G11 | G12 | G13 | |
G2/0 | G3/0 | G4/0 | G5/0 | G10/0 | G11/0 | G12/0 | G13/0 | G16/0 | G17/0 | G18/0 | G20/0 | G21/0 | ||
G6/0 | G7/0 | G8/0 | G9/0 | -/; | G14/0 | -/; | G15/0 | -/; | -/; | -/; | G19/0 | -/; | ||
Вх/сост | G14 | G15 | G16 | G17 | G18 | G19 | G20 | G21 | G23 | G24 | G25 | G26 | ||
G23/0 | G26/0 | G22/0 | G1/0 | G13/0 | G16/0 | G10/1 | G17/1 | G25/1 | G26/1 | G21/0 | G22/1 | |||
-/; | -/; | -/- | -/; | G15/1 | -/- | -/- | -/; | G24/1 | -/; | -/- | -/- | |||
где ].. — ближайшее большее целое число.
Рис. 4. Счетные триггеры
Таблица состояний и выходов нормализованного автомата
Вх/сост | G1 | G2 | G3 | G4 | G5 | G6 | G7 | G8 | G9 | G10 | G11 | G12 | G13 | |
G2/0 | G3/0 | G4/0 | G5/0 | G10/0 | G11/0 | G12/0 | G13/0 | G16/0 | G17/0 | G18/0 | G20/0 | G21/0 | ||
G6/0 | G7/0 | G8/0 | G9/0 | -/; | G14/0 | -/; | G15/0 | -/; | -/; | -/; | G19/0 | -/; | ||
Вх/сост | G14 | G15 | G16 | G17 | G18 | G19 | G20 | G21 | G23 | G24 | G25 | G26 | ||
G23/0 | G26/0 | G22/0 | G1/0 | G13/0 | G16/0 | G10/1 | G17/1 | G25/1 | G26/1 | G21/0 | G22/1 | |||
-/; | -/; | -/- | -/; | G15/1 | -/- | -/- | -/; | G24/1 | -/; | -/- | -/- | |||
Закодируем состояния тремя разрядами:
Состояние/код | Q4Q3Q2Q1Q0 | |
G1 | ||
G2 | ||
G3 | ||
G4 | ||
G5 | ||
G6 | ||
G7 | ||
G8 | ||
G9 | ||
G10 | ||
G11 | ||
G12 | ||
G13 | ||
G14 | ||
G15 | ||
G16 | ||
G17 | ||
G18 | ||
G19 | ||
G20 | ||
G21 | ||
G22 | ||
G23 | ||
G24 | ||
G25 | ||
G26 | ||
Q Q* | D | |
0 0 | ||
0 1 | ||
1 0 | ||
1 1 | ||
Состояние/код | Q4Q3Q2Q1Q0 | |||
D4D3D2D1D0 | D4D3D2D1D0 | |||
G1 | ||||
G2 | ||||
G3 | ||||
G4 | ||||
G5 | ||||
G6 | ||||
G7 | ||||
G8 | ||||
G9 | ||||
G10 | ||||
G11 | ||||
G12 | ||||
G13 | ||||
G14 | ||||
G15 | ||||
G16 | ||||
G17 | ||||
G18 | ||||
G19 | ||||
G20 | ||||
G21 | ||||
G22 | ||||
G23 | ||||
G24 | ||||
G25 | ||||
G26 | ||||
Таблица истинности функций выходов и входов:
XQ4Q3Q2Q1Q0 | D4D3D2D1D0 | Y | |