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

Министерство общего и профессионального образования РФ

Вятский государственный технический университет

Факультет автоматики и вычислительной техники

Кафедра электронных вычислительных машин

ДОПУСКАЮК ЗАЩИТЕРуководитель работы _______ О.А. Залетов

СИНТЕЗ МИКРОПРОГРАММНОГО

УПРАВЛЯЮЩЕГО АВТОМАТА

Пояснительная записка

курсовой работы

по теории автоматов

ТПЖА.220100.22.29 ПЗ

Разработал студент гр. ВМ-22                          (_______ ) Р.В. Гонта

Проверил преподавателькафедры ЭВМ ( _______ ) О.А. Залетов

Нормоконтролер                                                (_______ ) В.Ю. Мельцов

Председатель комиссии                                      (_______ ) В.Д. Матвеев

Члены комиссии                                        (_______ ) В.Ю. Мельцов

Работа защищена с оценкой                     (_______ )

1999


Содержание

Введение 1 Постановка задачи 2 Описание используемого алгоритма умножения

2.1 Алгоритм умножения чисел в форме с ПЗ с простой коррекцией

2.2 Алгоритм умножения первым способом

3 Ручной подсчет

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

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

6 Построение отмеченной ГСА

7 Синтез МПА в соответствии с моделью Мили

7.1 Построение графа автомата

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

7.3 Кодирование на D-триггерах

7.4 Получение логических выражений для функций  возбуждения  D-триггеров  и функций выходов

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

7.6 Получение логических выражений для функций возбуждения  RS-триггеров

7.7 Кодирование на T-триггерах

7.8 Получение логических выражений для функций возбуждения T-триггеров

7.9 Кодирование на счетчике

7.10 Получение уравнений для счетчика

8 Синтез МПА в соответствии с моделью Мура

8.1 Построение графа автомата

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

8.3 Кодирование на D-триггерах

8.4 Получение логических выражений для функций возбуждения D-триггеров  и функций выходов

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

8.6 Получение логических выражений для функций возбуждения RS- триггеров и функций выходов

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

Заключение

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

Перечень сокращений

УДК681.3

Реферат

ГонтаР.В. Синтез микропрограммного управляющего автомата. Курсовая работа / ВятГТУ, каф. ЭВМ,рук. О.А. Залетов – Киров,1999. Гр. ч. 3 л. ф. А2

ОПЕРАЦИОННЫЙ АВТОМАТ, МИКРОПРОГРАММНЫЙУПРАВЛЯЮЩИЙ АВТОМАТ, ГРАФ-СХЕМА АЛГОРИТМА, ГРАФ,ФУНКЦИОНАЛЬНАЯ СХЕМА, МОДЕЛЬ МИЛИ, МОДЕЛЬ МУРА

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

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


 Введение

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


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

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

Функциональную схему устройства построить в основномлогическом базисе. Операнды разрядностью  4 байта (тридцать два разряда) поступают по входной шине (ШИВх)в  дополнительном коде (ДК), результат также в ДК  выводится по выходной шине (ШИВых). В младших 24разрядах операнда хранится  мантисса со знаком, а вследующих 8 разрядах  — характеристика.


2 Описание используемого алгоритма умножения

Процессумножения состоит из последовательности операций сложения и сдвигов.

2.1 Алгоритмумножения чисел в форме с ПЗ с простой коррекцией

1.    Определить знакпроизведения сложением по модулю два знаковых разрядов сомножителей.

2.    Перемножитьмодули мантисс сомножителей по правилам с ФЗ:

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

Правила введениякоррекции при умножении чисел в ДК:

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

-     Еслиодин из сомножителей отрицателен, к псевдопроизведению  надо прибавить ДК отмодуля положительного сомножителя.

-     Еслиоба сомножителя отрицательны, к псевдопроизведению надо прибавить ДК  отмодулей дополнительных кодов обоих сомножителей, то есть их прямые коды.

2.2. Перемножитьмодули сомножителей, представленных в ДК, одним из четырех способов получитьпсевдопроизведение.

3.    Определитьхарактеристику произведения алгебраическим сложением характеристиксомножителей.

4.    Нормализоватьмантиссу результата и выполнить округление если необходимо.

2.2 Алгоритмумножения первым способом

Умножение  с младших разрядов множителясо сдвигом частных сумм вправо.

В каждом такте цикла умножения первымспособом необходимо:

2.1 Сложить множимоес предыдущей частной суммой, если  очередной разряд множителя равен 1, ирезультат (новую частную  сумму)  запомнить; в случае если очередной разрядмножителя  равен  0  суммирование не выполнять;

2.2  Уменьшить вдвоечастную сумму,  что  равносильно сдвигу ее на один разряд вправо.


3 Ручной подсчет

Выполним ручной подсчет в соответствии свыше указанным алгоритмом.

Вкачестве множителя возьмём число 9, а в качестве множимого 13.

3.1 Сомножителиположительные (A>0, B>0)

A= 9 = 10012,  Апк =0,1001,   Адк= 0,1001

B= 13= 11012, Впк= 0,1101,   Вдк= 0,1101

3.1.1 Определим знакпроизведения: 0 + 0= 0

3.1.2 Перемножиммодули сомножителей:

  Таблица 1

Множимое Множитель Сумматор Пояснения 0,1101

0,1001

0,00000000

0,11010000

0,11010000

Сложение 0,01101000 Сдвиг

0,010

0,00110100 Сдвиг

0,001

0,00011010 Сдвиг

0,0001

0,00011010

0,11010000

0,11101010

Сложение 0,01110101 Сдвиг

Получилипсевдопроизведение: 0,01110101

3.1.3Коррекция не нужна, так как оба множителя положительные.

3.1.4Присвоение произведению знака:

(A*B)дк=0,01110101

(A*B)пк=0,01110101

A*B = (9)*(13) = 117 = 11101012

3.2 Сомножителиразных знаков (А<0, B>0)

 A =-9=-10012,  Апк =1,1001,   Адк= 1,0111

 B=13= 11012,  Впк =0,1101,   Вдк= 0,1101

3.2.1 Определим знакпроизведения: 1 + 0= 1

3.2.2 Перемножиммодули сомножителей:

                                         


     Таблица 2

Множимое Множитель Сумматор Пояснения 0,1101

0,0111

0,00000000

0,11010000

0,11010000

Сложение 0,01101000 Сдвиг

0,0011

0,01101000

0,11010000

1,00111000

Сложение 0,10011100 Сдвиг

0,0001

0,10011100

0,11010000

1,01101100

Сложение 0,10110110 Сдвиг

0,000

0,01011011 Сдвиг

Получилипсевдопроизведение: 0,01011011

3.2.3 Произведём коррекцию (прибавим к псевдопроизведению Вдк):

                                                           0,01011011      

    Вдк= 0,00110000

                                                           0,10001011

3.2.4Присвоение произведению знака:

(A*B)дк=1,10001011

(A*B)пк=1,01110101

A*B = (-9)*(13) = -117 = -11101012

3.3 Сомножителиразных знаков (А>0, B<0)

A= 9 = 10012,  Апк =0,1001,   Адк= 0,1001

 B=-13= -11012,  Впк =1,1101,   Вдк= 1,0011

3.3.1 Определим знакпроизведения: 0 + 1 = 1

3.3.2Перемножиммодули сомножителей:

                                              Таблица 3

Множимое Множитель Сумматор Пояснения 0,0011

0,1001

0,00000000

0,00110000

0,00110000

Сложение 0,00011000 Сдвиг

0,010

0,00001100 Сдвиг

0,001

0,00000110 Сдвиг

0,0001

0,00000110

0,0110000

0,00110110

Сложение 0,00011011 Сдвиг

Получилипсевдопроизведение: 0,00011011

3.3.3Произведём коррекцию (прибавим к псевдопроизведению Aдк):

                                                           0,00011011      

    Адк=            0,01110000

                                                           0,10001011

3.3.4Присвоение произведению знака:

(A*B)дк=1,10001011

(A*B)пк=1,01110101

A*B = (9)*(-13) = -117 = -11101012

3.4 Сомножителиотрицательные (A<0, B<0)

 A = -9= -10012,  Апк =1,1001,   Адк= 1,0111

 B=-13=-11012,  Впк =1,1101,   Вдк= 0,0011

3.4.1 Определим знакпроизведения: 1 + 1 = 0

3.4.2Перемножиммодули сомножителей:

  Таблица 4

Множитель Множитель Сумматор Пояснения 0,0011

0,0111

0,00000000

0,00110000

0,00110000

Сложение 0,00011000 Сдвиг

0,0011

0,00011000

0,00110000

0,01001000

Сложение 0,00100100 Сдвиг

0,0001

0,00100100

0,00110000

0,01010100

Сложение 0,00101010 Сдвиг

0,000

0,00010101 Сдвиг

Получилипсевдопроизведение: 0,00010101

3.4.3Произведём коррекцию (прибавим к псевдопроизведению Bпк, а затем Aпк):

                                                           0,00010101      

    Впк= 0,11010000

                                                           0,11100101

    Aпк=            0,10010000

                                                            0,01110101

3.4.4Присвоение произведению знака:

(A*B)дк=0,01110101

(A*B)пк=0,01110101

A*B = (-9)*(-13) = 117 = -11101012


4 Выбор и описаниеструктурной схемы операционного автомата (ОА)

 

ОАдолжен содержать:

-     регистрыRG1, RG2 для приема мантисс операндов с ШИВх;

-     регистрRG3 исчетчик CT1дляприема характеристик с ШИВх;

-     регистрRG4 для записи и хранения результата и частных сумм;

-     комбинационные сумматоры SM;

-     счетчик CT2 для  подсчетатактов умножения;

-     трисумматора по модулю 2 для получения  обратного кода множимого и определенияПРС;

-     триггерT1 для хранениязнака результата;

-     схемуконъюнкции;

-     триггерT2 для фиксацииПРС;

-     усилитель-формировательдля выдачи результата на ШИВых.

   Операндыпоступают в операционный автомат по  32-разрядной  шине ШИВх. Передначалом умножения необходимо обнулить регистр частных сумм RG4, так как именнос него поступает информация на плечо A в SM, в счетчик CT2необходимо занести “001001”, а триггер T1 сбросить. Операнды поступают вдополнительном коде. Сначала мантисса множителя записывается в RG1 и RG2,  а  егохарактеристика   в RG3 и CT1. Мантисса первого операндапреобразуется в ДК с помощью схемы сложения по модулю 2 и сумматора и заноситсяв RG4.Затемзаписываются мантисса и характеристика множимого в RG2 и CT1 соответственно.После анализа знаков операндов произведем коррекцию, если этонеобходимо. Если знаковый разряд множимого (p2) равен 0, то обнуляем RG4. Если знаковыйразряд множителя (p1) равен 1, то в RG4 заносим информациюс плеча Sсумматора.После проведения коррекции начинается процесс получения псевдопроизведения. Впроцессе умножения происходят сдвиги регистров RG1 и RG4, а такжеувеличение счетчика CT2. Кроме того производится анализ младшегоразряда RG1(p4).Если он равен 1 тогда в RG4 заносим информацию с плеча S сумматора. Получениепсевдопроизведения происходит до  тех  пор пока 5-й разряд в счетчике CT2 не окажетсяравным “1”. Далеепроизводится анализ старшего разряда мантиссы результата. Если он равен “0” – требуетсянормализация. Нормализация осуществляется путем сдвига RG4 влево иуменьшеня счетчика CT1. Характеристика произведения получаетсяобычным сложением характеристик операндов, причем старший разряд характеристикиу множителя подается инверсным на плечо сумматора A. Перед выдачейрезультата на ШИВых содержимое RG3, T1 и информация с плеча S сумматора SM2 подается наусилитель-формирователь.

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

y1  -      записьв RG1,

запись вRG3,

сбросT1,

занесение“001001”в CT2;

y2  -      записьв RG2,

записьв CT1,

разрешитьзапись в T1;

y3  -      обнулениеRG4;

y4  -      записьв RG4;

y5  -      CT2:=CT2+1,

сдвинутьвправоRG1:=0.R1(RG1),

сдвинутьвправо RG4:=0.R1(RG4);

y6   -      SMp=1 – подача  “1”на вход переноса сумматора,

управление совокупностью схем сложения по модулю  2;

y7   —      CT1:=CT1-1,

сдвиг влево RG4:=L1(RG4).0;

y8   —      управление выдачей на ШИВых;

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

Х    —      проверканаличия операндов на ШИВх,

p1   —      знак операнда в RG1;

p2   —      знак операнда в RG2;

p3   —      проверка на наличие нулевого операнда в RG2;

p4   —      проверка очередной цифры множителя;

p5   —      проверка условия выхода из цикла;

p6   —      проверка результата на нормализованность;

p7   —      проверка условия ПРС;

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

Таким образом,управляющий  МПА  должен вырабатывать 8  управляющих сигналов и посылать их в ОА  в нужные такты машинного времени в соответствии с алгоритмом выполненияоперации сложения, ориентируясь на 9  осведомительных сигналов, поступающих из ОА, структурная схема которой представлена на  рисунке 1.


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

Содержательная граф-схема алгоритма представлена на рисунке 2. Выполнениеалгоритма начинается с проверки наличия операндов на ШИВх (блоки 1 и 5). Припоступлении первого операнда происходит его занесение в RG1,RG2, RG3 иCT1,атакже обнуление RG4, занесение “001001” в CT2 и сбростриггеров T1и T2 (блок 2). Затемв регистр RG4 поступает ДК отпервого операнда (блок 4). При поступлении второго операнда происходит егозанесение в RG2  и CT1 (блок 6). После каждого занесения производитсяанализ p3.Еслихотя бы в одном случае p3=1 (блоки  3 и 7), значит операндравен нулю и значит необходимо обнулить RG4, RG3, CT1,T1 (блок19)и перейти к блоку 20. В противном случае продолжается процесс коррекции. Еслиp2=0(блок 8) тогда обнуляется регистр RG4 (блок 9). Если p1=1 (блок 10) тогдаполучившаяся в сумматоре SM1 сумма заносится в RG4(блок 11).

Далее получаетсяпсевдопроизведение. Если p4=0 (блок 12), тогда получившаяся всумматоре SM1суммазаносится в RG4(блок 13). В любом случаевыполняется блок сдвигов (блок 14): содержимое RG1 и RG4 сдвигаютсявправо,CT2увеличивается на “1“. Далее проверяется p5<sub/>(блок 15) — условиевыхода из цикла. Если p5=1, цикл завершается, иначе переход кблоку 12.

Затемпроизводится нормализация. Если p6=0 (блок 16), то выполняется блоксдвигов (блок 18): содержимое RG4 сдвигаетсявлево,CT2уменьшается на “1“.

При сложениихарактеристик одинакового знака возможно переполнение разрядной сетки (ПРС).Если p7=1 (блок 17), возникло ПРСи операция умножения завершается.

Затем результатпри  Z=1 (блок 21) будет передан по ШИВых (блок 22) в другие устройства.


6 Построениеотмеченной ГСА

Перед разметкойсодержательной ГСА поставим возле каждой  операторной вершины управляющиесигналы УА и обеспечивающие  выполнение  требуемых  действий  в соответствии сосписком МО операционного  автомата.  Совокупность МО для каждой операторной вершины  образуют  микрокоманды  (МК), список которых приведен в таблице 5.

                                                                                         Таблица5

MK Совокупность МО Y1 y1,y2,y3 Y2 y2 Y3 y3 Y4 y4 Y5 y5 Y6 y4,y6 Y7 y7 Y8 y8 Y9 y1,y3

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

                                                                                         Таблица 6

Входной сигнал УА X1 X2 X3 X4 X5 X6 X7 X8 X9 Логическое условие ОА X p3 p2 p1 p4 p5 p6 p7 Z

Далее в полном соответствии ссодержательной  ГСА  строим отмеченную  ГСА (рисунок 3), условнымвершинам которой приписывается один из входных сигналов УА (x1,...,x9), аоператорным вершинам — одна из МК (в скобках указана совокупность МО для каждойМК). Выделение состояний управляющего  МПА возможно в соответствии с модельюМили или моделью Мура.

На  рисунке 3  приведенаразметка  ГСА  для модели Мили символами   a0, а1,..., а9  и для модели Мура — символами b0,b1,...,b12. Таким образам, еслистроить управляющий  МПА  в соответствии с моделью Мили, то он будет иметь 10 состояний, а в соответствии с моделью Мура  -  13 состояний.

Замечание. В двух вершинах ожидания (5 и 20) при разметке поМуру введены фиктивные состояния автомата  b3 и  b10.

Явно большеечисло состояний для модели Мура по сравнению с моделью Мили не дает достаточныхоснований для выбора модели Мили как более предпочтительной. Сравнение вариантовможно будет выполним лишь на этапе построения функциональных схем УА, сравнивсхемы по сложности и быстродействию. Поэтому далее будем вести проектированиеУА  параллельно для модели Мили и для модели Мура.


7 Синтез МПА всоответствии с моделью Мили

7.1 Построениеграфа автомата

На основеотмеченной ГСА построен граф автомата Мили  (рисунок 4). Граф автомата Милиимеет  10  вершин, соответствующих состояниям автомата  а0, а1,..., а9,дуги его отмечены входными сигналами, действующими на каждом переходе(числитель), и набором выходных сигналов, вырабатываемых  УА  на данномпереходе (знаменатель).

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

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<sub/>таблицы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

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

/> /> /> /> /> /> <td/> />

/>    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

/> /> /> /> /> /> <td/> />

                                    34        B4={0010} 

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

/> /> /> /> /> /> <td/> />

                                    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 

/> /> /> /> /> /> <td/> />

                                    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

k9=1000 

Кодированиядля RS-триггеров изображены в таблице 10.

Таблица 10

As

a0 a1 a2 a3 a4 a5 a6 a7 a8 a9

K{as}

0000 0001 0011 0010 0110 0111 0101 0100 1100 1000

7.6 Получение логических выражений для функцийвозбуждения RS-триггеров

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

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

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

Код  am

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

Код  as

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

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

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

a0

a1

0000

0001

X1

X1

-

Y1(y1,y2,y3)

S4 T4 a1 0001

a2

a9

0011

1000

X2

X2

Y6(y4,y6)

Y9(y1,y3)

S3

S1R4

T3

T1T4

a2 0011

a2

a3

0011

0010

X1

X1

-

Y2(y2)

R4 T4 a3 0010

a4

a4

a9

0110

0110

1000

X2X3

X2X3

X2

-

Y3(y3)

Y9(y1,y3)

S2

S2

S1R3

T2

T2

T1T3

a4 0110

a5

a5

0111

0111

X4

X4

-

Y6(y4,y6)

S4

S4

T4

T4

a5 0111

a6

a6

0101

0101

X5

X5

-

Y4(y4)

R3

R3

T3

T3

a6 0101 a7 0100 1 Y5(y5) R4 T4 a7 0100

a5

a8

0111

1100

X6

X6

-

-

R3R4

S1

T3T4

T1

a8 1100

a0

a8

a9

0000

1100

1000

X7X8

