СТРУКТУРНЫЙ СИНТЕЗ АВТОМАТА МИЛИ
Выполним структурный синтез микропрограммного автомата Мили, заданного своей таблицей переходов-выходов (табл. 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 | a2 | x1 | y1y2 | J2 | ||
a4 | x1 | y3y4 | J3 | |||
a2 | a2 | x3x2 | y1y2 | - | ||
a5 | x3 | y2y3 | J1 | |||
a6 | x3x2 | y4 | J3 | |||
a3 | a4 | y3y4 | K1 | |||
a4 | a1 | x2 | y2 | K3 | ||
a3 | x2 | y1y4 | J1 | |||
a5 | a1 | y2 | K1K2 | |||
a6 | a1 | x4 | - | K2K3 | ||
a2 | 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 + a4x2
5. Для получения функций выходов поступаем аналогично:
y1 = a1x1 + a2x3x2 + a4x2 + a6x4
y2 = a1x1 + a2x3x2 + a2x3 + a4x2 + a5 + a6x4
y3 = a2x3 + a3 + a1x1
y4 = 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.
Дата добавления: 2020-06-09; просмотров: 558;