Синтез микропрограммного автомата для операции умножения двоичных чисел в ПЗ 4 способом

Содержание

1.Введение….………………………………..………….…………………………2

1.1Постановка задачи…………………..…………………………………………3

1.2Алгоритм умножения двоичных чисел в формате с ПЗ 4 способом в ДК с простой коррекцией и порядками………..……………………………………....4

1.3Численные примеры………..……………………………………….…………5

2. Выбор и описание структурной схемы ОА…………………………………...6

3. Реализация содержательной ГСА…………………..………………………....7

4. Построение отмеченной ГСА……………………………………………..…...8

5. Построение графов автоматов для моделей Мили и Мура…..………….…..9

6. Кодирование состояний автоматов и построение структурных таблиц переходов и выходов…………………………………….……………….……….9

6.1Кодирование состояний  автомата Мили на D-триггерах………………….10

6.2Кодирование состояний  автомата Мили на RS-триггерах…….…………..13

6.3Кодирование состояний автомата Мили на счетчике….……..……………17

6.4Кодирование состояний автомата Мура на D-триггерах…………………..19

6.5Кодирование состояний автомата Мура на RS-триггерах…………….…..22

7. Выбор и обоснование структурной схемы УА. Построение логической схемы управляющего микропрограммного автомата…………..……………..27

8. Заключение…………………………………………………………………….28

Приложение А…………..………………….………………..……………..……29

Приложение Б……………………………..………………..……………………30

Приложение В………..……………………..…………………..………………..31

Приложение Г………………………………..………………………………..…32

Приложение Д……………………………………..…………………..…………33

Приложение Е……………………………………..……………..………………34

Библиографический список……………………………………………………..35 

  1. Введение

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

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

    1. Постановка  задачи

 

Синтезировать микропрограммный автомат, управляющий выполнением  умножения двоичных чисел в формате  ПЗ четвертым способом в ДК с простой  коррекцией и порядками в основном логическом базисе. Разрядность операндов 32 бита.

 

1.2Алгоритм умножения  двоичных чисел в формате с  ПЗ 4 способом в ДК с простой  коррекцией и порядками

 

  1. Проверить операнды на равенство 0. Если один из них равен 0, то результат будет нулевым.
  2. Сложить порядки в дополнительном коде.
  3. Проверить сумму порядков на возникновение ситуации ПРС и ПМР. Если при сложении порядков одного знака в результате получен порядок, знак которого отличается от знаков операндов, то эта ситуация сигнализирует о возникновении ПРС, при котором следует прекратить операцию умножения. Особого внимания требует ситуация, когда в результате может возникнуть комбинация «100..0», т.е. «1» в знаковом разряде порядка, а во всех остальных – нули. Это может быть как признак временного ПРС (в дальнейшем, если возникает необходимость в нормализации мантиссы результата, устраняется, в противном случае нужно выдать сигнал «ПРС»), так и ПМР, при котором результат равен 0. Поэтому необходимо различать эти ситуации.
  4. Произвести коррекцию по правилу:

  -если сомножители  положительные, коррекции нет

  - если один сомножитель  отрицателен, то к сумме ЧП  надо прибавить ДК от модуля положительного сомножителя

  - если оба сомножителя  отрицательны, то к сумме ЧП надо прибавить ПК сомножителей.

  1. Сдвинуть регистр множимого вправо
  2. Проверить старший разряд множителя. Если он равен 1 то прибавить к сумме ЧП множимое
  3. Произвести сдвиги.
  4. Цикл умножения повторять до тех пор, пока старшие n+1 разряды множимого не станут равными нулю. Т.к. мантиссы операндов нормализованы, это будет сигнализировать о произведении n тактов с учетом первого сдвига множимого и позволит не включать счетчик тактов в функциональную схему операционного автомата.
  5. После окончания цикла умножения произвести нормализацию мантиссы, если это необходимо.
  6. Снова проверить сумму порядков на ПРС и ПМР.
  7. Определить знак произведения путем сложения по модулю два знаковых разрядов сомножителей.
  8. Вывести результат. 

1.3 Численные примеры:

C=1010=10102 – множитель

D= -2210= -10110 – множимое

Сдк=0,1010   Dдк=1,01010

C

0

10100

0

0100

D

1

01010

0

0101


 

множитель

множимое

Сумма ЧП

комментарии

0,10100

0,10100

 

 

 

0,01000

0,10000

 

 

 

0,00000

0,00000

0,01010 00000

0,00101 00000

 

 

 

0,00010 10000

0,00001 01000

 

 

 

0,00000 10100

0,00000 01010

0,00000 00000

 

0,00000 00000

0,00101 00000

0,00101 00000

 

 

0,00101 00000

0,00001 01000

0,00110 01000

 

Сдвиг множимого

Сложение

 

 

Сдвиги

Сдвиги

Сложение

 

 

Сдвиги

Сдвиги


Коррекция

0,00110 01000

+

0,01100 00000

0,10010 01000

3)Порядок произведения

0,0100

+

0,0101

0,10012=910

1

0,10010

0

1001


 

Проверка: (C D)пк=1,01110 (29)= -011100000(2)=-22410

(C D)=220 Ошибка округления =-4

Если порядки равны 0,1100 и 0,1001, то при их сложении возникнет  ПРС

0,1100

0,1001

=1,0101

Если порядки будут  равны 1,1100 и 1,0100, то при их сложении возникнет ПМР

1,1100

1,0100

=1,000 

  1. Выбор и описание структурной схемы ОА

 

Операционный автомат  содержит следующие элементы (приложение А):

  • 24 разрядный сдвиговый регистр для хранения знака и мантиссы множителя
  • два 46 разрядных сдвиговых регистра для хранения множимого и суммы ЧП
  • 8 разрядный регистр для хранения порядков операндов
  • 8 разрядный счетчик для хранения суммы порядков
  • 8 разрядный сумматор для сложения порядков
  • 46 разрядный сумматор для формирования суммы ЧП
  • 2 D-триггера для хранения знака множимого и знака порядка множимого
  • RS-триггер для записи ПРС
  • 3 набора схем сложения по модулю 2 для преобразования чисел из ПК в ДК и обратно
  • Набор схем И, ИЛИ/НЕ, ИЛИ для обработки и создания сигналов
  • Усилитель-формирователь для выдачи результата на шину данных

 

Для организации работы всего  автомата необходимо из УА подать в  ОА управляющие сигналы, реализующие  следующие МО:

y0- Обнуление триггера ПРС и счетчика

y1- Запись множителя в RG1

y2- Запись мантиссы операнда в RG2 и запись порядка в RG4

y3- Запись суммы порядков в счетчик

y4- Сдвиги RG1 и RG2

y5- Занесение в Т2 знака порядка операнда

y6- Формирование ДК для коррекции

y7- Счетчик - 1

y8- Обнуление RG3

y9- Сброс в 0 RG1и T1

y10- Сдвиг RG3

y11- Запись ПРС

y12- Занесение в RG3

y13- Выдача результата на выходную шину

 

Для работы всего автомата из ОА в УА необходимо передать следующие  осведомительные сигналы о состоянии  ОА, определяющиеся следующими ЛУ:

X- проверка наличия операндов на ШИВх

P1- Знак множимого

P2- Старший разряд RG1

P3- ПРС

P4- ПМР

P5- временное ПРС

P6- Проверка условия окончания цикла умножения

P7- Проверка на нормализованность результата

P8- Проверка суммы порядков на запись в ПК

Z- проверка возможности выдачи по ШИВых

 

3. Реализация содержательной граф-схемы алгоритма

 

Работа автомата начинается с получения данных через входную шину. Сначала приходит множитель. Его мантисса записывается в RG1 и старшие разряды RG2, а порядок в RG4. После проверки на ноль(P6) проинвертированный множитель заноситься  в RG3, что упрощает операционный автомат и его работу при возможном проведении коррекции, а его порядок в СТ (блок 4). Затем на шину приходит множимое и заноситься в RG2 и RG4, его знак запоминается в Т1(блок 6). После проверки на 0 множимого порядки складываются и происходит проверка на ПРС (Р3) и ПМР (Р4). При ПРС Т3 устанавливается в 1 и операция умножения заканчивается (блок 22). При ПМР на выходную шину подаем нулевой результат. Анализируя знаки сомножителей производим коррекцию (блоки 9 и 14). Т.к. ДК от мантиссы множителя уже занесен в RG3, то сначала проверяем знак множимого (Р1) . Если он равен 0, то коррекция не нужна и в RG3 заноситься 0. Сдвигаем  RG 1 и RG2 и начинаем цикл умножения, который заключается в анализе старшего разряда множителя (Р2). Если он равен 1, то складываем данные из RG2 и RG3, занося их в RG3. Цикл продолжается, пока старшие разряды RG2 не станут равными 0. После окончания цикла умножения проводим нормализацию, если это необходимо. Если нормализация не нужна, то временное ПРС, если оно присутствовало, становиться ПРС. Если результат был нормализован, возможно возникновение ПМР. Выдаем результат на выходную шину (блок 28).

Содержательная ГСА приведена в приложении Б. 

  1. Построение отмеченной граф-схемы алгоритма.

 

Для разметки ГСА каждой совокупности микроопераций, находящихся  в операторных вершинах, ставятся в соответствие управляющие сигналы  Y1…Yn. Эти сигналы являются выходными сигналами УА и обеспечивают выполнение требуемых действий в соответствии со списком МО операционного автомата. Совокупности МО для каждой операторной вершины образуют МК, список которых приведен в таблице 1.

 

Таблица 1.

К

МО

Y1

y0,y1,y2,y8

Y2

y3,y5,y6,y12

Y3

y2

Y4

y3,y8

Y5

y3

Y6

y6,y12

Y7

y4

Y8

y12

Y9

y7,y10

Y10

y0,y8,y9

Y11

y11

Y12

y7

Y13

y13


 

Каждой условной вершине  содержательной ГСА ставится в соответствие один из входных сигналов управляющего автомата X1…Xm, список которых приведен в таблице 2.

 

Таблица 2.

X1

X2

X3

X4

X5

X6

X7

X8

X9

X10

X

P1

P2

P3

P4

P5

P6

P7

P8

Z


 

Далее в полном соответствии с содержательной ГСА  строится отмеченная ГСА, условным вершинам которой приписывается один из входных  сигналов УА, а операторным вершинам – одна из МК (приложение В).

Получаем  ГСА, размеченную для модели Мили символами a0…a8, для модели Мура символами b0…b15. 

  1. Построение графов автоматов для моделей Мили и Мура

 

На основе отмеченной ГСА построены  графы автомата для модели Мили (приложение Г) и для модели Мура (приложение Д).

Граф автомата Мили имеет 9 вершин, соответствующих состояниям автомата a0,…,a8. Дуги его отмечены входными сигналами, действующими на каждом переходе, и набором выходных сигналов, вырабатываемых УА на данном переходе.

Граф автомата Мура имеет 16 вершин, соответствующих состояниям автомата b0,…,b15, каждое их которых определяет наборы выходных сигналов y0,…,y13 УА, а дуги графа отмечены входными сигналами, действующими на данном переходе.

 

  1. Кодирование состояний автоматов и построение структурных таблиц переходов и выходов

Рассмотрим  некоторые  варианты  возможных  структурных  схем  УА:

-классическая структура УА пригодна для реализации любого УА;

-модифицированная классическая структура на основе регистра и дешифратора, использование которого понижает цену схемы классического варианта;

-структура УА на основе сдвигового регистра с выбором унитарного кодирования внутренних состояний целесообразно использовать  только в тех случаях, когда число разрядов кода ненамного меньше числа внутренних состояний, иначе возникнут значительные затраты на память автомата, которые поглотят выигрыш от уменьшения цены КС;

-структура на основе счетчика выгодна, когда граф проектируемого автомата имеет большое количество последовательных (стандартных) переходов и незначительное число нестандартных;

модифицированная структура на основе счетчика с использованием дешифратора, введение которого приводит к снижению цены схемы.

В управляющем автомате в качестве ЭП могут использоваться как D-триггеры, так и RS-триггеры. Также могут использоваться и счетчики.

При использовании D-триггеров в качестве элементов памяти при переходе из одного состояния в другое сигналы возбуждения должны быть поданы на те триггеры, которые в коде состояния содержат единицу. Отсюда следует, что для получения минимального кодирования необходимо закодировать состояния кодами, содержащими наименьшее количество единиц. Для этого используют инверсные таблицы переходов.

Для RS-триггеров лучше использовать соседнее кодирование, так как именно этот способ минимизирует число переключений ЭП.

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

6.1Кодирование  состояний автомата Мили на  D-триггерах

 

Составим инверсную таблицу  переходов (см. таблицу 3) и закодируем состояния четырехразрядными двоичными  числами, в которые будет входить  наименьшее число единиц.

 

Таблица 3.

a0

a1

a2

a3

a4

a5

a6

a7

a8

a0,a4,a6,a8

a0

a1,a2

a2

a3

a4,a6

a5

a6

a1,a3,a4,a6,a7,a8

0001

0011

0010

1010

0110

0100

1100

1000

0000


 

Как видно из таблицы 3, состояние  a8 с наибольшим числом переходов в него кодируется 0000. Состояния с меньшим числом переходов обозначаются кодом с одной единицей, затем с двумя и до тех пор, пока все состояния графа не будут закодированы.

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

 

Структурная таблица переходов  и выходов представлена в таблице  4

 

 

Таблица 4.  Структурная таблица переходов и выходов кодирования автомата Мили на D-триггерах.

Исходное состояние

 

Код  am

Состояние перехода  as

 

Код  as

Входной сигнал X(am,as)

Выходные сигналы Y(am,as)

Функции возбуждения D-триггеров

a0

0001

a0

a1

0001

0011

~x1

x1

-

y0,y1,y2,y8

D4

D3D4

a1

0011

a2

a8

0010

0000

~x7

x7

y3,y5,y6,y12

y0,y8,y9

D3

-

a2

0010

a2

a3

0010

1010

~x1

x1

-

y2

D3

D1D3

a3

1010

a4

a4

a8

0110

0110

0000

~x7x2

~x7~x2

x7

y3

y3,y8

y0,y8,y9

D2D3

D2D3

-

a4

0110

a0

a5

a5

a8

0001

0100

0100

0000

x4

~x4~x5x3

~x4~x5~x3

~x4x5

y11

y6,y12

-

y0,y8,y9

D4

D2

D2

-

a5

0100

a6

1100

1

y4

D1D2

a6

1100

a0

a5

a5

a7

a8

a8

0001

0100

0100

1000

0000

0000

x7x8x6

~x7x3

~x7~x3

x7~x8

x7x8~x6x9

x7x8~x6~x9

y11

y12

-

y7,y10

y7

-

D4

D2

D2

D1

-

-

a7

1000

a8

a8

a8

0000

0000

0000

x5

~x5x9

~x5~x9

y0,y8,y9

y7

-

-

-

-

a8

0000

a0

a8

0001

0000

x10

~x10

y13

-

D4

-




 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D1=a2x1 v a5 v a6x7~x8

D2=a3~x7 v a4~x4~x5 v a5 v a6~x7

D3=a0x1 v a1~x7 v a2 v a3~x7

D4=a0 v a4x4 v a6x7x8x6 v a8x10

 

y0=a0x1 v a1x7 v a3x7 v a4~x4x5 v a7x5

y1=a0x1

y2=a0x1 v a2x1

y3=a1~x7 v a3~x7

y4=a5

y5=a1~x7

y6=a1~x7 v a4~x4~x5x3

y7=a6x7~x8 v a6x7x8~x6x9 v a7~x5x9

y8=a0x1 v a1x7 v a3~x7~x2 v a3x7 v a4~x4x5 v a7x5

y9=a1x7 v a3x7 v a4~x4x5 v a7x5

y10=a6x7~x8

y11=a4x4 v a6x7x8x6

y12=a1~x7 v a4~x4~x5x3 v a6~x7x3

y13=a8x10

 

t= a2x1

m= a6x7

k= a3~x7

w= a4~x4

p= a6~x7

 

e= a4x4

f= (a1 v a3)x7

q= a7x5

u=w~x5

l=mx8

D1=t v a5 v y10

D2=k v u v a5 v p

D3=y1 v y3 v a2

D4=a0 v y11 v y13

 

 

y0=y1 v y9

y1=a0x1

y2=y1 v t

y3=y5 v k

y4=a5

y5=a1~x7

y6=y5 v ux3

 

 

y7=y10 v l~x6x9 v a7~x5x9

y8=y1 v y9 v k~x2

y9=f v wx5 v q

y10=m~x8

y11=e v lx6

y12=y6 v px3

y13=a8x10

Цена по Квайну C=86, причем в схеме УА предлагается использовать 4-х входовой дешифратор.

 

6.2 Кодирование состояний автомата Мили на RS-триггерах

 

Составим матрицу переходов  М и произведем кодирование состояний  автомата.

 

     00                   k0=0000


     01                   k1=0001

     12                                  


     18           12      B2 ={0001}

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

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

     38            W0011=1

     34       W0101=1

     40                  W1001=1

     45                  k2=0011

          48                   

          56                   

     60   

     65

     67

     68

  78

          80

          88      

                     B3={0011} 


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

34       D3={0010,0111,1011}

       23      W0010=1

                            W0111=1

                              W1011=1

k3=0010

 

                              34            


                    M4= 40

                              48       B4={0000,0010} 

45       C3={0110,1010} C0={1000,0100}

                     D4={0100,0110,1000,1010}

   W0100=ô0100-0010ô2+ô0100-0000ô2=2+1=3

   W0110=ô0110-0010ô2+ô0110-0000ô2=1+2=3

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

   W1010=ô1010-0010ô2+ô1010-0000ô2=1+2=3

                              k4=1010

 

 

      45  B5={1010}


      M5= 56 C4={1000,1011,1110}

D5={1000,1011,1110}

     W1000=1

                            W1011=1     

                              W1110=1

k5=1000 

       


                              56

                              60                             

                   M6=   65 B6={1000,0000} 

67 C5={1001,1100} C0{0100}

       68 D6={0100,1001,1100}

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

W1001=ô1001-1000ô2+ô1001-0000ô2=1+2=3

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

                              k6=1100

 

              B7={1100}


      M7= 67 C6={1101,1110,0100}

78 D7={1101,1110,0100}

                                        W1101=1

                            W1110=1     

                              W0100=1

k7=0100 

 

                              78      B8={0001,0010,0000,1101}


                              80 C1={0101,1001} C4{1011,1110} 

                              88  C7={0110,0101}

      M8= 18 C3={0110} C6{1110,1101}

38 D8={0101,0110,1001,1011,1101,1110}

    48 

    60 

W0101=1+2+0+1+3+4+2=13      W0110=1+2+0+3+1+2+2=11

W1001=3+2+0+1+3+2+2=13      W1011=4+3+0+2+2+1+3=15

W1101=2+3+0+2+4+3+1=15      W1110=2+3+0+2+4+3+1=15

k8=0110

Результат кодирования приведен в  таблице 5.

 

 

Таблица  5 .  Результат кодирования автомата Мили на RS-триггерах.

a0

a1

a2

a3

a4

a5

a6

a7

a8

0000

0001

0011

0010

1010

1000

1100

0100

0110




 

 

 

 

Структурная таблица переходов  и выходов представлена в таблице 6

 

Таблица 6.

Исходное состояние

 

Код  am

Состояние перехода  as

 

Код  as

Входной сигнал X(am,as)

Выходные сигналы Y(am,as)

Функции возбуждения RS-триггеров

a0

0000

a0

a1

0000

0001

~x1

x1

-

y0,y1,y2,y8

-

S4

a1

0001

a2

a8

0011

0110

~x7

x7

y3,y5,y6,y12

y0,y8,y9

S3

S2S3R4

a2

0011

a2

a3

0011

0010

~x1

x1

-

y2

-

R4

a3

0010

a4

a4

a8

1010

1010

0110

~x7x2

~x7~x2

x7

y3

y3,y8

y0,y8,y9

S1

S1

S2

a4

1010

a0

a5

a5

a8

0000

1000

1000

0110

x4

~x4~x5x3

~x4~x5~x3

~x4x5

y11

y6,y12

-

y0,y8,y9

R1R3

R3

R3

R1S2

a5

1000

a6

1100

1

y4

S2

a6

1100

a0

a5

a5

a7

a8

a8

0000

1000

1000

0100

0110

0110

x7x8x6

~x7x3

~x7~x3

x7~x8

x7x8~x6x9

x7x8~x6~x9

y11

y12

-

y7,y10

y7

-

R1R2

R2

R2

R1

R1S3

R1S3

a7

0100

a8

a8

a8

0110

0110

0110

x5

~x5x9

~x5~x9

y0,y8,y9

y7

-

S3

S3

S3

a8

0110

a0

a8

0000

0110

x10

~x10

y13

-

R2R3

-




 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S1=a3~x7

S2=a1x7 v a3x7 v a4~x4x5 v a5

S3=a1 v a6x7x8~x6 v a7

S4=a0x1

R1=a4x4 v a4~x4x5 v a6x7

R2=a6x7x8x6 v a6~x7 v a8x10

R3=a4x4 v a4~x4~x5 v a8x10

R4=a1x7 v a2x1

 

y0=a0x1 v a1x7 v a3x7 v a4~x4x5 v a7x5

y1=a0x1

y2=a0x1 v a2x1

y3=a1~x7 v a3~x7

y4=a5

