Реферат: Синтез микропрограммного управляющего автомата
7 Синтез МПА в соответствии с моделью Мили
7.1 Построение графа автомата
На основе отмеченной ГСА построен граф автомата Мили (рисунок 4). Граф автомата Мили имеет 10 вершин, соответствующих состояниям автомата а0 , а1 ,...,а9 , дуги его отмечены входными сигналами, действующими на каждом переходе (числитель), и набором выходных сигналов, вырабатываемых УА на данном переходе (знаменатель).
Из приведенного рисунка видно, что с увеличением количества состояний автомата наглядность графа теряется и больше удобств представляет табличный способ задания автомата.
7.2 Построение структурной таблицы переходов и выходов
Таблица 7. Прямая структурная таблица переходов и выходов автомата Мили.
Исходное состояние | Код am | Состояние перехода as | Код as | Входной сигнал X(am ,as ) | Выходные сигналы Y(am ,as ) | Функции возбуждения D-триггеров |
a0 | 0001 | a0 a1 | 0001 0011 | X1 X1 | - Y1(y1,y2,y3) | D4 D3D4 |
a1 | 0011 | a2 a9 | 0010 0000 | X2 X2 | Y6(y4,y6) Y9(y1,y3) | D3 |
a2 | 0010 | a2 a3 | 0010 0110 | X1 X1 | - Y2(y2) | D3 D2D3 |
a3 | 0110 | a4 a4 a9 | 1100 1100 0000 | X2X3 X2X3 X2 | - Y3(y3) Y9(y1,y3) | D1D2 D1D2 |
a4 | 1100 | a5 a5 | 0100 0100 | X4 X4 | - Y6(y4,y6) | D2 D2 |
a5 | 0100 | a6 a6 | 0101 0101 | X5 X5 | - Y4(y4) | D2D4 D2D4 |
a6 | 0101 | a7 | 1001 | 1 | Y5(y5) | D1D4 |
a7 | 1001 | a5 a8 | 0100 1000 | X6 X6 | - - | D2 D1 |
a8 | 1000 | a0 a8 a9 | 0001 1000 0000 | X7X8 X7 X7X8 | - Y7(y7) - | D4 D1 |
a9 | 0000 | a0 a9 | 0001 0000 | X9 X9 | - Y8(y8) | D4 |
7.3 Кодирование на D-триггерах
При кодировании состояний автомата, в качестве элементов памятикоторого выбраны D-триггеры, следует стремится использовать кодыс меньшим числом "1" в кодовом слове.Для кодирования 10 состояний (a0 ,…, a10 ) необходимо 4 элемента памяти и из множества 4-разрядных двоичных слов надо выбрать код каждого состояния, ориентируясь на граф и таблицу переходов: чем чаще в какое-либо состояние происходят переходы из других состояний, то есть чем чаще оно встречается в столбце as таблицы 7, тем меньше в коде этого состояния следует иметь "1". Для этого построим таблицу 8, в первой строке которой перечислены состояния, в которые есть более одного перехода, а во второй - состояния, из которых осуществляются эти переходы.
Таблица 8
As | a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7 | a8 | a9 |
{am } | A0a8a9 | a0 | a1a2 | a2 | a3 | a4a7 | a5 | a6 | a7a8 | a1a3a8a9 |
Наибольшее количество переходов в состояние a9 - закодируем его кодом К(a9)=0000. Состояниям a0, a2, a5, a8 назначим коды с одной "1": K(a0) =0001, К(a2) =0010, К(a5)=0100, К(a8)=1000. Для кодирования других состояний будем использовать слова с двумя "1" в кодовом слове, К(a1)=0011, К(a3)=0110, К(a4)=1100, К(a6)=0101, К(a7)=1001, стараясь, насколько возможно, использовать соседние с as коды для состояний, находящихся в одном столбце таблицы 7.
Кодирования для D-триггеров изображены в таблице 9.
Таблица 9
As | a0 | a1 | a2 | a3 | a4 | a5 | a6 | a7 | a8 | A9 |
K{as } | 0001 | 0011 | 0010 | 0110 | 1100 | 0100 | 0101 | 1001 | 1000 | 0000 |
Далее коды состояний заносим в соответствующие столбцы прямойтаблицы переходов (таблица 7) и формируем логические выражениядля функций возбуждения.
7.4 Получение логических выражений для функций возбуждения D-триггеров
Логические выражения для каждой функции возбуждения D-триггераполучают по таблице как конъюнкции соответствующих исходных состояний am и входных сигналов, которые объединены знаками дизъюнкции для всех строк, содержащих данную функцию возбуждения.
D1= a3x2va6va7x6va8x7
D2= a2x1va3x2va4va5va7x6
D3= a0x1va1x2va2
D4= a0va5va6va8x7x8va9x9
Аналогично составляются логические выражения для функций выходов.
y1= a0x1va1x2va3x2
y2= a0x1va2x1
y3= a0x1va1x2va3x2x3va3x2
y4= a1x2va4x4va5x5
y5= a6
y6= a1x2va4x4
y7= a8x7
y8=a9x9
После выделения общих частей в логических выражениях и некоторогоих упрощения получаем логические уравнения для построения функциональной схемы управляющего автомата.