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

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

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

Таблица 6-11

Обратная структурная таблица автомата Мура, соответствующая ГСА на рис. 6-22

И с х о д н о е

К о д

С о с т о я н н е

с о с т о я н и е

и с х о д н о г о

и л и у з е л

и л и у з е л

с о с т о я н и я

п е р е х о д а

а2

0001

■ Qi

а3

0000

 

йп

0001

 

ао

0010

 

Qi

___

q2

 

 

аъ

ООП

 

а0

0100

 

аю

0111

 

Qz

___

Qs

 

 

ах

1100

 

аі

1101

1

 

 

аіі

1000

Ol

а12

1001

 

а3

1100

a2

«1

1100

a3

а2

0001

a.i

аз

0000

 

Оц

0010

 

а2

0001

as

а2

0001

 

а3

0000

 

а3

0000

 

ав

0010

 

а0

0010

 

Qi

aa

 

 

аі

1100

 

Ol

1100

 

Ко д с о с т о я ­

ни я п е р е х о д а ( в ы х о д н о й

си г н а л )

___

ПОО (—)

0001(уху2)

0000 (і/іУз)

ПО! (у3)

ООП (умъ)

ОЮО (y7ys)

Вх о д н о й

си г н а л

*з*2 *3*2

х8

*3*2

*4 * 5

*8

1

1

*1

*1 * 0 * 4

Л'0

1

1

Х1

* 1 * 6 * 2

Х3Х2

* 3 * 2

Х3Хп

Х3ХоХ7

ЛдЛГо

XqXqX-j

* 3 * 2

X3XtyXf

*3 * 2

*4

XlXQX~l

О б я з а т е л ь ­

ны е ф у н к ц и и

во з б у ж д е н и я

ф2

Ф2Ф 4

Ф1 Ф 2 Ф 4

Фі Ф 2

Фі Ф г

Ф1 Ф 2 Ф 4

Ф1 Ф 2Ф 3 Ф 4

Фз

Фз

Фз Ф і

Фз Ф і

Ф4

Ф4

Фз Ф з Ф і

Фі

Фі

127

Продолжение табл. 6-11

Исходное

Код

Состоянне

Кодсостояння

ВходноП

состояние

исходного

или узел

перехода (вы­

сигнал

или узел

состояния

перехода

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

 

Qi

я?

0101 ы

-Ѵ4.Ѵг,

С17

0101

as

0 1 1 0 ^ )

1

Q,

Яз

0010 Сад,)

-Ѵі

Ол

0001

 

 

X.jX2X7

я3

0000

 

 

,Ѵ3.Ѵ2Л-7

о4

1101

 

 

-vfl

я«

ОНО

 

 

-'з-П

я э

0010

 

 

Л'зЛ'з-Ѵ?

я 8

ОНО

Яш

0П1 (ijs)

Л'3-V.l

Q3

Яц

1000 (i/ji/s)

х~

Q:i

Я.12

1001 {(/.,(/„)

Л'7

 

Таблица

переходов

автомата S

Исходное

Состояние,

Входной

Выходной

состояние,

узел перехода

сигнал

сигнал

узел

 

 

 

а2

Qi

 

а\

 

Х1

 

Оз

Q2

хз

 

Я4

 

ХЛ

 

q2

Яі

х2

Уі

Яі

а2

Л'і

УіЧ .

Яі

 

х 1х 2

У*4

Яі

 

-Ѵ'хЛ'2

Уъ

Я3

 

■ч

ІЛІ/з'Т

Ql

Я3

ХЪ

УвЧЧ

Q2

 

Хо

УіЧ

а2

 

ХІ

У2У3Ч

Ql

Я4

ХЬ

УгУі

Обязатель­ ные функции возбуждения

ФгФзф-1

ФзФ-1

ФзФзФ-і

ФзФ-і

Фз ФіФгФзФ.і

Фз

ф.1

Фіфзфзф.1

Фіф2фзф.і

Таблица 6-12

Состояние С-пвтомата

bl

bi

b.1

Ьъ h

b7

128

из состояний b2, Ь3, &4, проходящие через пустое множество условных вершин. Переходя от примера к общему случаю, получим, что мно­ жеству состояний В(, порождаемому состоянием at, можно поставить в соответствие узел Spr в который есть

пути нулевой длины

из

множества со­

 

стояний

G (Sp) = Bt.

Пусть

в нашем

 

примере S jl соответствует ß 2, а S 2 В 3.

 

Тогда непосредственно от табл. 6-12

 

автомата S'

можно перейти к табл. 6-13

 

с узлами типа Q и 5.

Коды

состояний

Рис. 6-25. Подграф путей

автомата

S

размещены

во

втором и

в узел Q, и состояние bä

четвертом

столбцах таблицы,

а в седь­

 

мом столбце проставлены обязательные функции возбуждения в пред­ положении, что в качестве элементов памяти автомата исполь-

Ö)

Рис. 6-26. Схема, реализу­ ющая пути в Qj и b-„\ а — раздельное построение; б — совместное построение с вы­ несением

зованы триггеры с раздельными входами и срг и ф- — сигналы возбуж­ дения, подаваемые соответственно на единичный и нулевой входы триг­ гера 1 \.

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

129

Исходное

состоя­

ние, узел

ь .

^3

Ь.І

Ь з

h

S i

b7 -

s 2

bn

Q.%

bi

b l

s 2

b l

q2

S i

Qi

Qi

НСХОД-

СОСТОЯ-

 

Код

НОГО

НИЯ

1

: !

000

0 1 0

110

101

001

100

100

111

111

111

Структурная таблица автомата

S

Таблица 6-13

 

Состоя­

Код СОСТОЯ-

Входной

Выходной

Обязатель­

ние.

ные функции

узел

и ня

сигнал

сигнал

возбуж де­

перехода

перехода

 

 

ния

Si

 

1

 

 

 

 

1

 

 

 

 

1

 

 

So

Qi

O'

 

b l

ш

b2

000

 

(r2)

b s

010

 

(ri)

 

110

' 65

101

 

(гз)

^6

001

 

(V i)

b7

100

1

. 1

X i

X i

Л'з

x -\

*2

X i

X1X2

x 3

Х1Х 2

Л2

Х.І

X i

Xb

Ui

ФіФгФз

U i

ФАФз

U2

ФіФз

U1 U3

ФіФгФз

U3

Фз

Ui

ФіФз

U2U3

ФіФгФз

Ua

ФіФгФз

UtUi

Ф1Ф2

130

jniJfßjriS ЛУ4.ІП9пИ7/ „ИЧ5Л‘19 JTß.H'21

 

 

I* »I

I* 1

 

 

JT2 X,

ЛЛИ'ЮХг

оу,а,Оз

ctg аг

а3р,х,

 

Рис. 6-27.

Логическая схема С-автомата, построенная по

 

 

табл. 6-13

 

131

ляются непосредственно из таблицы 6-13 следующим образом:

гі = = Т\ ТоТз\ го = cc0ßo — Т\ Т2 Тз,

7-3 = a 2ßi V a oßi = TJ'{TZV Т\Т2 Т3\ гі = а0^п = Т 1 Т 2 Т 3.

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

Глава седьмая

ПРЕОБРАЗОВАНИЕ ГРАФ-СХЕМ АЛГОРИТМОВ

7-1. Минимизация условных вершин в граф-схеме алгоритма

В работе [8 ] отмечалось, что предложенная ІО. И. Яновым [24] полная система тождественных преобразований логических схем алго­ ритмов (ЛСА) «дает возможность получить ЛСА с минимальным чис­ лом логических условий, однако этого можно достигнуть лишь путем полного перебора всех возможных ЛСА, равносильных заданной, так как отсутствует алгоритм последовательного применения преобра­ зований для получения минимальной ЛСА». В данном разделе опи­ сывается предложенный автором в работе [3] алгоритм минимизации логических условий с той лишь разницей, что изложение ведется применительно к граф-схемам, но все сказанное ниже может быть однозначно использовано и для логических схем алгоритмов.

Постановка задачи в общем сводится к следующему. Пусть задана

ГСА Г (Уо,

Ук, Y, Р),

где Y 0

— начальная вершина, Ук — конечная

вершина,

Y

= (У ^

.

. . ,

Yt........... Y т\ — множество

операторных

вершин,

все

разные,

так

что

вершина отождествлена

с записанным

в ней оператором, Р = |р х...........рг..............pR) — множество услов­ ных вершин, в которых записаны логические условия X -- (,ѵх, . . . , Х[, . . . , xL\. Требуется среди множества граф-схем, равносильных Г (У0, Ук, У, Р), найти граф-схему с минимальным числом условных

вершин.

Покажем, что задачу минимизации ГСА Г (У0, Ук, У , Р) можно разделить на несколько независимых подзадач путем разбиения ГСА

на подграфы Г1 ...........Г1', . . . , Гн , такие, что если для каждого под­ графа найти равносильный ему с минимальным числом условных вер­

шин (подграфы Рmin» • • • >Amin» • • • >Утіп)> то граф Гmjn, полученный после объединения этих подграфов, будет иметь минимальное

число условных вершин.

У,

Р)

осуществим следующим образом:

Разбиение ГСА Г (У0, Ук,

1. Из множества ( У0) U

У

возьмем произвольный

элемент- Yt

и построим множество A t =

{Y,}

и множество В х —

[Yu, . . . ,

Y\q, . . . , Ущ.І. такое, что из Yt есть пути в Yfq, проходящие только через условные вершины, вида:

/X

till

(7-1)

Y iP./1

Рim • • • Pm У

132

где [ptl, . . . , pIM] С P — множество условных вершин, лежащих на пути из Y t в y s; е1т ^ (0, 1} — символ, приписанный выходу ус­ ловной вершины ріт, через который проходит рассматриваемый путь.

 

2. Для каждой Y\q {q — 1,

. . . , Qx) находим

А (y f9) — множе­

ство операторных вершин, из

которых

есть

пути вида (7-1) в вер­

шину

Y f

, и строим множество

 

 

 

 

 

 

 

 

 

 

 

'

Л2 = у4іи

 

 

=

 

 

U ^ 2,

 

 

где А 2'

=

Ль Л" = А 2 \

А'г

 

 

 

 

 

 

 

 

 

 

Пусть Л2 =

{Y&, . . . , Аш,

. . . , y £hJ.

Для

каждой

У^

(h =

=

1, . . . , Я 2)

находим

В (Уи,) и строим

 

 

 

 

 

 

 

 

 

в а=

В і и

в (У 21>)) =

в 2‘

и ВІ,

 

 

где

В2 =

Bi,

В2 =

В 2 \

В2 .

Пусть

В2

=

 

(Угь • • • .

У^,

• • • ,

Узд,I-

 

 

 

 

(9 =

1...........Q2)

находим множества

 

После этого для всех У2і?

Л (y f j , строим аналогично /13, Я3

и т. д.,

до тех пор пока на каком-

либо шаге не окажется Вп_ у — Вп и Лп-1 = А п. Полагаем

А 1 = Л„;

В1 = Вп.

Вграф-схеме Г выделим подграф Г1, включающий в себя опера­

торные вершины из А 1 (назовем их исходящими вершинами) и В 1 (вхо­ дящие) и множество условных вершин Р1, через которые проходят пути из элементов Л1 в элементы В 1. Вершину Yt назовем опорной

вершиной

графа Г1.

новая

опорная

вершина

Y t (F

Л1,

строится

Далее

выбирается

аналогично

подграф Г 2. Алгоритм состоит

из Я шагов

(Я <; Т + 1,

где Т — число операторных

вершин).

На

Іі-м шаге (Я = 2,

. . . , Я)

выбирается

опорная

вершина Yf (jj

(Л1

(J . . .

(J Лл

1),

строится

подграф Г11

 

и т. д., до тех пор пока не окажется, что нельзя найти в ка­

честве опорной вершину, не вошедшую в уже построенные множества

Л1, Л 2, . . . , А н . В результате получаем

разбиение граф-схемы Г

на подграфы Г 1...........Ph, . .

. , Гн , где

подграф f h{Ah, Bh, Ph) оп­

ределяется множествами A h, Bh, P!l и

соответствующими -дугами ме­

жду вершинами, вошедшими в эти множества.

Из самого способа разбиения Г следует: -

1. Для любых двух подграфов Г1 и Я

 

Л 'п Л ''= 0 ;

В1 П В‘= 0

\

Р‘ Г)Р' = 0 .

2. Разбиение единственно, независимо от выбора на каждом шаге опорных вершин для подграфов. Из единственности разбиения и ус­

ловия Р1 П Р‘ — 0 непосредственно вытекает следующее утвержде­

133

ние: пусть R — число

условных вершин

в Г, а R ‘ — число услов­

ных вершин в г

(/і =

1, . . . , Я). Тогда R

н

 

h

 

 

 

 

=2

*

 

 

 

 

 

 

 

 

 

 

/ і = і

 

 

 

 

 

на

под­

После этого нетрудно доказать, что если Г разбивается

графы Г1,

Гн и в

каждом Гк (h = 1,

. . . , Я)

число условных

вершин минимально

’min), то число условных вершин в Г также бу­

 

 

 

[Rr

дет

минимально

и

равно1

 

 

 

 

и

л

 

 

 

 

 

 

 

 

 

 

 

 

2

Ятіп.

 

 

 

 

 

 

 

 

 

 

 

ft=l

В качестве примера приве­

 

 

 

 

 

 

 

 

 

дем разбиение

изображенной

 

 

 

 

на рис. 7-1

граф-схемы алго­

 

 

 

 

ритма Г, имеющей 6 оператор­

 

 

 

 

ных и 6 условных вершин.

 

 

 

 

Применение

алгоритма

раз­

 

 

 

 

биения дает 3 подграфа:

Г1,

 

 

 

 

Г 2, Г 3. Условное изображение

 

 

 

 

этих

подграфов,

полученных

 

 

 

 

в процессе разбиения,

и сами

 

 

 

 

подграфы

 

 

приведены

на

 

 

 

 

рис. 7-2.

 

 

 

 

 

 

 

 

 

 

 

 

В этих

подграфах:

 

 

 

 

 

 

Г1

: А 1= (У0,

Уа,

У4);

 

 

 

 

в г = [ ѵ и у», Кв); р х= ( р і,

 

 

 

 

 

 

 

 

Ре» р4І;

 

 

 

 

 

 

 

r * : A * = { Y lt

Y з,

У0};

 

 

 

 

В2={ У 2,

 

Y it

Y я); P 2=

{p2,

 

 

 

 

 

 

 

 

Pb,

Pc);

 

 

Рис. 7-1.

ГСА Г до разбиения

 

Г2

 

\ A 2

= [Y5}\

 

 

ß 3= [K K);

Р 3=

0 .

 

 

 

 

 

Номера условных вершин в ГСА Г и в подграфах проставлены ря­

дом с вершинами. Интересно заметить, что

А 2

П В 2 (F 0)

0 ,

что допустимо 1 П В1 может быть не пусто,

обязательно А 1

П А' =

= 0 и В 1 П В1 = 0 ).

 

 

 

 

 

 

 

 

 

 

В работе

[17]

подробно изложены разработанные Ротом (J. Roth)

алгоритмы минимизации переключательных схем, использующие гео­

метрическое представление булевой функции,

которая является ото­

1 Для доказательства достаточно предположить,

что существует некоторая

ГСА в которой число условных вершин меньше, чем в ГСА Гт1п, получен­

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

ГСА приходим к противоречию.

134

бражением декартова произведения Z? в пространство Z2:

Z" Z2,

где 2 2 = (0, lj; Z2‘ = 2 2 X Z2 X . . . X Z2; f~l (1) — прообраз еди-

п раз

ницы; f-1 (0) — прообраз нуля.

Элементы /-1 (1) называются 0-кубами или вершинами. Два 0-куба образуют 1-куб, если они отличаются значениями только одной ком-

а)

б)

В)

□ Р

П ѵ

Г'7

А3

Ун В1

Рис. 7-2. Подграфы н их условное изображение: Г1 (а) Г2 (б), Г3 (в)

поненты (координаты). 0-кубы в этом случае называются гранями 1-куба. Например, 0-кубы ООН и 0111 образуют 1-куб 0л:11, где вторая компонента носит название свободной, а остальные — связанных. Два 1-куба образуют 2-куб, если у них свободной является одна и та же компонента, и эти 1-кубы отличаются значениями только одной связанной компоненты. Так, 1-кубы 0x11 и 0x10 образуют 2-куб Охіх. Индуктивно можно ввести понятие г-куба (г^/г). Булевой функции, аналитическое представление которой имеет вид

f = x1Х3V * 1*2*4 V *2*3*4-

соответствует множество кубов (кубическое покрытие):

Г 0х0х 1

K ( f ) = 10x0 . (* 110J

135

Тот факт, что из оператора Y f есть путь через условные вершины

к операторам

,

Yt,

, Y T+V

можно записать с помощью

выражения:

 

 

 

 

 

Yf -> cCfiYi V

•••

V aftY t V

V a f. r+i^r-fi»

(7-2)

где af( — булева

функция,

равная дизъюнкции конъюнкций,

соот­

ветствующих всем путям из Yf в Yt\ a[t Yt — отмеченная булева функ­ ция [81; Уг+1 —конечный оператор.

Формулы вида (7-2) носят название формул перехода для опера­

тора Yf.

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

введем

геометрическое

представление

формул

перехода.

 

Пусть

 

 

 

 

 

 

У,-*

Г-Н

 

 

 

 

 

пере-

 

 

 

 

 

 

V aftY t— формула

 

 

 

 

 

 

хода.

і=1

 

 

перехода

aft

 

 

 

 

 

 

Функцию

 

 

 

 

 

 

(*і.

. . . ,

хп)

от

Yf

к

Y,

(/

=

 

 

 

 

 

 

= 1, . . . , Т + 1) представим в ви­

 

 

 

 

 

 

де кубического покрытия, причем

 

 

 

 

 

 

каждому

из

кубов,

входящих

 

 

 

 

 

 

в покрытие, припишем оператор

 

 

 

 

 

 

Yt\ /г-мерный

куб вместе с при­

 

 

 

 

 

 

писанным

оператором

назовем

 

 

 

 

 

 

отмеченным кубом. Если D ,

 

 

 

 

 

 

множество

отмеченных

 

кубов,

 

 

 

 

 

 

порождаемых

функцией allt

то

 

 

 

 

 

 

 

 

 

 

 

 

 

г-н

 

 

 

 

 

 

 

 

формуле перехода Yf -> V

аи Y t

Рис. 7-3.

Подграф

с одной

исходящей

 

соответствует

множество

кубов

операторной вершиной

 

 

 

 

 

Г+1

 

 

 

 

 

 

 

 

 

 

 

 

0 (У Л = и

Dt, которое назовем

покрытием формулы перехода. Например,

/=і

 

 

 

 

 

 

для формулы перехода из

оператора Y4 в ГСА на рис.

7-3

 

 

 

 

 

 

 

 

 

 

 

 

Y 4 --

(хул'о \ / х^ХоА'з) Y 2 V

(*і*а*я V

Н^-а-^з) У4 \ /

 

\ / x^x^x^Y

 

покрытие D (У4)

будет иметь вид:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

01x

Y 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

100 Y 2

 

 

 

 

 

 

 

 

 

 

 

 

D{Yt) =

001 Yj.

 

 

 

 

 

 

 

(7-3)

 

 

 

000 Ex

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

11* Уз

 

 

 

 

 

 

 

 

 

 

 

 

 

 

101 Yj.

 

 

 

 

 

 

 

 

 

Над парой отмеченных кубов с

 

Y, — (а4...........ah

. . . , ап)

Yt и

csY m =

(£>!, . . . ,

bt, . . . , bn) Ym,

принадлежащих

покрытию фор-

136