Синтез микропрограммного управляющего автоматаРефераты >> Программирование и компьютеры >> Синтез микропрограммного управляющего автомата
8.3 Кодирование на D-триггерах
В таблице 15 представлена прямая структурная таблица переходов и выходов автомата Мура. Так как каждому состоянию автомата Мура соответствует свой набор выходных сигналов, то столбец выходных сигналов в таблице помещен следом за столбцом исходных состояний автомата. Проанализируем синтез автомата Мура на D-триггерах.
При кодировании состояний автомата, в качестве элементов памяти которого выбраны D-триггеры, следует стремиться использовать коды с меньшим числом "1" в кодовом слове. Для кодирования 13 состояний (b0, b1, . , b12) необходимо 4 элемента памяти и из множества 4-разрядных двоичных слов надо выбрать код каждого состояния, ориентируясь на граф и таблицу переходов: чем чаще в какое-либо состояние происходят переходы из других состояний, то есть чем чаще оно встречается в столбце bs таблицы, тем меньше в коде этого состояния следует иметь "1". Для этого построим таблицу, в первой строке которой перечислены состояния, в которые есть более одного перехода, а во второй - состояния, из которых осуществляются эти переходы.
Таблица 16
bs |
b0 |
b1 |
b2 |
b3 |
b4 |
b5 |
b6 |
B7 | ||
{bm} |
b0b8b9b11 |
b0 |
b1 |
b2b3 |
b2b3 |
b4 |
b4b5 |
b4b5b6b8 | ||
bs |
b8 |
b9 |
b10 |
b11 |
b12 | |||||
{bm} |
b4b5b6b7b8 |
b8b9 |
b8b9b10b12 |
b8b9b10b12 |
b1b4 | |||||
Коды состояний автомата определим по выше описанному методу кодирования состояний при использовании D-триггеров.
Таблица 17
b |
b0 |
b1 |
b2 |
b3 |
b4 |
b5 |
b6 |
K(b) |
0001 |
0111 |
1110 |
1010 |
0110 |
1100 |
0101 |
b |
b7 |
b8 |
b9 |
b10 |
b11 |
b12 | |
K(b) |
0010 |
0000 |
1001 |
0100 |
1000 |
0011 |
8.4 Получение логических выражений для функций возбуждения D-триггеров и функций выходов.
Далее коды состояний заносим в соответствующие столбцы прямой таблицы переходов (таблица 15) и по известному правилу формируем логические выражения для функций возбуждения.
D1= b1x2 v b2x1 v b3x1 v b4x2 v b8x6x7 v b8x6x7x8x9 v b9x7 v b10x9 v b12x9
D2= b0x1 v b1x2 v b2x1 v b3x1 v b4x2(x3 v x3x4) v b5x4 v b8x6x7x8x9 v b9x7x8x9 v b10x9 v
v b12x9
D3= b0x1 v b1 v b2 v b3 v b4x2x3x4x5 v b4x2 v b5x4x5 v b6x5 v b8x6x4
D4= b0 v b1x2 v b4x2x3x4 v b4x2 v b5x4 v b8x6(x7x8 v x7) v b9(x7x8 v x7) v b11
Так как для автомата Мура функции выходов не зависят от входных сигналов, то в соответствии со вторым столбцом таблицы 15 записываем логические выражения для управляющих сигналов.
y1= b1 v b12
y2= b1 v b4
y3= b1 v b5 v b12
y4= b2 v b6 v b7
y5= b8
y6= b2 v b6
y7= b9
y8=b11
Выделив общие части получаем:
d=b2 v b6
g=b0x1
h=b1x2
i=b4x2
j=x4x5
k=b4x2x3
m=b8x6
n=x7x8
r=b2 v b3
q=mvb9
D1= h v x1r v k v m(x7 v nx9) v b9x7 v b10x9 v b12x9
D2= g v h v x1r v i(x3 v x3x4) v b5x4 v nx9q v x9(b10 v b12)
D3= g v b1 v r v j(k v b5) v x5(b6 v b8x6)
D4= b0 v x2(b1 v b4) v x4(k v b5) v (x7x8 v x7)q v b11
y4= d v b7
y6= d
Цена комбинационной схемы по Квайну для автомата Мура, построенного на D-триггерах, равна С =109, причем в схеме предполагается использовать 4-входовой дешифратор.
8.5 Кодирование на RS-триггерах
Однако в качестве элементов памяти возможно использование не только D-триггеров, также используются RS-триггеры. Для этого сначала выпишем матрицу М - матрицу всех возможных переходов автомата. Состояниям автомата b0 и b1 присвоим коды: К(b0)=0000, К(b1)=0001. Далее из матрицы М составим подматрицу М2, в которую запишем переходы из 2 состояния. В множество В2 выпишем коды уже закодированных состояний, а в множество C0 и C1 коды с кодовым расстоянием "1" от кодов В2. Для матрицы М2 не имеет значения какой из кодов выбрать, пусть кодом b2 будет 0011. Закодировав состояние b2, выпишем матрицу М3 для кодирования следующего состояния автомата. Кодирование состояния b3 аналогично b2, причем для определения наиболее выгодного кода будем находить суммы кодовых расстояний между множествами Вi и Di. Код с наименьшей суммой и является наиболее оптимальным, когда все суммы получились одинаковыми выбираем любой код и кодируем это состояние.