Файл: Баранов, С. И. Синтез микропрограммных автоматов.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 23.10.2024

Просмотров: 115

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

ние: пусть 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



(7-5)
137

мулы перехода

r-l-i

 

 

Y m;~ (Kj,

. . . ,

V'r+1}), введем

X-

Y г > \ /

ajtY t (Yh

 

 

 

 

/=і

 

 

 

 

 

 

 

ср Y q =

операцию,

в результате

которой

получается новый

куб

= c Y ,

X dY,n (Yq {Y lt . . . , 7 r+1},

 

 

 

Таблица 7-1

если

I

ф т). Операция производится

 

Таблица х - операции

 

раздельно над

логическими

(d X

cs)

 

X

0

1

 

 

и операторными

(Y, X Ym)

частями

 

 

X

отмеченных

кубов. Так как опера­

 

 

 

 

 

 

ция

сг X d

производится над «-коор­

 

0

0

У

 

0

динатными кубами, определим опера­

 

 

 

 

 

 

цию

координатного

произведения

 

1

У

1

 

1

с помощью табл. 7-1:

 

 

 

 

 

 

ср= (а1:

 

а,-, . . . , а„) X

 

 

X

0

1

 

X

 

Х(Ьи

• • •

1 Ь£,

• •

» 7?/г),

 

 

 

 

 

 

 

 

 

 

 

 

 

0 ,

если у встречается не один

раз

(т. е.

ни в одной или

 

в двух и более координатах);

 

 

 

 

 

 

 

(" Ф і X

bj), . . . ,

т (а,- X Ьі), . . . .

т{ап X bn)),

 

 

 

 

если

у встречается только в одной

координате;

 

 

 

 

т (а,- X Ьі) есть

т (0) =

0; т (1) =

1;

т (х) = т (у) —х.

 

 

Геометрически операция d X d

представляет

собой

наибольший

куб ср,

который имеет противоположные грани в кубах d

и d,

но

та.

кой, что сам ср не покрывается в отдельности ни одним из исходных кубов. Последнее как раз и отличает X-операцию от введенной Ротом

[171 операции «^-произведение»:

 

 

 

 

а.

(lxx) X (011) =

(х11) J результат одинаковый;

 

 

 

{\хх) ф (011) =

(*11)

J результат

 

 

 

б. (Охх) X (ххі) =

0

 

 

\

 

 

разный.

 

 

 

(Охх)

(ххі) =

(0x1)

 

Операция

х над операторными частями зависит от результата опе­

рации над логическими частями. Пусть d X d

= °р Ф 0

и кубы

d и d

имели в г-координате

противоположное

значение

(я;- — е{,

Ь-= е£;

е£ £

{0,1);

0 = 1 ;

1 =

0).

Тогда' оператору Yq,

отмечаю­

щему куб ср,

ставится в соответствие формула перехода

 

 

 

 

Y q -+xilY l \ J x d Y m,

 

(7-4)

где х\ =

х£; х° = х£.

 

 

 

 

 

 

Сокращенно формулу перехода (7-4) будем записывать так:

Y q = xiY lY m.


В этой записи вслед за xt следует оператор, к которому в формуле (7-4) происходит переход из Y q по xt = 1, а после него — оператор, к которому происходит переход по xL= 0. Очевидно, что в формуле

(7-5)

предполагается

а1 = е{ = 1; Ьс = е(- = 0.

Если aL=

ег = 0,

Ьі =

е( = 1, то

операторы

У, и Ym необходимо

поменять местами:

Y q =

xtY mYi. Если

У, =

Y m, то из (7-4) получим:

 

 

 

 

 

 

Y q ^ X i ‘Y m \ / x / Y m = Y m.

 

 

Таким образом,

 

 

 

 

 

 

Y

 

-

0 , если cr X c s= 0 \

 

 

 

CrY ; X

т

< ? Y q,

если cr X c s = £ 0 , где

cp = cr X c s,

а

 

 

1

 

Y q определяется формулой (7-4).

Следует заметить, что формуле перехода (7-4) или ее сокращенной записи (7-5), которой мы будем пользоваться в дальнейшем, соответст­ вует подграф ГСА, приведенный на рис. 7-4.

Условимся вновь вводимый оператор Yq назы­ вать производным оператором и изображать на ГСА кружками в отличие от исходных (первич­ ных) операторов

 

 

У0, Уъ • •

• , Ут-

 

 

Введенную

X-операцию

над

парой отме­

Рис. 7-4. Подграф для

ченных

кубов сгУ,

и сяУ,„ назовем

склеиванием

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

и будем

говорить,

что

эти

кубы

склеиваются

-> А ™ I V x f i Y m

по переменной

xt,

если

они

имеют противопо­

ложные значения (0 и 1) в /-координате. Определим также операцию полного склеивания как операцию

над двумя одинаково отмеченными кубами. У этих кубов все коорди­ наты, кроме одной, по которой производится склеивание, совпадают. Пример полного склеивания:

1x0*1

У8

1*1*1

У8

Іхххі

У8

Однако

 

1x0x1

У8

lx llx

У8

lxxl1

У8

не есть полное склеивание, так как участвующие в операции кубы от­ личаются более чем одной координатой. Опять-таки

1x0x1 У8

1x1x1 У9 . У10 = х3У9У1 1x1x1 У10

138