y5=a1~x7

y6=a1~x7 v a4~x4~x5x3

 

 

y7=a6x7~x8 v a6x7x8~x6x9 v a7~x5x9

y8=a0x1 v a1x7 v a3~x7~x2 v a3x7 v a4~x4x5 v a7x5

y9=a1x7 v a3x7 v a4~x4x5 v a7x5

y10=a6x7~x8

y11=a4x4 v a6x7x8x6

y12=a1~x7 v a4~x4~x5x3 v a6~x7x3

y13=a8x10

t= a3~x7

p= a1x7

m= a3x7

k= a4~x4

f= a6x7

w= a4x4

d= a6~x7

h= a2x1

g= a7x5

u=kx5    

e=fx8

S1=t

S2=p v m v u v a5

S3=a1 v e~x6 v a7

S4=y1

 

R1=w v u v f

R2=ex6 v d v y13

R3=w v k~x5 v y13

R4=p v h

 

y0=y1 v y9

y1=a0x1

y2=y1 v h

y3=y5 v t

y4=a5

y5=a1~x7

y6=y5v k~x5x3

 

 

y7=y10 v e~x6x9 v a7~x5x9

y8=y1 v y9 v t~x2

y9=p v m v u v g

y10=f~x8

y11=w v ex6

y12=y6 v dx3

y13=a8x10Цена по Квайну C=96, причем в схеме УА предлагается использовать 4-х входовой дешифратор.

 

6.3Кодирование  состояний автомата Мили на  счетчике

 

Закодируем состояния таким  образом, чтобы разность значений кодов  между соседними состояниями  составляла единицу (см.таблицу 7).

Таблица 7

a0

a1

a2

a3

a4

a5

a6

a7

a8

0001

0010

0011

0100

0101

0110

0111

1000

0000


Структурная таблица переходов  и выходов представлена в таблице 8

Исходное состояние

 

Код  am

Состояние перехода  as

 

Код  as

Входной сигнал X(am,as)

Выходные сигналы Y(am,as)

Функции возбуждения счетчика

a0

0001

a0

a1

0001

0010

~x1

x1

-

y0,y1,y2,y8

-

E+1

a1

0010

a2

a8

0011

0000

~x7

x7

y3,y5,y6,y12

y0,y8,y9

E+1

M

a2

0011

a2

a3

0011

0100

~x1

x1

-

y2

-

E+1

a3

0100

a4

a4

a8

0101

0101

0000

~x7x2

~x7~x2

x7

y3

y3,y8

y0,y8,y9

E+1

E+1

M

a4

0101

a0

a5

a5

a8

0001

0110

0110

0000

x4

~x4~x5x3

~x4~x5~x3

~x4x5

y11

y6,y12

-

y0,y8,y9

D1M

E+1

E+1

M

a5

0110

a6

0111

1

y4

E+1

a6

0111

a0

a5

a5

a7

a8

a8

0001

0110

0110

1000

0000

0000

x7x8x6

~x7x3

~x7~x3

x7~x8

x7x8~x6x9

x7x8~x6~x9

y11

y12

-

y7,y10

y7

-

D1M

M E+1

M E+1

E+1

M

M

a7

1000

a8

a8

a8

0000

0000

0000

x5

~x5x9

~x5~x9

y0,y8,y9

y7

-

M

M

M

a8

0000

a0

a8

0001

0000

x10

~x10

y13

-

E+1

-





Таблица 8

 

Работа счётчика производится в  соответствии с таблицей 9

Таблица 9

М

E+1

Режим

1

0

1

0

0

1

1

0

Запись  в счётчик

Прямой счёт

Обратный счёт

Хранение


 

E+1=a0x1 v a1~x7 v a2x1 v a3~x7 v a4~x4~x5 v a5 v a6~x7 v a6x7~x8 v a8x10

M=a1x7 v a3x7 v a4x4 v a4~x4x5 v a6x7x8 v a6~x7 v a7

D1=a4x4 v a6x7x8x6

 

y0=a0x1 v a1x7 v a3x7 v a4~x4x5 v a7x5

y1=a0x1

y2=a0x1 v a2x1

y3=a1~x7 v a3~x7

y4=a5

y5=a1~x7

y6=a1~x7 v a4~x4~x5x3

y7=a6x7~x8 v a6x7x8~x6x9 v a7~x5x9

y8=a0x1 v a1x7 v a3~x7~x2 v a3x7 v a4~x4x5 v a7x5

y9=a1x7 v a3x7 v a4~x4x5 v a7x5

y10=a6x7~x8

y11=a4x4 v a6x7x8x6

y12=a1~x7 v a4~x4~x5x3 v a6~x7x3

y13=a8x10t= a2x1

m= a3~x7

k= a4~x4

p= a6~x7

f= a6x7

g= (a1 v a3)x7   l= a4x4

e= a7x5  

h=fx8 

n=kx5

u= k~x5

E+1=y2 v y3 v u v a5 v p v y10 v y13

M=g v l v n v h v p v a7

D1=y11

y0=y1 v y9

y1=a0x1

y2=y1 v t

y3=y5 v m

y4=a5

y5=a1~x7

y6=y5 v ux3

y7=y10 v h~x6x9 v a7~x5x9

y8=y1 v y9 v m~x2

y9=g v n v e

y10=f~x8

y11=l v hx6

y12=y6 v px3

y13=a8x10

Цена по Квайну C=85, причем в схеме УА предлагается использовать 3-х входовой дешифратор. 

6.4Кодирование  состояний автомата Мура на D-триггерах

 

Составим  инверсную таблицу переходов (см. таблицу 10) и закодируем состояния четырехразрядными двоичными числами, в которые будет входить наименьшее число единиц.

 

Таблица 10.

b0

b1

b2

b3

b4

b5

b6

b7

b8

b9

b0,b11,b15

b0

b1

b2,b3

b2,b3

b4

b4

b5,b6

b5,b6,b7,b8,b9

b8

1000

1110

1101

1001

1010

0111

1011

0101

0100

1111


 

b10

b11

b12

b13

b14

b15

b8

b5,b6,b8

b1,b4,b5,b6,b10

b8,b10

b8,b10,b12,b13,b14

b8,b10,b12,b13,b14

1100

0110

0010

0011

0001

0000


 

Как видно  из таблицы 10, состояние b15 с наибольшим числом переходов в него кодируется 0000. Состояния с меньшим числом переходов обозначаются кодом с одной единицей, затем с двумя и до тех пор, пока все состояния графа не будут закодированы.

 

Структурная таблица переходов и выходов представлена в таблице 11.

 

Таблица 11.

Исходное состояние bm

Выходные сигналы

Код

bm

Состояние перехода  bs

Код

bs

Входной сигнал

Функции возбуждения D-триггеров

b0

-

1000

b0

b1

1000

1110

~x1

x1

D1

D1D2D3

b1

y0,y1,y2

y8

1110

b2

b12

1101

0010

~x7

x7

D1D2D4

D3

b2

y3,y5,y6

y12

1101

b3

b4

1001

1010

~x1

x1

D1D4

D1D3

b3

-

1001

b3

b4

1001

1010

~x1

x1

D1D4

D1D3

b4

y2

 

1010

b5

b6

b12

0111

1011

0010

~x7~x3

~x7x3

x7

D2D3D4

D1D3D4

D3

b5

y3,y8

 

0111

b7

b8

b11

b12

0101

0100

0110

0010

~x4~x5x2

~x4~x5~x2

x4

~x4x5

D2D4

D2

D2D3

D3

b6

y3

1011

b7

b8

b11

b12

0101

0100

0110

0010

~x4~x5x2

~x4~x5~x2

x4

~x4x5

D2D4

D2

D2D3

D3

b7

y6,y12

0101

b8

0100

1

D2

b8

y4

0100

b8

b9

b10

b11

b13

b14

b15

0100

1111

1100

0110

0011

0001

0000

~x7~x3

~x7x3

x7~x8

x7x8x6

x7x8~x6x9

x7x8~x6~x9~x10

x7x8~x6~x9x10

D2

D1D2D3D4

D1D2

D2D3

D3D4

D4

-

b9

y12

1111

b8

0100

1

D2

b10

y7,y10

1100

b12

b13

b14

b15

0010

0011

0001

0000

x5

~x5x9

~x5~x9~x10

~x5~x9x10

D3

D3D4

D4

-

b11

y11

0110

b0

1000

1

D1

b12

y0,y8,y9

0010

b14

b15

0001

0000

~x10

x10

D4

-

b13

y7

0011

b14

b15

0001

0000

~x10

x10

D4

-

b14

-

0001

b14

b15

0001

0000

~x10

x10

D4

-

b15

y13

0000

b0

1000

1

D1