|
x3 x2 |
|
a1 |
a2(y1y2) |
x1 |
|
a5 |
x3 |
|
a2 |
|
x3 x2 |
|
a6 |
x3 x2 |
|
a6 |
|
x4 |
|
a3(y3y4) |
a4 |
x2 |
|
a1 |
a3(y3y4) |
x1 |
|
a7 |
x2 |
|
a4 |
|
1 |
a4(y1y4) |
a3 |
1 |
|
a3 |
a4(y1y4) |
x2 |
a5(y2y3) |
a7 |
1 |
|
a2 |
a5(y2y3) |
x3 |
a6(y4) |
a1 |
x4 |
|
a2 |
a6(y4) |
x3 x2 |
|
a2 |
x4 |
|
a3 |
a7(y2) |
x2 |
a7(y2) |
a1 |
1 |
|
a5 |
|
1 |
Получением графа или таблиц переходов-выходов заканчивается этап абстрактного синтеза микропрограммного автомата. Как и для конечных автоматов, на этапе абстрактного синтеза можно выполнить минимизацию количества внутренних состояний автомата.
СТРУКТУРНЫЙ СИНТЕЗ МИКРОПРОГРАММНЫХ АВТОМАТОВ
Структурный синтез микропрограммных автоматов после получения графа или таблицы переходов-выходов в принципе аналогичен каноническому методу синтеза цифровых автоматов, рассмотренному ранее. Однако существуют и определенные особенности в первую очередь связанные с тем, что для реальных автоматов количество элементов памяти и входных сигналов может достигать десяти и более. Функции возбуждения и выходных сигналов трудно поддаются минимизации да и практически минимизация не дает существенного упрощения этих функций при большом количестве переменных. Поэтому минимизация практически не используется при синтезе микропрограммных автоматов.
При выполнении структурного синтеза строят так называемые структурные таблицы переходов и выходов, которые также могут быть как прямыми так и обратными.
Рассмотрим этапы структурного синтеза на конкретных примерах.
СТРУКТУРНЫЙ СИНТЕЗ АВТОМАТА МИЛИ
Выполним структурный синтез микропрограммного автомата Мили, заданного своей таблицей переходов-выходов (табл. 27 или табл. 28). В качестве примера синтез будем выполнять по прямой таблице (табл. 27).
1. В исходном автомате количество состояний М=6, следовательно, число элементов памяти
m = ] log 2 M [ = ] log 2 6 [ = 3.
Пусть для синтеза используются JK триггеры.
2. Кодируем внутренние состояния автомата, используя для этого карту Карно (рис.57.) и по возможности метод соседнего кодирования. Рекомендуется самостоятельно закодировать состояние с помощью эвристического алгоритма.
3. Строим прямую структурную таблицу переходов-выходов автомата Мили (табл. 31). В данной таблице в столбцах k(am) и k(as) указывается код исходного состояния и состояния перехода соответственно. В столбце функций возбуждения ФВ указывается те значения функций возбуждения, которые на данном переходе обязательно равны 1. Остальные (т.е. равные 0 или принимающие неопределенные значения) не указываются. Это эквивалентно тому, что всем неопределенным значениям функций возбуждения приписывается значение 0, что в общем случае не дает минимальной функции, однако в реальных автоматах минимизация обычно не делается в виду ее неэффективности. Предлагается самостоятельно построить структурную таблицу переходов с указанием всех значений функций возбуждения (в том числе и неопределенных), выполнить минимизацию и сравнить результаты с приведенными ниже.
Табл. 31. Структурная таблица переходов-выходов автомата Мили.
Am
K(am)
as
K(as)
X
Y
ФВ
a1
000
a2
010
x1
y1y2
J2
a4
001
x1
y3y4
J3
a2
010
a2
010
x3x2
y1y2
-
a5
110
x3
y2y3
J1
a6
011
x3x2
y4
J3
a3
101
a4
001
1
y3y4
K1
a4
001
a1
000
x2
y2
K3
a3
101
x2
y1y4
J1
a5
110
a1
000
1
y2
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21
При использовании материалов активная ссылка на источник обязательна.