X7

X7X8

-

Y7(y7)

-

R1R2

R2

T1T2

T2

a9 1000

a0

a9

0000

1000

X9

X9

-

Y8(y8)

R1 T1

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

S1= a1x2 v a3x2 v a7x6

S2= a3x2

S3= a1x2

S4= a0x1 v a4

R1= a8x7x8 v a9x9

R2= a8x7

R3= a3x2 v a5 v a7x6

R4= a1x2 v a2x1 v a6 v a7x6

После упрощения и выделения общихчастей, получим:

f= a1x2

g= a3x2

k= a7x6

m= a8x7

p= a3x2

q= a1x2

r= a0x1

h= a2x1

e= r v a1x2 v g

n= q v a4x4

S1= f v g v a7x6

S2= p

S3= q

S4= r v a4

R1= mx8 v a9x9

R2= m

R3= g v a5 v k

R4= f v h v a6 v k

y1= e

y2= r v h

y3= e v px3

y4= n v a5x5

y5= a6

y6= n

y7= a8x7

y8=a9x9

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


7.7 Кодирование на T-триггерах

В качестве элементов памяти возможно использованиене только D-триггеров и RS-триггеров, а также используются T-триггеры.При   использовании T-триггеров используется такая же кодировка, каки для RS-триггеров. Кодирования для T-триггеровизображены в таблице 10.

7.8 Получение логических выражений для функцийвозбуждения T-триггеров

Далеесоставляем прямую структурную таблицу переходов  и выходов автомата Мили (таблица11) и по известному правилу формируем логические выражения для функций возбуждения.

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

T1= a1x2 v a3x2 v a7x6 v a8x7x8 v a9x9

T2= a3x2 v a8x7

T3= a1x2 v a3x2 v a5 v a7x6

T4= a0x1 v a4 v a1x2 v a2x1 v a6 v a7x6

После упрощения и выделения общихчастей, получим:

f= a1x2

g= a3x2

k= a7x6

m= a8x7

p= a3x2

q= a1x2

r= a0x1

h= a2x1

e= r v a1x2 v g

n= q v a4x4

i= r v h

T1= f v g v a7x6 v mx8 v a9x9

T2= p v m

T3= q v g v a5 v k

T4= i v a4 v f v a6 v k

y1= e

y2= i

y3= e v px3

y4= n v a5x5

y5= a6

y6= n

y7= a8x7

y8=a9x9

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


7.9 Кодирование на   счетчике

 

Длякодирования состояний автомата на счётчике необходимо, чтобы разность кодовмежду соседними состояниями составляла единицу. Даннаякодировка представлена в таблице 12.

Таблица 12

As

a0 a1 a2 a3 a4 a5 a6 a7 a8 a9

K{as}

0000 0001 0010 0011 0100 0101 0110 0111 1000 1001

7.10 Получение уравнений для счетчика

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

Таблица 13. Прямаяструктурная таблица переходов и выходов автомата Мили.

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

Код  am

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

Код  as

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

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

Функции возбуждения a0 0000

a0

a1

0000

0001

X1

X1

-

Y1(y1,y2,y3)

E+1 a1 0001

a2

a9

0010

1001

X2

X2

Y6(y4,y6)

Y9(y1,y3)

E+1

D1D8 M

a2 0010

a2

a3

0010

0011

X1

X1

-

Y2(y2)

E+1 a3 0011

a4

a4

a9

0100

0100

1001

X2X3

X2X3

X2

-

Y3(y3)

Y9(y1,y3)

E+1

E+1

D1D8 M

a4 0100

a5

a5

0101

0101

X4

X4

-

Y6(y4,y6)

E+1

E+1

a5 0101

a6

a6

0110

0110

X5

X5

-

Y4(y4)

E+1

E+1

a6 0110 a7 0111 1 Y5(y5) E+1 a7 0111

a5

a8

0101

1000

X6

X6

-

-

D1D4 M

E+1

a8 1000

a0

a8

a9

0000

1000

1001

X7X8

X7

X7X8

-

Y7(y7)

-

M

E+1

a9 1001

a0

a9

0000

1001

X9

X9

-

Y8(y8)

M

 

M – вход управления записью /счётом в счётчике;

E+1  — вход управления прямым счётом;

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


Таблица 14

М E+1 Режим

1

1

1

1

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

Прямой счёт

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

Хранение

Изтаблицы 13 получаются логические выражения для каждой функции возбужденияуправляющего входа счётчика, а также для функций выходов как конъюнкции соответствующихисходных состояний amи входных сигналов, которые объединенызнаками дизъюнкции для всех строк, содержащих данную функцию возбуждения илисоответственно функцию выхода.

M = a1x2 v a3x2v a7x6 v a8x7x8 v a9x9

E+1 = a0x1 va1x2 v a2x1 v a3x2 v a4 v a5 v a6 v a7x6 v a8x7x8

D1 = a1x2 v a3x2v a7x6

D4 = a7x6

D8 = a1x2 v a3x2

y1 = a0x1 v a1x2 va3x2

y2 = a0x1 v a2x1

y3 = a0x1 v a1x2 v a3x2x3 v a3x2

y4 = a1x2 v a4x4 v a5x5

y5 = a6

y6 = a1x2 v a4x4

y7 = a8x7

y8 =a9x9

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

e=a1 v a3                     d=x1(a0v a2)                          f=a0x1

h=x2e                          g=a1x2v a4x4                                    p=a8x7

r=f v h                         q=a7x6                                    n=h v q

M = n v px8 va9x9

E+1 = d v x2e va4 v a5 v a6 v a7x6 v px8

D1 = n

D4 = q

D8 = h

y1 = r

y2 = d

y3 = r v a3x2x3

y4 = g v a5x5

y5 = a6

y6 = g

y7 = a8x7

y8 =a9x9

Цена комбинационной схемы по Квайнусоставляет С=57.


Унитарный способ кодирования не можетбыть использован, так как n намного меньше N, где N наибольшее числоЭП (N=10), а n наименьшее числоЭП (n=log216).

Сравниваяотносительно аппаратурных затрат варианты построения автомата Мили на RS,D, T-триггерах и на счетчике можно убедиться что цена логических выражений дляфункций возбуждения оказывается приблизительно равной: для RS цена — 59,для D цена – 59, для T цена 61, а длясчетчика 57.


8 Синтез МПА всоответствии с моделью Мура

8.1 Построение графаавтомата.

На основеотмеченной ГСА построен граф автомата Мура (рисунок 5).Граф автомата Мура имеет11 вершин,соответствующихсостояниямавтоматаb0,b1,...,b10, каждое изкоторых определяет  наборы  выходных сигналов, управляющего автомата, а дугиграфа  отмеченывходнымисигналами, действующими на данном переходе.

8.2 Построениеструктурной таблицы переходов.

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

Таблица 15. Прямаяструктурная таблица переходов и выходов автомата Мура.

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

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

Код

bm

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

Код

bs

Входной сигнал Функции возбуждения D-триггеров b0 - 0001

b0

b1

0001

0111

X1

X1

D4

D2D3D4

b1 y1,y2,y3 0111

b2

b12

1110

0011

X2

X2

D1D2D3

D3D4

b2 y4,y6 1110

b3

b4

1010

0110

X1

X1

D1D3

D2D3

b3 - 1010

b3

b4

1010

0110

X1

X1

D1D3

D2D3

b4 y2 0110

b5

b6

b7

b8

b12

1100

0101

0010

0000

0011

X2X3

X2X3X4

X2X3X4X5

X2X3X4X5

X2

D1D2

D2D4

D3

D3D4

b5 y3 1100

b6

b7

b8

0101

0010

0000

X4

X4X5

X4X5

D2D4

D3

b6 y4,y6 0101

b7

b8

0010

0000

X5

X5

D3 b7 y4 0010 b8 0000 1 b8 y5 0000

b0

b7

b8

b9

b10

b11

0001

0010

0000

1001

0100

1000

X6X7X8

X6X5

X6X5

X6X7

X6X7X8X9

X6X7X8X9

D4

D3

D1D4

D2

D1

b9 y7 1001

b0

b9

b10

b11

0001

1001

0100

1000

X7X8

X7

X7X8X9

X7X8X9

D4

D1D4

D2

D1

b10 - 0100

b10

b11

0100

1000

X9

X9

D2

D1

b11 y8 1000 b0 0001 1 D4 b12 y1,y3 0011

b10

b11

0100

1000

X9

X9

D2

D1

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 vb9x7 v b10x9 v b12x9

D2= b0x1 v b1x2 v b2x1 v b3x1 vb4x2(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 vb6x5 v b8x6x4

D4= b0 v b1x2 v b4x2x3x4 v b4x2 v b5x4 v b8x6(x7x8 vx7) 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<sub/> и  Di. Код  с  наименьшей суммой и является наиболее оптимальным,когда все суммы получились одинаковыми выбираем любой код и кодируем этосостояние.

/> /> /> /> /> /> <td/> />

/>    00                                            k0=0000

            01

12                                            k1=0001

/>/>/>            1 12                                   

            23                                12       B2 ={0001}

            24                    M2=    23       C1={0011,0101,1001}       

 M=     33                               24        D2={0011,0101,1001}

           34                                            W0011=1

            45                                            W0101=1

            46                                            W1001=1

            47                                            k2=0011

/>/>            48                               

            4 12                            23        B3={0011}

           56                    M3=    33        C2={0010,0111,1011}

           57                                34        D3={0010,0111,1011}

           58                                            W0111=1

           67                                            W0010=1

            68                                            W1011=1

            78                                            k3=0010

           80

/>/>            87                                24        B4={0011,0010}

            88                                34        C2={0111,1011}C3={0110,1010}

            89                                45        D4={0111,1011,0110,1010}

            8 10                 M4=    46        W0111=3

            8 11                             47        W1011=3

            90                                48        W0110=3

            99                                4 12     W1010=3

            9 10                                         k4=0110

/>/>            9 11

            10 10                           45        B5={0110}

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

            11 0                             57        D5={0100,0111,1110}

            12 10                           58        W0100=1

12 11                                       W0111=1

                                                W1110=1

                                                            k5=0100

/>/>                                                46        B6={0110,0100}

M6=    56        C4={0111,1110}

            67        C5={0101,1100}

            68        D6={0111,1110,0101,1100}

D\B 0110 0100 W 0111 1 2 3 1110 1 2 3 0101 2 1 3 1100 2 1 3

k6=0101 

/> /> /> /> /> /> <td/> />

                                                47        B7={0110,0100,0101}

57        C4={0111,1110}

M7=    67        C5={1100}

            78        C6={0111,1101}

            87        D7={0111,1110,1100,1101}

D\B 0110 0100 0101 W 0111 1 2 1 4 1110 1 2 3 6 1100 2 1 2 5 1101 3 2 1 6

                                                            k7=0111

/>/>80        B8={0000,0110,0100,0101,0111}

48        C0={1000} 

            58        C4={1110}

            68        C5={1100}

M8=    78        C6={1101}

            87        C7={1111}

            88        D8={0000,1110,1100,1101,1111}

            89       

            810

            811

D\B 0000 0110 0100 0101 0111 W 1000 1 3 2 3 4 13 1110 3 1 2 3 2 11 1100 2 2 1 2 3 10 1101 3 3 2 1 2 11 1111 4 2 3 2 1 12

                                                k8=1100

/> /> /> /> /> /> <td/> />

            90        B9={0000,1100}

89        C0={1000}

M9=    99        C8={1000,1101,1110}

            910     D9={1000,1101,1110}

            911     k9=1000


/>


/>                                                810     B10={1100,1000}

9 10     C8={1101,1110}

M10=  1010   C9={1001,1010}

            1011   D10={1101,1110,1001,1010}

            1210  

D\B 1100 1000 W 1101 1 2 3 1110 1 2 3 1001 2 1 3 1010 2 1 3

                                                            k10=1110

/> /> /> /> /> /> <td/> />

                                                11 0     B11={0000,1100,1000,1110}

8 11     C0={1001,1010}C8={1101}

M11=  911     C9={1001,1010}

            1011   C10={1010}

            1211   D11={1001,1010,1101}

D\B 0000 1100 1000 1110 W 1001 2 2 1 3 8 1010 2 2 1 1 6 1101 3 1 2 2 8

                        k11=1010

/> /> /> /> /> /> <td/> />

                                                1 12     B12={0001,0110,1110,1010}

M12=  412     C1={1001} C4={1111}

            1210   C10={1111}

            1211   C11={1011}

                        D12={1001,1111,1011}

D\B 0001 0110 1110 1010 W 1001 1 4 3 2 10 1111 3 2 1 2 8 1011 2 3 2 1 8

                        k12=1011

Кодирования для RS-триггеровизображены в таблице 18.

Таблица  18

b b0 b1 b2 b3 b4 b5 b6 K(b) 0000 0001 0011 0010 0110 0100 0101 b b7 b8 b9 b10 b11 b12 K(b) 0111 1100 1000 1110 1010 1011

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

Далее составляем прямую структурную таблицу переходов и выходов автомата Мура (таблица 19) и по известному правилуформируем логические  выражения для функций возбуждения.

Таблица 19. Прямаяструктурная таблица переходов и выходов автомата Мура.

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

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

Код

bm

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

Код

Bs

Входной сигнал Функции возбуждения D-триггеров b0 - 0000

b0

b1

0000

0001

X1

X1

S4 b1 y1,y2,y3 0001

b2

b12

0011

1011

X2

X2

S3

S1S3

b2 y4,y6 0011

b3

b4

0010

0110

X1

X1

R4

S2R4

b3 - 0010

b3

b4

0010

0110

X1

X1

S2 b4 y2 0110

b5

b6

b7

b8

b12

0100

0101

0111

1100

1011

X2X3

X2X3X4

X2X3X4X5

X2X3X4X5

X2

R3

R3S4

S4

S1R3

S1R2S4

b5 y3 0100

b6

b7

b8

0101

0111

1100

X4

X4X5

X4X5

S4

S3S4

S1

b6 y4,y6 0101

b7

b8

0111

1100

X5

X5

S3

S1R4

b7 y4 0111 b8 1100 1 S1R3R4 b8 y5 1100

b0

b7

b8

b9

b10

b11

0000

0111

1100

1000

1110

1010

X6X7X8

X6X5

X6X5

X6X7

X6X7X8X9

X6X7X8X9

R1R2

R1S3S4

R2

S3

R2S3

b9 y7 1000

b0

b9

b10

b11

0000

1000

1110

1010

X7X8

X7

X7X8X9

X7X8X9

R1

S2S3

S3

b10 - 1110

b10

b11

1110

1010

X9

X9

R2 b11 y8 1010 b0 0000 1 R1R3 b12 y1,y3 1011

b10

b11

1110

1010

X9

X9

R2S4

R4

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


S1= b1x2 v b4x2x3x4x5 v b4x2 v b5x4x5 v b6x5 v b7

S2= b2x1 v b3x1 v b9x7x8x9 v b12x9

S3=b1 v b5x4x5 v b6x5 v b8x6x5 v b8x6x7x8 v b9x7x8

S4= b0x1 v b4x2x3x4 v b4x2x3x4x5 v b4x2 v b5x4 vb5x4x5 v b8x6x5

R1= b8x6x7x8 v b8x6x5 v b9x7x8 v b11

R2= b4x2 v b8x6x7x8 v b8x6x7 v b8x6x7x8x9 v b10x9

R3= b4x2x3 v b4x2x3x4 v b4x2x3x4x5 v b7 b11

R4= b6x5 v b2 v b7 vb12

Упростив и выделив общие части получаем:          

d=b4x2

q=b4x2

e=qx3

r=x4x5

f=b5r

g=b6x5

s=b8x6

m=x7x8

h=sm

i=b8x6x5

j=b8x6x7x8

k=b9x7x8

n=x4x5

p=b2 v b7

S1= b1x2 v en v d v b5n v g v b7

S2= x1(b2 v b3) v x9(k v b12)

S3= b1 v f v b6x5 v i v j v k

S4= b0x1 v e(x4 v r) v d v b5x4

R1= h v i v b9m v b11

R2= d v h v sx7 v x9(j v b10)

R3= qx3 v e(x4 v n) v b7 v b11

R4= g v p v b12

y1= b1 v b12

y2= b1 v b4

y3= b1 v b5 v b12

y4= p v b6

y5= b8

y6= b2 v b6

y7= b9

y8=b11

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

Унитарный способкодирования не может быть использован, так как n намного меньшеN,где Nнаибольшеечисло ЭП (N=13), а n наименьшее числоЭП (n=log216).

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

Сравниваяотносительно аппаратурных затрат варианты построения автомата Мура на RS и D-триггерах можноубедиться что цена логических выражений для функций возбуждения ЭП отличаетсяне на много:дляRS цена — 114, для D цена — 109.

Сравнениевариантов построения управляющего автомата  по  модели Мили и модели Мурапоказывает, что модель Мура дает комбинационную схему большей сложности. Однакоследует обратить внимание на то, что комбинационная  схема, реализующая функциивыходов автомата Мура, чрезвычайно проста (ее цена для схемы использующей D-триггеры, С=11).


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

Сравниваяпостроения автомата на основе модели Мура и Мили, видно, что построениеавтомата по модели Мили требует меньше аппаратурных затрат, чем построениеавтомата по модели Мура. Модель Мили на D-триггерахимеет ценупо Квайну 59, на RS-триггерах ценатакже составляет 59, на T-триггерах цена составляет 61, а на счётчикецена составляет 57.

Наиболееоптимальной по аппаратурным затратам и стоимости является модель Мили на счётчике, поэтомуфункциональная схема МПА будет строиться именно для этой модели.

На рисунке 6 приведенафункциональнаясхема проектируемого МПА, управляющего операцией умножения двоичных чисел с ПЗв ДК с простой коррекцией. Функциональная схема построена в основномлогическом  базисе  И, ИЛИ, НЕ в полном соответствии с приведенной для моделиМили системой логических уравнений для функций возбуждения элементов памяти.


Заключение

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

При синтезе МПА была рассмотрена модель Мили и модельМура. В результате проделанной работы оказалось, что наименьшие аппаратурныезатраты даёт модель Мили с использованием счётчика в качестве элементов памяти.


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

1.  Курс лекций по дисциплине “Дискретнаяматематика”.

2.  Т.Р.Фадеева.  СинтезМикропрограммного управляющего автомата. Методические указания к курсовойработе. Киров, 1989 год.

3.  Б.М.Каган. Электронныевычислительные машины и системы. М.:Энергоатомиздат, 1985.

4.  Курс лекций по дисциплине “Теория автоматов”./>

5.  Лысиков Б.Г.Арифметические и логические основы цифровых автоматов. Минск: ВМ, 1980.


Переченьсокращений

ГСА- граф-схема алгоритма,

УА - управляющий автомат,

ОА - операционный автомат,

ПРС- переполнение разрядной сетки,

ФЗ - фиксированная  запятая,

ДК - дополнительный код,

МПА- микропрограммный аппарат,

МК - микрокоманда,

МО - микрооперация.

еще рефераты
Еще работы по информатике, программированию