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

Далее коды состояний заносим в соответствующие столбцы прямой таблицы переходов (таблица 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

После выделения общих частей в логических выражениях и некоторого их упрощения получаем логические уравнения для построения функциональной схемы управляющего автомата.

m=a1x2va4x4

n=a0x1

k=nva1x2va3x2

p=a8x7

q=a2x1

r=a3x2

D1= r v y5 v a7x6 v y7

D2= q v r v a4 v a5 v a7x6

D3= n v y6 v a2

D4= a0 v a5 v y5 v a8x7x8 v a9x9

Аналогично упрощаем логические выражения для функций выходов.

y1= k

y2= n v q

y3= k v rx3

y4= m v a5x5

y5= a6

y6= m

y7= p

y8=a9x9

Цена комбинационной схемы по Квайну для автомата Мили, с использованием в качестве элементов памяти D-триггеров, равна С=59, причем в схеме предполагается использовать 4-входовой дешифратор.

7.5 Кодирование на RS- триггерах

Однако в качестве элементов памяти возможно использование не только D-триггеров, также используются RS-триггеры. Но при использовании RS-триггеров придется перекодировать состояния автомата, кодирование осуществим способом минимизирующим число переключений элементов памяти.

Для этого сначала выпишем матрицу M - матрицу всех возможных переходов автомата. Состояниям автомата a0 и a1 присвоим коды: К(a0)=0000, К(a1)=0001. Далее из матрицы М составим подматрицу M2, в которую запишем переходы из 2 состояния. В множество В2 выпишем коды уже закодированных состояний, а в множество C1 коды с кодовым расстоянием "1" от кодов В2. Закодировав состояние a2, выпишем матрицу М3 для кодирования следующего состояния автомата. Кодирование состояния a3 аналогично a2, причем для определения наиболее выгодного кода будем находить суммы кодовых расстояний между множествами Вi и Di. Код с наименьшей суммой и является наиболее оптимальным, когда все суммы получились одинаковыми выбираем любой код и кодируем это состояние.

00 k0=0000

01 k1=0001

12

19 12 B2 ={0001}

22 M2= 22 C1={0011,0101,1001}

M= 23 23 D2={0011,0101,1001}

34 W0011=1

39 W0101=1

45 W1001=1

56 k2=0011

67

78

80

88

89

99

23 B3={0011}

M3= 34 C2={0010,0111,1011}

39 D3={0010,0111,1011}

W0010=1

W0111=1

W1011=1

k3=0010

34 B4={0 010}

M4= 45 C3={0110,1010}

D4={0110,1010}

W0110=1

W1010=1

k4=0110

45 B5={0110}

M5= 56 C4={0100,0111,1110}

75 D5={0100,0111,1110}

W0100=1

W0111=1

W1110=1

k5=0111

56 B6={0111}

M6= 67 C5={0101,1111)}

D6={0101,1111)}

W0101=1

W1111=1

k6=0101

67 B7={0111,0101}

M7= 75 C5={1111}

78 C6={0100,1101}

D7={1111,0100,1101}

W1111=ô1111-0111ô2+ô1111-0101ô2=1+2=3

W0100=ô0100-0111ô2+ô0100-0101ô2=2+1=3

W1101=ô1101-0111ô2+ô1101-0101ô2=2+1=3

k7=0100

78 B8={0000,0100}

M8= 80 C0={1000}

88 C7={1100}

89 D8={1000,1100}

W1100=ô1100-0000ô2+ô1100-0100ô2=2+1=3

W1000=ô1000-0000ô2+ô1000-0100ô2=1+2=3

k8=0100

19 B9={0000,0001,0010,1100}

39 C0={1000}

M9= 89 C1={1001} C3={1010}

90 C8={1000,1101,1110}

99 D9={1000,1001,1010,1101,1110}

D\B

0000

0001

0010

1100

W

1000

1

2

2

1

6

1001

2

1

3

2

8

1010

2

3

1

2

8

1101

3

2

4

1

10

1110

3

4

2

1

10


Страница: