Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Баранов, С. И. Синтез микропрограммных автоматов

.pdf
Скачиваний:
81
Добавлен:
19.10.2023
Размер:
6.76 Mб
Скачать

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

К о д ИС­

 

-

ХО Д НО ГО

состоя­

 

ния

«1

11101

 

«1

11101

 

O n

11111

Оз

00111

 

о.| 00101

0.100101

Он

Н П О

 

 

 

 

 

 

 

 

Таблица 6-9

Часть

обратной

структурной

таблицы

 

 

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

 

Код

Входной

Выходной

Обязательные

 

состоя­

 

ния

сигнал

сигнал

 

функции

 

перехода

 

 

 

 

 

возбуждения

«т

 

0 0 100

ЛѴѴѴѴзХ.)

Ух,

U2

Фі, Фа, Фо

 

 

 

■Vi-'-W'.i-'-'o

Ух,

Уз

 

Фі. Фа. Фа

 

 

 

-'•y.v2.v;,A-.).Y5

Ух,

Уз

 

Фі. Фа, Фі, Фй

 

 

 

AjA'o-V^.Vfi

Ух, Уа, У7

Фі, Фй

 

 

 

•Н-ИЛЗДо

Ух,

Ух,

Уь

Фа

 

 

 

Х1Х6Х8

Ух,

Ух,

Уй

Фй

 

 

 

Х ХХ 3 Х 3 Х Х Х 3

Ух,

Уз

 

Фт, Фа, Фі

Выносим Z3. Выход схемы для Zg обозначим буквой 20. Дальней­

шие вынесения

невозможны.

Схема для

у г, у 2 и у 3 после вынесения вниз приведена на

рис. 6-17, б. Цена схемы сократилась на 5 входов в логические эле­ менты.

Процедура вынесения вниз может быть использована при минимизации схем «ИЛИ» для выходных сигналов и функции возбуждения с одновременным до­ определением функций возбуждения. Проиллюстрируем это на примере построе­ ния схемы для переходов в состояние а33 в табл. 6-10, являющейся частью об­ ратной структурной таблицы некоторого автомата. Так как в данном случае конкретный вид входных сигналов безразличен, они представлены в этой таблице в общем виде.

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

«зо

«ЙО

«01

«75

«19

«іо

«аі

Таблица 6-10

Часть структурной таблицы для иллюстрации вынесения вниз

Код ис­ ходного состоя­ ния

1010010

1010010

0010011

1010011

0111111

ОПИИ

0110110

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

«33

Код состоя­ ния перехода

1010000

Входной

Выход­

Обязатсльн ые

сигнал

ной

функции возбуждения

 

сигнал

 

Хі («г,о> «зз)

Ха («зо, «зз) X («в-і а «зз)

Л' -5, «зз)

-"Ц («19, «Зз)

ЛИ («19, «зз)

X (а.п , а33)

Уах,

У63

'

Фо

Ухз,

Узъ

 

Фо .

Фі, фо, Фт

У6X

 

Фо, ф7

Уах,

Увз

’фх, Фа,

ф.1, Фа, Фе, Фт

Уах,

Убз

Фі, Фа,

Фі, Фй, Фо, Фт

Ухз,

Узъ

Фі.

Фа, Фй, Фо

117

Очевидно, что при построении схем, соответствующих каждой строчке, табл. 6-10, получим семь схем «И», с которых снимаются записанные в этих строч­ ках выходные сигналы и функции возбуждения:

с „И “ 1— f/oi, 0о2>ФбІ

С ,,И“ 2 —У 1 Ь ,

1/55, ф„;

с ,,И“ 3

— ф|,

фо, ф7;

с ,,И“ 4 — г/оі, Фо, Ф7;

с ,,И“ 5

1/01,

</02,Фі, ф2, Ф4. Фй, Фб. ФтІ

с ,,И“ 6

— Уві,

0в2,фі, Фг, фі. Фа, Фе, Ф?;

с ,,И“ 7

і/15,

1/55,Фі, Фа. Фо, Фо-

Для получения каждого выходного сигнала или функции возбуждения не­ обходимо построить схему «ИЛИ», на которую подать выходы тех схем из «И» 1,

. . . , «И» 7, с которых снимается этот выходной сигнал или эта функция воз­ буждения (рис. 6-18, а). Схему на рис. 6-18, а можно проминимизировать с по­ мощью вынесения вниз, как это было сделано выше для выходных сигналов. Но так как эта схема соответствует переходам в одно состояние, можно попытаться для ее минимизации доопределить функции возбуждения.

Как и в рассмотренном выше примере вынесения вниз для выходных сигна­ лов, выпишем для каждого выходного сигнала и функции возбуждения номера схем «И», с которых они снимаются. Кроме того, для каждой функции возбужде­ ния в скобках запишем номера схем, с которых можно снять эту функцию воз­ буждения, если доопределить функции возбуждения на рассматриваемом пере­ ходе. Таким образом, каждой функции возбуждения соответствует слово из двух частей: обязательной (без скобок) и необязательной (в скобках).

І/бі=1, 4, 5, 6

 

 

 

 

081

 

 

 

 

 

 

 

 

 

 

 

 

 

У62 =

1,

б,

6

 

 

 

 

1, 5, 6

 

 

052

 

 

 

 

 

 

 

 

 

 

016 = 2, 7

 

 

 

 

 

 

 

 

 

015

 

 

 

 

 

 

 

 

055 = 2, 7

 

 

 

 

 

 

 

 

 

2,7

055

 

Остальные

 

ф4 =

3,

5,

6,

7

(1,

2,

4)

1,

4,

5,

6

1, 5,

6

2,7

2,7

 

 

ф2 =

5,

6,

7 (1, 2, 3, 4)

1,

4,

5,

6

1,

5,

6

2,7

2,7

I,

2,

3,

4,

5,

6,

7

ф4 = 5, 6

(1,

2,

3,

4,

7)

I,

4,

5,

6

1,

5,

6

2,7

2,7

1,

2,

3,

4,

5,

6,

7

Фа =

5,

6,

7 (1, 2, 3, 4)

1,

4,

5,

6

1, 5,

6

2,7

2,7

1,

2,

3,

4,

5,

6,

7

ф6 =

1,

2,

3,

4,

5,

6,

7

1,

4,

5,

6

1,

5,

6

2,7

2,7

1,

2,

3,

4,

5,

6,

7

ф7 =

3,

4,

5,

6

(1,

2,

7)

1,

4,

5,

6

1,

5,

6

2,7

2,7

1,

2,

3,

4,

5,

6,

7

Находим пересечения всех выписанных слов, не делая различия между бук­ вами в обязательной и необязательной частях. Так, например, пересечение ме­ жду і/оі = 1, 4, 5, 6 и Фі = 3, 5, 6, 7 (1, 2, 4) равно 1, 4, 5, 6 и т. д. Находим,

таким образом, все общие части:

Z, = 1, 2, 3, 4, 5, 6, 7 ( фз, фй, ф5, ф|, ф0, фЗ);

Zo = 1 .

®(^61 ’ ФТ• Ф5 ’ Фі> Фб’ Фб’ Ф7)»

Z3= l , 5 , б(«/61, г/62, ФІ, Фг, ФІ, Ф5, Фе, ФІ);

Z4 = 2, 7 (у15, у№, ф|, фі, фі, ф§).

В скобках после общей части, как и выше, записываем номера слов, в ко­ торые она входит, но только в том случае, если хотя бы одна буква из общей части входит в обязательную часть слова. Именно поэтому после общей части Z4 в скобках нет ф4 и ф7, так как все буквы Z^ входят в необязательную часть ф.}

118

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

Например, после общей части Z2 — 1, 4, 5, 6 в скобках стоят (у81, фр ф,, ф^,

ФІ’ Фщ Ф?)' Действительно, две буквы общей части Z2 (1 и 4) стоят в скобках в

слове фр Верхний индекс у ф7 равен единице, так как только одна буква из ф7 fl) входит в необязательную часть слова ф7.

jRjnjn .и)ßvwxsjajn jfijnxum

~УisУss

Уя'

ТТ

-Увг 2 7

:

I

I

1

S

6

Рис. 6-18. Вынесение вниз с доопределением функций возбуждениям — схема без вынесения, б — схема после вынесения с доопределением, в — схема после вынесения без доопределения

Цена общей части при вынесении вниз с учетом доопределения подсчиты­ вается по формуле:

W (Z) = т{п — 1) п + г і,

(6-9)

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

Включение і со знаком минус в выражение для W (Z) объясняется тем, что уменьшение цены схемы в результате вынесения вниз учитывается только для

119

обязательной части. По формуле (6-9) найдем цену каждой пз общих частей.

 

Ц7 (Zf = 7-5 — 6 + 6 — 19=16;

117 (Zo) = 4-6 — 7 +

1— 9 = 9;

 

Ц7 (Zf

= 3-7

— 8 + 1— 5 = 9;

 

117 (Z.,) = 2-5 — 6 + 2

— 3 = 3.

Ц7 (Z f

= max

W (Zf

= 16 (7 = 1, 2,

3,

4) — максимальная

цена у общей ча­

сти Zj,

которую п выносим вниз из слов (рх, ф2, ф.,, ф5, ф„, ф7. После вынесения

общей части Zx, например, пз слова

=

3, 5, 6, 7 (1, 2, 4) буквы 1, 2, 4, входя­

щие в необязательную часть ф7, становятся обязательными, т. е. происходит доопределение cpt, что равносильно тому, что со схем «И»1, «И»2 и «И»4 снимается функция возбуждения tpt. То же самое справедливо и для других функций, из которых выносится Zx.

После вынесения вниз Zt слова cpj, фо, ф.,, фг>, ф„ п ф7 удаляются из исход­ ного множества слов, так как все они совпадают с общей частью. Выход схемы, реализующей Zl( обозначим новой буквой, 8.

Находим пересечения в новом множестве слов:

»Ли =

I , 4, 5, 6

Уb i

 

Ув » =

1,

5, 6

1, 5,

6

У іъ =

2,

7

Уъъ = 2 ,7

 

 

 

 

Z1— \, 2, 3,

-1,

5,

6,

7

1, 4,

5, 6

Z 5 =

1,'5,

6

( i/q1. Ун»,

2 , ) ;

Z0=

1,

4,

5,

6 (y6l,

Zf;

2t =

2,

7

(y15,

уш

Zf;

Уво

Уіа

2,7 Уъъ

1, 5, 6 2,7 2,7

(Zf = 4;

W (Z0) = 3;

W (Zf = 3.

Выносим Z5. Выход схемы «ИЛИ», реализующей Z5, обозначим буквой 9.

Ув1 — 4,

9

 

Уbi

 

 

 

 

 

і/іг. = 2, 7

 

УІГ.

 

 

 

 

У-,5 =

2,

7

 

2,7

Уьв

 

 

Zx =

2,

3, 4,

7, 9

4,9

2,7

2,7

 

25= 1, 5, 6

 

 

 

Zs = 4,9 (i/cl,

Zf;

W (Zs) =

1;

 

 

2g =

2,7 ((/,5, y;>:„ Zf; U7(Zg) =

3.

 

Выносим Zg. Выход схемы «ИЛИ», реализующей Z9, обозначим буквой 10.

Убі = 4.9

 

Убі

 

 

 

 

 

 

Zi =

3, 4,

9, 10

4,9

 

 

 

 

2g =

1, 5,

6

 

 

 

 

 

2g = 2,7

 

 

 

 

 

 

2]0 — 4,9 (ущ,

Zf;

W (Zw) — 1.

 

Процедура заканчивается вынесением Zln. Соответствующая схема приве­

дена на рис. 6-18, б. Число входов в логические

элементы по

сравнению с

рис. 6-18, а сократилось на 24 входа

(W (Zf +

117 (Zf + ll7 (Zf + W (210) =

= 24). Если 'проделать

вынесения вниз только для

обязательных

частей слов,

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

120

6-8. Построение логической схемы по структурной таблице с узлами

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

1.Пусть в структурной таблице имеются пути в узлы Qlt . . . , Qn, . . . , Qn и состояния аІУ . . . , ат, . . . , ам. Структурная таб­ лица разбивается на N -|- М массивов, каждый из которых соответст­ вует множеству путей в один узел или в одно состояние. У микро­ программного автомата, заданного табл. 6-8, N = 3 и М = 7. Ука­ занные массивы отделяются друг от друга горизонтальной чертой.

2.Для массива путей в каждый узел Qn (п = 1...........N) строим столько схем «И», сколько строчек в структурной таблице занимает

Ф(й,)

ФШ

ФШ

Ф>Ь*з*г b ß ih Ф Ш л 4ßi*s а, ß0 ФШ х, c^ßoW^ . üißi*s

Рис. 6-19. Логические схемы, реализующие Ф ((Д), Ф (Q2), Ф (Q3)

этот массив. Эти схемы реализуют функцию Ф (Qp) X (Qp, Q,.) для

пути из узла

Qp в узел Qn и функцию a sßsX (as< Q„) для

пути из со­

стояния as в

узел Qn.

 

3. Выходы построенных в п. 2 схем «И» для узла Q,,

заводятся на

схему «ИЛИ», с которой снимается функция Ф (Qn). Схемы для Ф(ф,), Ф (Qo) и Ф (Q3) из табл. 6-8 приведены на рис. 6-19.

4. Для функции Ф (QJ делается, если возможно, вынесение вверх

всоответствии с изложенным в § 6-6.

5.Каждый массив путей в состояние ат (т — 1, . . . , М) разби­ вается на столько подмассивов, сколько различных микрокоманд встречается в столбце «Выходной сигнал» в этом массиве. Например, на переходах в состояние а5 в табл. 6-8 выдаются две микрокоманды, {Уі, £/s) и {r/g}. Пусть в общем случае на переходах в ат выдаются мик­

рокоманды Y,nl, . .

. , Y nU, . . . ,

Y,nT.

6. Для каждого

подмассива,

соответствующего Ymt, строится

столько схем «И», сколько строчек в структурной таблице занимает этот подмассив. Эти схемы реализуют функцию Ф (Qp) X (Qp, ат)

для пути из узла Qp в ат и функцию asßsX (as, ат) для пути из состоя" ния а5 в ат.

121

7. Выходы схем «И», построенных в п. 6

для подмасснва с Y mh

заводятся

на схему «ИЛИ»Ш<1 с которой снимаются сигналы микроо­

пераций,

входящих в микрокоманду Y mi.

путям из подмассива

8. На

всех переходах, соответствующих

с Y mi, производится доопределение функций

возбуждения. Доопре­

деленная функция возбуждения Fmi снимается со схемы «ИЛИ»,,,,.

Для переходов

в состояние

аъ из

табл. 6-8

соответствующая

схема

приведена на рис. 6-20, а.

 

 

 

 

 

 

 

 

соответст­

 

9.

Делается,

если возможно, вынесение вверх для схемы,

вующей микрокоманде Y mt

и функции возбуждения

Fml. Заметим,

Ф

 

УіУе \фіфгфз

 

 

 

 

 

 

Уе I фіфгфе

 

 

 

1

 

 

Уе

<рі

 

 

 

 

 

 

 

 

 

 

I

 

 

 

I

 

 

 

 

L—1

 

 

L

 

S,

 

I4

1

 

Л

А

1

 

 

 

 

 

*

 

1111

Т П Т Г

ТТЛ

 

T T

ТПТ

 

 

р Д

 

 

 

 

1

üeßoXjXt

OoßcWi

<XoßMX$ ФМ х*

(XjßoXjX*

 

Лтт^

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1' ==Г

 

1

ФІО;)

 

 

 

 

 

 

 

 

 

 

'XoßoXl' '

 

 

 

 

В)

УіУі I фіфгфз

 

 

Лт

 

 

 

 

 

 

 

 

 

 

г п

 

Уе

Фі

Т

Т?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Г Т

Т

 

А

 

Хе хг

X*

Х(

 

 

 

 

 

 

 

 

к

 

к

1

 

 

 

 

 

 

 

 

 

 

 

 

III

 

 

 

 

 

 

 

 

 

 

 

 

 

 

м

1111

 

 

 

 

 

 

 

 

 

 

 

ttoßoXi

ФШІ х,

oCeßeXjX4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 6-20. Схема для переходов

 

 

л

l L

 

 

 

 

в

а — доопределение па пе­

 

 

 

 

 

 

реходах с одинаковыми микро­

 

f

r

т

 

 

 

 

командами,

б — вынесение

 

Хе

 

 

 

вверх,

в — доопределение

на

 

 

 

X*

 

 

 

 

 

всех переходах

 

 

что это оказалось возможным только после доопределения

в п. 8,

так

как до этого с выходов схем «И», собираемых на «ИЛИ»,,,,,

могли сни­

маться различные функции возбуждения (рис. 6-20, б),

 

 

 

 

 

 

10.

 

т

Ymt ф 0 . то

строится схема «ИЛИ»,,,, на которую

 

Если П

заводятся

*=і

 

всех схем

«ИЛИ»Ш, (t =

1, . . . ,

Т).

 

Со

схемы

выходы

 

«ИЛИ»,,, снимаются сигналы

микроопераций,

входящих

 

в

Ym —

=

т

Y mi,

и доопределенная на всех переходах в ап 1

функция воз-

р)

 

 

 

 

т

 

 

 

 

 

 

 

 

 

 

 

буждения

Fm =

U Fmt. Со

схем

«ИЛИ»т ,

после

этого

снимаются

 

 

 

 

t=i

 

 

 

Ymt \

Ym. Fmt не сни-

только сигналы микроопераций, входящие в

122

Рис. 6-21. Логическая схема автомата Мили, построенная по табл. 6-8

123

мается с «ИЛИ»т /, так как

мы доопределили функции возбуждения

на всех переходах в ат (рис.

6-20, в)1.

11.После выполнения пп. 2—10 для N -j- М массивов путей в узлы и состояния из всех построенных при этом схем «И» делается, если возможно, вынесение вниз.

12.Для каждого сигнала микроопераций и компоненты функций возбуждения, которые снимаются более одного раза в построенной выше схеме, строится схема «ИЛИ».

Рис. 6-22. Отмеченная ГСА при синтезе автомата Мура

13. Из всех построенных в п. 12 схем «ИЛИ» делается, если во можно, вынесение вниз.

Логическая схема автомата Мили, построенная по табл. 6-8, изо­ бражена на рис. 6-21. Во избежание гонок и для обеспечения устойчи­ вости состояний в схеме используется двойная память.

Синтез логической схемы микропрограммного автомата Мура про­ иллюстрируем на примере отмеченной ГСА на рис. 6-22 и соответст­ вующей ей структурной таблицы (табл. 6-11). Построение схем для

1 Пп. 6—10 лучше заменить процедурой вынесения вниз для выходных сиг­ налов с одновременным доопределением функций возбуждения, как это изло­ жено в конце § 6-7, однако эта процедура более трудоемкая при ручном пост­ роении схемы.

124

путей перехода в узлы производится точно так же, как это было из­ ложено в пп. 1—4 для автомата Мили. Синтез функций возбуждения и их доопределение такжене отличается от случая автомата Мили. Что же касается выходных сигналов, то так как в модели Мура сигнал микрокоманды выдается все время, пока автомат находится в соот­ ветствующем ей состоянии, для каждого состояния, с которым ото­ ждествлена непустая микрокоманда, необходимо построить конъюнк­ цию, равную единице во время нахождения автомата вэтом состоянии. В этом случае схема правой части преддешифратора будет иметь вид, изображенный на рис. 6-23 (сравнить с рис. 6-3). Тогда выходной сиг­

нал Y/, снимаемый в состоянии as, будет равен as (ßs)'. Например, из

табл. 6-11

у г =

a 0ß[

V a oß0

V

 

\J cqßg V

“ oßi’

так как эта микро­

 

операция

выдается

в

состояниях

 

ао, а3, а8

и ая,

коды

которых соот-

 

ветственно равны 0001, 0000, ОНО

Р'о

и 0010.

 

 

схема

 

автомата

Логическая

 

 

Мура, построенная по

табл. 6-11,

 

изображена на рис. 6-24.

 

 

 

В § 5-6

рассматривался синтез

 

микропрограммного

 

С-автомата,

 

в процессе

которого

по

исходной

 

ГСА (например,

рис.

5-9) строи­

 

лась таблица переходов вспомога­

 

тельного автомата Мили S' (табл.

 

5-11), которая затем трансформи­

 

ровалась

 

в таблицу

 

переходов

Рис. 6-23. Преддешифратор при син­

соответствующего С-автомата.

 

Если в граф-схеме есть узлы,

то

тезе автомата Мура

в структурную

таблицу

вспомога­

 

тельного

автомата

также

будут

включены пути в узлы и из узлов.

В ГСА на рис.

5-9 было два узла, что отражено в табл. 6-42, где пятый

столбец — то же,

что и в табл.

5-11. Нетрудно показать, что в авто­

мате S также будет путь из узла в состояние bf, если в автомате S'

был'путь QkX (Qk, as) Y £Rjam, a bf = (am, Rj).

На рис. 6-25 приведен граф путей из множества состояний, порож­

даемых а., (В2 = {А2, Ь3,

А*)),

в узел Qx и состояние Ьъ. Схема, соот­

ветствующая этим путям,

приведена на рис. 6-26, а, где а 1,

ß‘ —■вы­

ходы преддешифратора, соответствующие состоянию Ь£ (і =

2, 3, 4),

G (65) = {Ь2, b3, b4), F (G (b5),

Ьъ) = U F (Ь„ Ьь), а F (Ь£, Ьй) — МНО-

 

 

^еС (Ь5)

 

жество компонент функций возбуждения, вырабатываемых на пере­ ходе (А, АОПосле вынесения вверх х4 и х4 в схемах, соответствующих путям в узел Q4 и состояние Ь5, приходим к схеме на рис. 6-26, б, где

4. .

Ф{Sj) = V a'ß', что аналогично функции узла, в который есть пути

1—2

125

Рис. 6-24. Логическая схема автомата Мура, построенная по табл. 6-11

126