Проектирование управляющего автомата — страница 9

  • Просмотров 4692
  • Скачиваний 206
  • Размер файла 139
    Кб

переходов, для автомата Мура достаточно прямой таблицы переходов. Выписывая пути перехода для нашей ГСА, составляем таблицу переходов и выходов (см. табл. 2.1). Таблица 2.1. Таблица переходов и выходов абстрактного автомата (Мура). Аm Аs(Y) X(Am, As) A1 A2(y1-y7) 1 A2 A3(y8) 1 A3 A4(y9,y10) 1 A4 A5(y11,y12) 1 A5 A6(y13,y14) x1 A5 A7(y13,y15) X1 A6 A8(y16,y17) 1 A7 A8(y16,y17) 1 A8 A6(y13,y14) x1x2 A8 A7(y13,y15) X1x2 A8 A1(y0) X2X3X4 A8 A9(y22,y23) X2x3X4 A8 A10(y18) X2X3x4 A8 A11(y12,y19-y21) X2x3x4 A9 A5(y11,y12) 1 A10 A11(y12,y19-y21) 1 A11 A12(y13,y14) x1 A11 A13(y13,y15) X1 A12 A14(y16,y17) 1

Продолжение таблицы 2.1 Аm Аs(Y) X(Am, As) A13 A14(y16,y17) 1 A14 A12(y13,y14) x1x2 A14 A13(y13,y15) X1x2 A14 A15(y24) X2 A15 A5(y12,y12) x5 А15 A16(yk) X5 A16 A0(yk) 1 2.3 Синтез структурного микропрограммного автомата Для синтеза заданного типа автомата (структурный автомат Мура) необходимо построить прямую таблицу переходов, в которую вписываются пути перехода между соседними отметками. В таблицу переходов структурного автомата, в отличии от абстрактного автомата, добавляются три

столбца: код состояния Аm – K(Am), код состояния As – K(As), а также функция возбуждения F(Am, As). Коды состояний K(Am) и K(As) будем кодировать двоичными кодами. У нас 16 состояний, а это значит, что для кодирования достаточно использовать четырех разрядные коды. В таблице 2.2 представлена структурная таблица переходов МПА Мура. Таблица 2.2. Таблица переходов автомата. Аm K(Am) Аs(Y) K(As) X(Am, As) F(Am,As) A1 0001 A2(y1-y7) 1011 1 S1, S3 A2 1011 A3(y8) 1110 1 S2,R4 A3 1110 A4(y9,y10) 1111 1 S4 A4 1111

A5(y11,y12) 0110 1 R1,R4 A5 0110 A6(y13,y14) 0100 x1 R3 A5 0110 A7(y13,y15) 1100 X1 S1,R3 A6 0100 A8(y16,y17) 0000 1 R2 Продолжение таблицы 2.2 Аm K(Am) Аs(Y) K(As) X(Am, As) F(Am,As) A7 1100 A8(y16,y17) 0000 1 R1,R2 A8 0000 A6(y13,y14) 0100 x1x2 S2 A8 0000 A7(y13,y15) 1100 X1x2 S1,S2 A8 0000 A1(y0) 0001 X2X3X4 S4 A8 0000 A9(y22,y23) 0010 X2x3X4 S3 A8 0000 A10(y18) 1010 X2X3x4 S1,S3 A8 0000 A11(y12,y19-y21) 1000 X2x3x4 S1 A9 0010 A5(y11,y12) 0110 1 S2 A10 1010 A11(y12,y19-y21) 1000 1 S3 A11 1000 A12(y13,y14) 1101 x1 S2,S4 A11 1000 A13(y13,y15) 1001 X1 S4 A12 1101 A14(y16,y17) 0101 1 R1 A13 1001 A14(y16,y17) 0101 1 S2,R1 A14 0101 A12(y13,y14) 1101 x1x2 S1 A14 0101 A13(y13,y15) 1001 X1x2 S1,R2 A14 0101 A15(y24) 0111 X2 S3 A15 0111 A5(y12,y12) 0110 x5 R4 А15

0111 A16(yk) 0011 X5 R2 A16 0011 A0(yk) 0001 1 R3 2.4 Формирование выходных функций и функций переключения элементов памяти По таблице 2.2. составим функции возбуждения автомата: R1=A4 v A7 v A12 v A13 S1=A1 v A5X1 v A8X1X2 v A8X2X3X4 v A8X2X3X4 v A14X1X2 v A14X1X2 R2=A6 v A7 v A14X1X2 v A15X5 S2=A2 v A8X1X2 v A8X1X2 v A9 v A11X1 v A13 R3= A5X1 v A5X1 v A16=A5 v A16 S3= A1 v A8X2X3X4 v A8X2X3X4 v A10 v A14X2 R4=A2 v A4 v A15X5 S4=A3 v A8X2X3X4 v A11X1 v A11X1=A3 v A11 v A8X2X3X4 В заданном базисе (см. задание) отсутствует логический элемент «И», поэтому мы переводим функции в заданный

базис (ИЛИ, НЕ) с помощью формулы де Моргана: R1=A4 v A7 v A12 v A13 S1=A1 v A5vX1 v A8vX1vX2 v A8vX2vX4 v A14vX2 R2=A6 v A7 v A14vX1vX2 v A15vX5 S2= A2 v A8vX2 v A9 v A11vX1 v A13 R3=A5 v A16 S3= A1 v A8vX2vX3vX4 v A8vX2vX3vX4 v A10 v A14vX2 R4=A2 v A4 v A15vX5 S4=A3 v A11 v A8vX2vX3vX4 Y1=y1-y7=A2; Y2=y8=A3; Y3= y9,y10=A4; Y4= y11,y12=A5; Y5= y13,y14=A6vA12; Y6=y13,y15=A7vA13; Y7=y16,17=A8vA14; Y8=y22,y23=A9; Y9=y18=A10; Y10=y12,y19-y21=A11; Y11=y24=A15; Y12=y25=A16; Т.к. у нас получилось 16 состояний, т.e. то минимизация дешифратора невозможна. A1=Q1Q2Q3Q4; A2=Q1Q2Q3Q4; A3=Q1Q2Q3Q4; A4=Q1Q2Q3Q4; A5=Q1Q2Q3Q4; A6=Q1Q2Q3Q4; A7=Q1Q2Q3Q4; A8=Q1Q2Q3Q4; A9=Q1Q2Q3Q4; A10=Q1Q2Q3Q4;