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

Из приведенного рисунка видно, что с увеличением количества состояний автомата наглядность графа теряется и больше удобств представляет табличный способ задания автомата.

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


Страница: