Модуль 7. Синтез микропрограммных автоматов с жёсткой логикой 1. Преобразование граф - схемы алгоритма (ГСА) в граф автомата Мили 2. Реализация ГСА в тактах автомата Мили 3. Преобразование ГСА в граф автомата Мура 4. Реализация ГСА в тактах автомата Мура 5. Интерпретационный метод синтеза микропрограммных управляющих автоматов (УА) на основе структурной таблицы 6. Синтез УА Мили 7. Синтез УА Мура 8. Контрольные вопросы Теория автоматов. Модуль 7 1/21 Преобразование граф - схемы алгоритма (ГСА) в граф автомата Мили Y0 Начало a1 Пуск Y1 0 a2 x1 0 1 Автомату Мили свойственен следующий закон функционирования Y3 x3 a1 Yk Конец x2 1 a3 a4 a( t + 1 ) = δ( a( t ), X ( t )) Y ( t ) = λ( a( t ), X ( t )) 1 0 Y2 Как отмечалось в предыдущем 6-м модуле, ГСА (функция УА) представляет собой кодированную форму графа микропрограммы (МП) и получается путем замены микрокоманд, указанных в операторных вершинах, управляющими сигналами Yt, а флагов условий в условных вершинах - логическими условиями xk (сигнал ПУСК также относится к множеству X={xk}). Y4 0 Где A={a1, …, aM} – множество состояний автомата, каждое из которых задаётся комбинацией триггеров Q1, … , QR ; X(t)={x1, …, xk} представляет собой вектор входных двоичных переменных (логических условий); Y(t)=Yt – принадлежит множеству управляющей последовательности микрокоманд для заданной микропрограммы, например, {Y2, Y5, …,}. Набор микроопераций выполняемых одновременно за один такт автоматного времени, образует микрокоманду Yt (t =1, … , T), которая и составляет содержимое операторных вершин графа МП. В ГСА каждая микрокоманда Yt отождествляется с управляющим сигналом, имеющим то же обозначение. Теория автоматов. Модуль 7 2/21 Правило разметки для интерпретация ГСА автоматом Мили Пуск a1 Пуск / Y1 a2 x 1 / Y2 – символом a1 отмечается вход вершины, следующей за начальной, а также вход конечной вершины; – входы вершин, следующих за операторными, отмечаются символами a2 , a3 , ... аm , при этом входам различных x 1x 2 / Y 4 вершин даются различные символы. Если отметкам a1, ..., am поставить в соответствие вершины графа и соединить их дугами, число и направление которых определяется всевозможными переходами между одноименными отметками ГСА, то x1x 2 получим граф автомата Мили. Каждый переход может включать произвольное число условных вершин, но не более одной операторной. Каждая дуга помечается символом xk (без инверсии, a3 Y3 x3 a4 x3 если путь проходит через выход условной вершины, отмеченный символом "1") и выходным сигналом Yt , если путь проходит через операторную вершину. Теория автоматов. Модуль 7 3/21 Корректность полученного графа автомата Пуск a1 Пуск / Y1 a2 x 1 / Y2 Корректность графа автомата определяется выполнением условий для функций перехода. Рассмотрим выполнение этих условий для функции перехода, помечены выходные дуги вершины : x 1x 2 / Yкоторыми 4 - Свойство ортогональности (из всего множества выходов из вершины а2 реализуется только один) x1x 2 a3 a4 - Свойство полноты (выход из вершины а2 обязательно будет реализован) x1 x2 x1 x2 x1 1 Y3 x3 x1 * x1 x2 0, x1 * x1 x2 0, x1 x2 * x1 x2 0 x3 Теория автоматов. Модуль 7 4/21 Реализация ГСА в тактах автомата Мили Работа автомата по выполнению микропрограммы является циклической, поэтому рассмотрим его функционирование в течение одного машинного такта, совпадающего с одним тактом синхронизации сигнала СLK. Будем также считать, что временные такты работы УА и операционного автомата (ОА) совпадают во времени. Функционирование ГСА для первых 2-х тактов автомата Мили, а также временные диаграммы работы УА с ОА в течение i-го такта приведены на следующих слайдах. Теория автоматов. Модуль 7 5/21 Y0 Функционирование ГСА для первых 2-х тактов Начало a1 Пуск Y1 В течение 1-го такта сохраняется состояние a1. В начале такта (срез сигнала Clk), при условии Пуск=1, вырабатывается выходной упр. сигнал Y1 и сигналы возбуждения триггеров памяти автомата, которые обеспечат переключение автомата в состояние a2 при смене такта. Прежде, чем синхросигнал Clk переведёт УА из состояния a1 → a2 из ОА должны быть получены признаки условий x1 и x2 на основе 0 1 1 такт выполнения им микрокоманды Y1. a2 В начале 2-го такта по срезу сигнала Clk УА переходит в состояние a2 , которое сохраняется неизменным в течение всего такта, также как и значения признаков x1 и x2 , независимо от условий выполнения ОА микрокоманды Y2 или Y4 . Это главная особенность (независимость 2 такт 0 x1 1 0 Y2 1 x2 Y4 признаков, выработанных в предыдущем такте, от результатов выполнения МК в следующем такте) функционирования автомата Мили. Её невыполнение приведёт к сбою в работе УА. На основе известных значений признаков x1 и x2 УА выработает сигнал Y2 (если x1=0) и сигналы возбуждения триггеров , обеспечивающих переключение автомата a2 →a3 (при x1=1 & x2=0 сигнал Y2 не вырабатывается), или сигнал Y4 и сигналы возбуждения триггеров (i=2) , обеспечивающих переключение автомата a2→a1 , если x1=1 и x2 =1. ОА, выполнив МК (Y2 или Y4 ), установит в конце такта (Clk=1) значения, соответствующих выполненной МК признаков условий x1 и x 2. Теория автоматов. Модуль 7 6/21 Временные диаграммы работы УА Мили с ОА в течение такта Clk ОА i- ый такт работы УА и ОА Семейство X (i-1), выработанных ОА в i-1 такте для i такта УА Выполнение ОА МК Yt(i) в i -такте УА УА ОА ai , Y t (i ) (i ) X Неопр-Сост (i ) для i +1 Фиксация ОА признаков X (i) для (i+1) такта Теория автоматов. Модуль 7 7/21 Преобразование ГСА в граф автомата Мура Y0 Начало a1 Пуск Y1 0 x1 0 1 a2 Y2 a3 Y3 a4 Пуск a1 1 0 x3 Поскольку в автомате Мура выходные МК Yt связаны только с состояниями автомата, то каждой операторной вершине графа ГСА следует поставить в соответствие одно из состояний a2, a3, ... . Символом a1 помечаются начальная и конечная вершины. Пуск x2 a2 / Y1 1 Y4 a5 x 1x 2 x1 a3 / Y2 0 a5 / Y 4 x1x 2 x3 Yk Конец a1 a 4 / Y3 В отличие от графа автомата Мили, в графе автомата Мура выходные сигналы помещаются внутри кружка вместе с состоянием aj. В общем случае автомат Мура имеет большее число состояний, чем автомат Мили, поэтому его реализация требует больших аппаратных затрат. x3 Теория автоматов. Модуль 7 8/21 Реализация ГСА в тактах автомата Мура В силу цикличности работы автомата по выполнению микропрограммы рассмотрим его функционирование в течение одного машинного такта, совпадающего с одним тактом синхронизации сигнала СLK (начало такта задаётся срезом сигнала СLK) Y0 Начало a1 1 такт Пуск 0 1 a2 Y1 В момент среза сигнала Clk устанавливается состояние a2, которое сохраняется в течение всего 2-го такта. УА в начале такта должен выработать МК Y1 . По окончанию выполнения МК Y1 ОА (Clk=1) вырабатываются признаки условия x1 и x2 ,на основании которых в УА формируются сигналы возбуждения триггеров (i ) (i=2) для реализации одного из переходов: 2 такт 0 x1 Состояние a1 и сигнал Пуск сохраняются в течение всего 1-го такта. Выходной сигнал (МК) в 1-м такте автомата Мура не вырабатывается. В конце такта в УА должны быть сформированы сигналы возбуждения (i )(i=1) триггеров для перехода автомата из состояния a1 → a2 1 0 x2 1 Y2 a3 Y3 a2 → a3 , a2 → a4 , a2 → a5 . a4 Y4 a5 Теория автоматов. Модуль 7 9/21 Временные диаграммы работы УА Мура с ОА в течение такта. i- ый такт работы УА и ОА Clk Выполнение ОА МК Yt(i) в i -такте ai УА ОА УА X (i -1) (i -1) Фиксация ОА признаков X (i) для i такта Y t (i ) для ОА Н-Сост Н-Сост Теория автоматов. Модуль 7 X (i ) (i ) 10/21 Интерпретационный метод синтез УА на основе структурной таблицы Канонический метод синтеза структурного автомата (Мили или Мура) на основе таблицы истинности для выходных сигналов и сигналов возбуждения триггеров является универсальным методом, позволяющим получить схему автомата с минимальными аппаратными затратами. Однако этот метод становится трудоёмким для реализации ГСА с большим числом операторных вершин, порождающих автоматы с большим числом состояний. В таких случаях используется интерпретационный метод синтез УА на основе структурной таблицы. Исходной информацией для составления структурной таблицы является граф автомата Мура или Мили, представленный в стандартной форме. Дальнейшие этапы синтеза схемы автомата включают следующие этапы: 1. Кодирование состояний автомата с использованием какого-либо способа. 2. Выбор типа триггера 3. Составление структурной таблицы (прямой или обратной) 4. Запись логических выражений для выходных сигналов управления Yt и сигналов возбуждения триггеров φj . 5. Составление структурной схемы автомата. При этом элементы структуры автомата как бы моделируют содержательную часть столбцов структурной таблицы (этот момент предопределил название метода).. 6. Построение функциональной схемы. Теория автоматов. Модуль 7 11/21 Синтез УА Мили на основе прямой структурной таблицы 1. Кодирование состояний автомата. Рассмотренная выше структура (топология) графа автомата Мили очень простая, и полностью удовлетворят требованиям соседнего кодирования. Q1 Пуск a1 Пуск / Y1 x 1x 2 / Y 4 a2 x 1 / Y2 x1x 2 Y3 a4 K (a1 ) = Q1Q 2 = 00 1 a2 a3 0 a1 a4 0 a3 x3 Таким образом: x3 K (a 2 ) = Q1Q 2 = 10 Q2 1 2. Выбор типа триггера. Используемые триггеры должны быть синхронного типа с динамическим управлением записью информации, Кроме того триггеры должны тактироваться срезом сигнала Clk, если мы хотим оставить принцип синхронизации, указанный на временных диаграммах. Выбираем синхронный D –триггер SN 7474, дополнив его инвертором в цепи синхронизации. Теория автоматов. Модуль 7 K (a 3 ) = Q1Q 2 = 11 K (a 4 ) = Q1Q 2 = 01 Триггерный словарь Dтриггера Qt → Qt +1 D t 0 0 1 1 0 1 0 1 0 1 0 1 12/21 3. Составление структурной таблицы автомата Мили В прямой структурной таблицы, в графе «Исходные состояния» перечисляются все состояния автомата, начиная с первого (в обратной таблице указанная последовательность перечисления состояний автомата производится в графе «Состояния переходов»). Переход автомата из состояния am в aS контролируется частной функцией перехода Fi(am, aS) = am X(am, aS), которая и определяет значения выходных сигналов Yt и функций возбуждения φi для каждого перехода. Код Код сост. Исходные Состояния № исход.сост переходов перехода состояние перехода K (am)= K (as)= a a m s Q1Q2 Выходные Сигналы Сигналы Возбуждения Fi (am, as) Yi(am, as) φi (am, as) 00 a1 00 a1 пуск - - 00 a2 10 a1пуск Y1 D1 10 a1 00 a2 x1x2 Y4 - 4 10 a3 11 a2x 1 x 2 - D1 D2 5 10 a3 11 a2 x 1 Y2 D1 D2 1 a1 Q1Q2 Частные функции перехода 2 3 a2 6 a3 11 a4 01 a3 Y3 D2 7 a4 01 a4 01 a4 x 3 - D2 01 a1 00 a4 x3 - - 8 Теория автоматов. Модуль 7 13/21 4. Запись логических выражений для выходных сигналов управления Yt и сигналов возбуждения триггеров φj Дополнение к П.3. В колонке «Сигналы возбуждения φi (am, as)» выписываются значения Di , принимающие единичные значения. Аналитические выражения для определения функций Yt и i записываются на основе объединения по ИЛИ соответствующих функций переходов (в данной таблице отсутствуют одинаковые выходные сигналы для разных функций перехода). Выходные сигналы управления Y1=F2=a1&пуск Y 2 = F5 = a 2 x 1 Y3=F6=a3 Y4=F3=a2x1x2 Сигналы возбуждения триггеров D1 = F2 ∨ F 4 ∨ F5 = a2Пуск ∨ a2 (x 1 ∨ x 2 ) D2 = F 4 ∨ F5 ∨ F6 ∨ F7 = a2 (x 1 ∨ x 2 )∨ a3 ∨ a 4 x 3 Теория автоматов. Модуль 7 14/21 5. Составление структурной схемы автомата Мили Структурная схема управляющего автомата Мили включает три составные части: регистр состояний (состоит из триггеров, которые были выбраны перед составлением структурной таблицы), дешифратор состояний и комбинационной части, предназначенной для реализации выражений для выходных сигналов управления Yt и сигналов возбуждения триггеров. ПУСК, X={x1, x2, …, xk} KC - Y Уст . сост. " a1" a Q1 CLK RG . . . QR DC Yt 1 . . . aM KC - Сигналы возбуждения триггеров Теория автоматов. Модуль 7 15/21 6. Построение функциональной схемы Здесь ограничимся лишь двумя фрагментами структурной схемы, связанными с регистром состояний автомата и схемой задания входных управляющих сигналов для отладки и проверки работоспособности автомата Уст . сост. " a1" D2 D C Q2 (мл ) T2 R D1 D T Q1 (ст ) 1 C От WG 1 DC 1 2 E R 0 2 3 Q 1Q 2 = a 1 Q1 Q1Q 2 = a 4 Q 1Q 2 = a 2 Q1Q 2 = a 3 1 a2 a3 0 a1 a4 Q2 1 0 Clk " 1" Q1 Q2 Ключ Пуск Уст . сост. " a1" XWG CLK x1 x2 Y1 Y2 Y3 Y4 Схема автомата Индикация для a 2 x 1 = 1 , Y2 1 Data Ready Схема задания входных управляющих сигналов для отладки и проверки работоспособности автомата Теория автоматов. Модуль 7 16/21 Синтез УА Мура на основе прямой структурной таблицы 1. Кодирование состояний автомата (5 состояний – 3 триггера) с использованием какого-либо способа. Выберем способ приоритетного кодирования логически смежных состояний. Правило 1. Два или группа состояний автомата из которых возможны переходы в одно и тоже третье состояние, называются логически смежными (ЛСС-1). Правило 2. Два или группа состояний, в которые может быть осуществлён переход из одного какого-либо состояния, также называются логически смежными (ЛСС-2) Пуск a1 Пуск a2 / Y1 x 1x 2 a5 / Y 4 Таким образом, имеем. ЛСС-1: (2,3); (4,5). ЛСС-2: (3,4,5) Следовательно: x1 k (a1 ) = Q1Q2Q3 = 000 Q1 a3 / Y2 x1x 2 x3 1 0 a 4 / Y3 x3 5 4 1 2 3 00 01 11 K (a2 ) = Q1Q2Q3 = 001 K (a 3 ) = Q1Q2Q3 = 011 K (a 4 ) = Q1Q 2Q 3 = 111 10 Q2Q3 Теория автоматов. Модуль 7 K (a5 ) = Q1Q2Q3 = 101 17/21 2 & 3. Выбор типа триггера и составление структурной таблицы Память состояний автомата Мура выполним на JK-триггерах с отрицательным QtQt+1 фронтом синхронизации типа SN 7473. Структурная табл. автомата Мура имеет на один столбец меньше, т.к. ВЫХОДНОЙ СИГНАЛ Y(am) и ИСХОДНЫЕ 0 0 СОСТОЯНИЯ объединены в одном столбце. В колонке «Сигналы возбуждения 0 1 φi (am, as)» выписываются значения Ji и Ki , принимающие единичные 1 0 значения. 1 1 Исход.cост./ № сигнал перехода Вых. a /Y(a ) m 1 m a1 Код исход.сост K (am)= Q1Q2Q3 000 2 3 4 5 6 7 8 9 a2/Y1 a3/Y2 a4/Y3 a5/Y4 001 011 111 101 Состояния переходов as a1 a2 a3 a4 a5 a4 a4 a1 a1 Код сост. перехода K (as)= Q1Q2Q3 000 Частные функции перехода Fi (am, as) a1Пуск 011 111 101 111 111 a2 x 1 Теория автоматов. Модуль 7 Kt 0 1 * * * * 1 0 Сигналы возбуждения φi (am, as) a1 Пуск 001 000 000 Jt a2x 1 x 2 a2x1x2 a3 J3 J2 J1, J2 J1 J1 a4 x 3 a4x3 a5 K1, K2, K3 K1, K3 18/21 4 & 5. Запись логических выражений для выходных сигналов управления Yt и сигналов возбуждения триггеров φj . Составление структурной схемы автомата Мура. 4. Запись логических выражений для выходных сигналов управления Yt и сигналов возбуждения триггеров φj . Аналитические выражения для определения функций Yt и i для автомата Мура записываются на основе объединения по ИЛИ соответствующих функций переходов, т.е. также как это было показано для автомата Мили. 5. Составление структурной схемы автомата Мура. Схема имеет отличия от схемы автомата Мили лишь в части формирования выходных сигналов Yt , которые зачастую представляют собой выходы дешифратора DC ПУСК, Уст . сост. " a1" CLK RG X={x1, x2, …, xk} KC - a1 Q1 . . . QR DC . . . aM KC - Y Выходные сигналы управления Сигналы возбуждения триггеров Теория автоматов. Модуль 7 19/21 5. Построение функциональной схемы. Здесь ограничимся рассмотрением лишь интерфейса регистра состояний и дешифратора состояний. Уст . сост. " a1" SN7473 J3 K3 T3 J C K R J C K От WG CLK J1 1 K1 T2 Q3 (мл ) Q2 1 DC 2 K R Q1 (ст ) 2 3 4 R J T1 C 0 1 4 5 E 7 Q1 Q2 Q3 a1 Q1Q2Q3 a2 Y1 Q1Q2Q3 a3 Y2 В КС, для формирования сигналов возбуждения Q1 Q 2Q3 a5 (Y4 ) Q1Q2 Q3 a4 Y3 Теория автоматов. Модуль 7 от КС 20/21 Контрольные вопросы 1. Изложите правила разметки ГСА с целью преобразования её в граф автомата Мили. 2. Как определяется корректность полученного графа автомата. 3. Какова важная особенность функционирования автомата Мили в течение машинного такта 4. Изложите правила разметки ГСА с целью преобразования её в граф автомата Мура. 5. Назовите этапы синтеза схемы управляющего автомата Мили (Мура) на основе использования структурных таблиц. 6. Нарисуйте форму прямой (обратной) структурной таблицы для автомата Мили. 7. Нарисуйте структурную схему автомата Мили. 8. В чём отличие формы структурной таблицы для синтеза автомата Мура от соответствующей таблицы для автомата Мили. Теория автоматов. Модуль 7 21/21