Модуль 7

advertisement
Модуль 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-триггерах с отрицательным QtQt+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
Download