Синтез микропрограммного управляющего автомата
Рефераты >> Программирование и компьютеры >> Синтез микропрограммного управляющего автомата

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. Код с наименьшей суммой и является наиболее оптимальным, когда все суммы получились одинаковыми выбираем любой код и кодируем это состояние.


Страница: