Табл. 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 | K1K2 |
a6 | 011 | a1 | 000 | x4 | - | K2K3 |
a2 | 010 | x4 | y1y2 | K3 |
4. Для получения функций возбуждения поступаем следующим образом. Выражение для каждой функции получается в виде логической суммы произведений вида aiX, где ai - исходное состояние, X-условие перехода. Для упрощения полученных выражений выполняем все возможные операции склеивания и поглощения:
J1 = a2x3 + a4x2 K1 = a3 + a5 J2 = a1x1 K2 = a5 + a6x4 J3 = a1x1 + a2x3x2 K3 = a4x2 + a6x4 + a6x4 = a6 + a4x25. Для получения функций выходов поступаем аналогично:
y1 = a1x1 + a2x3x2 + a4x2 + a6x4 y2 = a1x1 + a2x3x2 + a2x3 + a4x2 + a5 + a6x4 y3 = a2x3 + a3 + a1x1y4 = a1x1 + a2x3x2 + a3 + a4x2
6. Для построения функциональной схемы автомата по полученным выражениям необходимо либо заменить ai его значениями через Q1Q2Q3 либо получить сигнал, соответствующий ai. Обычно используют второй способ и для получения сигнала ai применяют так называемый дешифратор состояний, на вход которого поступают сигналы с выходов элементов памяти Q1Q2Q3. Кроме того, при построении схемы стараются выделить общие части, встречающиеся в функциях возбуждения или выходных сигналах. В этом случае окончательная система уравнений, по которым строится схема, будет иметь вид:
A = a2x3x2+J2 ; J1 = D + B ; y1 = A + B + E ;B = a4x2 ; K1 = a3 + a5; y2 = A + D + C + a5 + E ;
C = a4x2 ; J2 = a1x1 ; y3 = D + F + a3 ; D = a2x3 ; K2 = a5 + a6x4 ; y4 = a3 + B + J3;E = a1x1 ; K3 = a6 + C ;
F = a1x1 J3 = F+a2x3x2
Функциональная схема автомата, построенная на основании полученных уравнений, представлена на рис. 58.
СТРУКТУРНЫЙ СИНТЕЗ АВТОМАТА МУРА
Выполним структурный синтез микропрограммного автомата Мура, заданного своей таблицей переходов-выходов (табл.29 или табл. 30). В качестве примера синтез будем выполнять по обратной таблице (табл. 32).
1. В исходном автомате количество состояний М=7, следовательно число элементов памяти
m = ] log 2 M [ = ] log 2 7 [ = 3
Пусть для синтеза используется D-триггеры.
2. Кодируем внутренние состояния автомата, используя алгоритм кодирования для D-триггеров. Количество переходов в данное состояние легко определяется из обратной таблицы: a1 ~ 2, a2 ~ 3, a3 ~ 2, a4 ~ 1, a5 ~ 1, a6 ~ 1, a7 ~ 2.
Поэтому коды состояний следующие:
a2-000, a1-001, a3-010, a7-100, a4-011, a5-101, a6-110.
3. Строим структурную таблицу переходов - выходов автомата Мура.
Табл. 32. Структурная таблица переходов - выходов автомата Мура.
am | K(am) | as(Y) | K(as) | X | ФВ |
a6 | 110 | a1(-) | 001 | x4 | D3 |
a7 | 100 | 1 | D3 | ||
a1 | 001 | a2(y1y2) | 000 | x1 | - |
a2 | 000 | x3x2 | |||
a6 | 110 | x4 | |||
a1 | 001 | a3(y3y4) | 010 | x1 | D2 |
a4 | 011 | 1 | D2 | ||
a3 | 010 | a4(y1y4) | 011 | x2 | D2D3 |
a2 | 000 | a5(y2y3) | 101 | x3 | D1D3 |
a2 | 000 | a6(y4) | 110 | x3x2 | D1D2 |
a3 | 010 | a7(y2) | 100 | x2 | D1 |
a5 | 101 | 1 | D1 |
Построение таблицы выполняется аналогично автомату Мили.