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

книги из ГПНТБ / Штейн М.Е. Методы машинного проектирования цифровой аппаратуры

.pdf
Скачиваний:
13
Добавлен:
24.10.2023
Размер:
11.13 Mб
Скачать

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

5. РАЗМЕЩЕНИЕ МОДУЛЕЙ ЦИФРОВОЙ АППАРАТУРЫ

5.1. Задачи размещения модулей цифрового устройства

и методы их решения

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

В наиболее общем виде задача размещения заклю­ чается в отыскании для каждого модуля проектируе­ мого устройства позиции на некотором поле (позиций)

ипреследует следующие основные цели:

оптимизировать некоторый показатель качества;

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

создать наилучшие условия для решения задач трассировки с учетом конструктивно-технологических требований.

Особое значение эта задача приобретает, если ее

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

102

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

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

Практически задача размещения более или менее сильно связана с другими задачами технического проек­

тирования,

особенно

при проектировании аппаратуры

с печатным

монтажом

(например, с задачами компонов­

ки схем и трассировки печатных соединений). Однако

связь между

задачами по существу

настолько сложна,

что выразить

ее формально

в виде

единой

постановки

и тем более с одним общим

функционалом трудно.

Следствием условности разбиения этой части проек­

тирования на

два этапа является трудность

установле­

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

Известные в литературе алгоритмы размещения оптимизируют в основном следующие показатели ка­ чества:

а) суммарную длину всех связей; б) длину самой длинной связи;

в) число связей между модулями, находящимися в соседних позициях либо в позициях, указанных раз­ работчиком;

г) число пересечений между связями модулей при произвольной конфигурации связей;

д) число цепей с возможно более простой конфигу­ рацией.

103

Наибольшее распространение в алгоритмах разме­ щения находят критерии а), б) и д).

Оптимизация по указанным показателям осущест­ вляется в большинстве случаев локально из некоторого случайного или интуитивно выбранного первоначально­ го размещения. А для оценки эффективности метода

используются

статистические результаты, полученные

для различных

схем.

По принципам реализации алгоритмы можно разде­ лить на:

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

последовательные алгоритмы;

алгоритмы, использующие силовые функции;

алгоритмы, использующие комбинаторно-логиче­ ские идеи;

алгоритмы, основанные на методах математиче­ ского программирования и, в частности, на комбина­ торных вариантах этих методов.

5.2.Алгоритмы, использующие перестановки модулей

Рассмотрим один из наиболее распространенных ме­ тодов размещения (метод Шафера [1]), различные моди­ фикации которого находят самое широкое практическое применение.

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

позиции

III

IV

VI

уШули

В

 

 

А

 

11

 

 

 

 

 

Ж

Рис. 5.2.1. Размещение модулей на поле позиций.

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

104

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

 

 

 

 

 

 

 

Т а б л и ц а

5.2.1

Позиции

I

п

ш

IV

 

V

VI

 

 

I

0

1

2

3

 

4

 

5

 

15

II

1

0

1

2

 

3

 

4

 

11

I I I

2

1

0

1

 

2

 

3

 

9

IV

3

2

1

0

 

1

 

2

 

9

V

4

3

2

1

 

0

 

1

 

11

VI

5

4

3

2

 

1

 

0

 

15

Очевидно, что

если

расстояние

между

позициями

I — I I

равно!,

то и расстояние между позициями

I I — I

также

равно

1.

Кроме того,

в табл. 5.2.1 указаны суммарные расстояния от

данной

позиции до

всех остальных; например, в строке

1 2 5 = 0 + 1 + 2 + 3 - 1 - 4 + 6 = 1 5 явля­

ется суммарным расстоянием позиции I

до

всех

остальных

позиций.

Назовем диагональ матрицы, состоящую из нулевых элементов, главной диагональю, две диагонали, симметричные главной и состоя­ щие из единичных элементов, — первыми побочными диагоналями, из элементов, равных 2,вторыми побочными и т. д. Тогда пятая по­ бочная диагональ состоит из единственного элемента, равного 5.

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

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

Определим суммарное число связей между всеми соседними мо­ дулями, т. е. между модулями Л и В, В и С, и т. д.:

 

2 + 1 + 3 + 7 + 1 1 = 2 4 .

Так как эти

компоненты установлены

в соседние позиции: А •я В —

в позиции I

и I I , В и С — в позиции

I I и I I I и т. д., то суммарная

длина этих связей равна

24x1 = 24.

105

 

 

 

 

 

Т а б л и ц а

5.2.2

Моду ли

А

в

С

о

 

F

 

 

А

0

2

2

3

9

4

 

20

в

2

0

1

10

5

6

 

24

с

2

1

0

3

4

7

 

17

D

3

10

3

0

7

8

 

31

Е

9

5

4

7

0

11

 

36

F

4

6

7

8

11

0

 

36

Суммарное число связей

между

компонентами

А и

С, В

и Д

С и D и т. д.

 

2+10+ 4 + 8=24,

 

 

 

 

 

 

 

 

 

 

а суммарная

длина

этих связей в соответствии с тем, в какие

пози­

ции эти компоненты

установлены, равна

 

 

 

 

Аналогично

 

24X2 = 48.

 

 

 

 

 

 

 

 

 

 

 

 

 

(3+5 + 7) Х 3 = 4 5 ,

 

 

 

 

 

 

(9 + 6 ) Х 4 = 60,

 

 

 

 

 

 

4X5 = 20.

 

 

 

 

 

Т. е. мы получили

последовательно

сумму

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

элементов

первой побочной диагонали матрицы связей на элементы первой по­

бочной диагонали матрицы расстояний, второй

побочной диагонали

на вторую и т. д.

 

 

 

Таким образом, суммарная длина всех связей равна

 

24 + 48+45 + 60 + 20=197.

 

 

В дальнейшем для краткости размещение, указанное, например,

на рис. 5.2.1, обозначим как

 

 

 

ABC

DE F

 

 

I I I I I I IV V VI '

 

 

а суммарную длину всех его связей — как

 

 

 

Wo =197.

 

 

Очевидно, что перемещение модулей на другие позиции

будет,

как правило, либо уменьшать, либо увеличивать W0 . Но прежде чем

перейти к рассмотрению процедур, позволяющих

определять

измене-

106

ния W0 от перестановки

модулей, рассмотрим переход от размещения

с

Wo=197

(будем называть его

начальным)

к иному

размещению

с меньшей W0 за счет упорядочения матриц

5.2.1. и 5.2.2

в

соответст-

ствии со столбцами 2Л и 2S.

 

 

 

 

 

 

 

Расположим

строки

матрицы

табл. 5.2.1

по убыванию

Е 5 ,

начи­

ная с наибольшей, т. е.

с С, а строки матрицы

табл. 5.2.2 по

воз­

растанию

2Л, начиная

с меньшей. Такое

упорядочение

приведено

в

табл. 5.2.3.

 

 

 

 

 

 

 

 

 

 

 

 

 

Т а б л и ц а 5.2.3

 

 

 

 

 

Позиции

ZA

 

Модули

 

 

 

 

 

15

V I

17

 

С

 

 

 

 

 

15

I

20

 

А

 

 

 

 

 

11

V

24

 

В

 

 

 

 

 

11

I I

31

 

D

 

 

 

 

 

 

9

IV

36

 

F

 

 

 

 

 

 

9

I I I

36

 

Е

 

 

 

 

Размещение

в соответствии с табл. 5.2.3

имеет вид

 

 

 

 

 

 

 

АРЕ

¥ В С

 

 

 

 

 

 

 

 

 

I I I I I I IV V VI

 

 

 

 

 

с суммарной длиной всех связей

 

 

 

 

 

 

 

 

№ „ = ( 3 + 7 + 1 1 + 6 + 1 ) Х1 + ( 9 + 8 + 5 + 7 ) Х 2 +

 

 

 

 

 

+ (4+10+4) Х З + (2+3) Х 4 + 2 Х 5 = 170.

 

 

 

 

 

 

 

 

 

Т а б л и ц а

 

5.2.4

 

 

0

« 1 2

« 1 3

« 1 4

 

« 1 5

« 1 6

 

 

« 2 1

0

« 2 3

« 2 4

 

« 2 5

« 2 6

 

 

« 3 1

« 3 2

0

« 3 4

 

« 3 5

« 3 6

 

 

« 4 1

« 4 2

« 4 3

0

 

« 4 5

« 4 6

 

 

« 5 1

« 5 2

« 5 3

« 5 4

 

0

« 5 6

 

 

« 6 1

« 6 2

« 6 3

« 6 4

 

« 6 5

 

0

 

107

Рассмотрим регулярный способ, позволяющий с помощью после­

довательных перестановок пар модулей уменьшать принятый

показа­

тель качества размещения W. Для этого начнем

с парных

переста­

новок соседних

модулей и посмотрим,

как в общем виде изменятся W.

Поменять

местами

какие-то модули — это

значит поменять ме­

стами в матрице связей

соответствующие им строки и столбцы.

 

Пусть матрица связей А представлена в общем виде в табл. 5.2.4.

Перестановка местами первой и второй строки и соответствую­

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

связей

(табл. 5.2.5):

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Т а б л и ц а

5.2.5

0

« 2 1

« 2 3

« 2 4

 

« 2 5

 

 

« 2 6

 

« 1 2

0

« 1 3

« 1 4

 

« 1 5

 

 

« 1 6

 

« 3 2

« 3 1

 

0

« 3 4

 

« 3 5

 

 

« 3 6

 

« 4 2

« 4 1

« 4 3

0

 

« 4 5

 

 

« 4 6

 

« 5 2

« 5 1

« 5 3

« 5 4

 

0

 

 

« 5 6

 

« 6 2

« 6 1

« 6 3

« 6 4

 

« 6 5

 

 

0

 

Так как в подсчете

W участвуют

элементы,

находящиеся

справа

от главной диагонали, то изменение

суммарной

длины

произойдет

только за счет перестановки

элементов

первых двух строк, все осталь­

ные элементы,

участвующие

в определении №, не изменяются. Опре­

делим произошедшее изменение:

 

 

 

 

 

 

 

A № i 2 = a i 2 + 2 a 1 3 + 3 a i 4 + 4 a 1 5 + 5 a i e + a 2 3 + 2 a 2 4 + 3 a 2 5 + 4 a 2 e —

 

— a 2 i — 2 а 2 з — 3 a 2 4 4 a 2 5 — 5 a 2 6 — « 1 3 — 2 a i 4 — 3 a I 5 4 a i 6

=

 

 

 

= ( a u — « 2 3 )

+ (ai4 — «24) + («i5—fife.) +

( « i e — « 2 e ) .

 

 

 

При перестановке 5- и 6-й строк

и столбцов

матрица

связей А

примет вид табл. 5.2.6.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Т а б л и ц а

5.2.6

0

 

 

 

 

 

«16

 

 

«15

 

0

 

 

 

 

«26

 

 

«25

 

 

 

0

 

 

«36

 

 

«3 5

 

 

 

 

0

 

«46

 

 

«45

«61

«62

«63

«64

 

0

 

 

«6 5

«51

«52

«53

«54

 

«56

 

 

 

0

108

Изменение суммарной длины

ДWHO = 4 а ( 5 + 5aie + 3a 2 5 + 4a 2 e + 2a3 5 + 3a 3 6 +a 4 5 +2a 4 6 + a5e—

4 а ю — 5 a i 5 — 3 a 2 e — 4 a 2 5 — 2 a 3 6 — 5 a 3 5 — 4 a 4 e — 2 a 4 5 — а в 5 =«

=(a1 6 —a1 5 ) + (a2 6 —a2 5 ) + (a3 e —a3 5 ) + (a4 6 —a4 5 ).

Для удобства подсчета изменение суммарной длины лучше за­

писать в следующем виде:

 

 

 

 

Л № 5 6 = Д S 5 = (aei—ом) + («62—ass) + (авз—a5 3 ) + ( а 6 4 — « 5 4

) .

При перестановке 3- и 4-й строк

и столбцов матрица

связей А

примет вид табл. 5.2.7,

 

 

 

 

 

 

 

 

Т а б л и ц а

5.2.7

0

« 1 4

« и

 

 

 

0

« 2 4

« 2 3

 

 

 

« 4 i

0

« 4 3

« 4 5

« 4 6

« 3 1

« 3 4

0

« 3 5

 

« 3 6

 

« 5 4

« 5 3

0

 

 

 

« 6 4

« 6 3

 

 

0

а изменение суммарной длины —

 

 

 

 

Д W 3 4 = 2a,3 +3aI 4

+ a2 3 + 2a 2 4 +a 3 i + 2a3 5 +3a3 e + « 4 5 + 2 a 4 e —

 

—3a1 3 —2aJ 4 —2a2 3 —a2 4 «3 5—2a3 6 a4 3 2a4 s—3a4 e=»

 

= (a1 4 —a1 3 ) + ( a 2 4 « 2 3 ) +

(a3S—ciu) + (a3 e —a4 e)

 

 

или

 

 

 

 

 

A W 3 4 = (a4 i—a3 i ) + ( « 4 2 — « з 2 ) + ( a 3 5 « 4 5 ) + (a 3 e — Я4в) .

 

Итак, определение

Д W{] может быть

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

следующим

образом:

 

 

 

 

 

Д № , 2 = (ais—«2 3 ) + (at/—a2 4 ) + «25)

+ («ie—«2 e),

 

 

AWu={—«3i— (a4 i)] + [—a32( — « 4 2 ) ]

+ ( a S 5 0 4 5 ) + ( a 3 e — Д4в),

ДWse= [ — «51 — (—aei) ]+[ - «52 — ( — « в 2 ) ]+[ — а 5 з — (—вез) ] +

+[ — « 5 4 — ( — « e 4 ) ] .

Всоответствии с полученными правилами определим изменение суммарной длины размещения, начиная с Wo = 170 (табл. 5.2.3), от перестановок всех соседних модулей (табл. 5.2.8).

AWAD= (9—7) + (4—8) + (2-10) + ( 2 - 3 ) = - 1 1 ;

AWDE=l—3— (—9)]+ (8-11) + (10—5) + (3—4) = +7 ; Д Ц 7 Е , = [ - 9 ( - 4 ) ] + [ - 7 - ( - 8 ) ] + (5 - 6 ) + (4 - 7 ) = - 8 ;

109

 

 

 

 

 

 

 

 

/

 

Д Ц ^ В = [ _ 4 _ ( — 2 ) ] + [ — 8 - ( - М ) ] + [ - 1 1 — ( - 5 ) ] + ( 7 - 1 ) = 0 ;

Д WB

с = [ - 2 -

( - 2 ) ] + [—10—(—3)] + [ - 5 -

( - 4 )

] + [ - 6 - ( - 7 )

] =

 

 

 

 

 

 

 

 

Т а б л и ц а

5.2.8

 

А

D

Е

F

в

с

Суммарная длина

 

А

0

3

9

4

2

2

 

2 Х 5 = 10

 

D

3

0

7

8

10

3

 

5 X 4 = 20

 

Е

9

7

0

11

5

4

 

1 8 X 3 = 54

 

F

4

8

11

0

6

7

 

2 9 X 2 = 58

 

В

2

10

5

6

0

1

 

28 X 1 =J28

 

С

2

3

4

7

1

0

 

170

 

Осуществляем

перестановку

модулей

D и Е (табл. 5.2.9) и опять

определяем

AW.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Т а б л и ц а

5.2.9

 

А

 

D

F

в

с

 

Суммарна» длина

А

0

9

3

4

2

2

 

2 X 5 = 10

 

Е

3

0

7

11

5

4

 

6 X 4 = 25

 

D

9

7

0

8

10

3

 

1 2 X 3 = 36

F

4

11

8

0

•16

7

 

31 X 2 = 62

 

В

2

5

10

6

0

1

 

25 X 1 = 25

 

С

2

4

3

7

1

0

 

163

 

AWAE=

(3—7) + (4-11) + ( 2 - 5 ) + ( 2 - 4 ) =

- 1 1 ;

 

Д Ц 7 Е С = [ - 9 - ( - 3 ) ] +

(11-8) + (5-10) + ( 4 - 3 )

= - 7 ;

 

ДW D

, = [—3— (—4) ] + [ — 7 — (—11) ] + (10—6) + (3—7) = + 5;

 

Л ^ в = [ - 4 - ( - 2 ) ] + [ - П — ( — 5 ) ] + { - 8 — ( — 1 0 ) ] + ( 7 - 1 ) = 0 ;

 

ДWBС = [ - 2 - ( - 2 ) ]+[-5-(—4)1+1—10— ( - 3 ) ] + [ - 6 - ( - 7 ) ]

-

 

=—7.

 

 

 

 

 

 

 

ПО

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Т а б л и ц а 5.2.10

 

А

 

F

D

в

с

Суммарная длина

А

0

9

4

3

2

2

2 X 5 = 10

Е

9

0

11

7

5

4

6 X 4 = 24

F

4

11

0

8

6

7

1 5 X 3 = 45

D

3

7

8

0

10

3

20 X 2 = 40

В

2

5

6

10

0

1

29 X 1 = 29

С

2

4

7

3

1

0

158

Осуществляем перестановку

модулей D и

F

(табл. 5.2.10)

и аналогично

получаем:

 

 

 

 

 

 

 

Л № А Е =

(4-11) + ( 3 - 7 )

+ ( 2 - 5 ) + ( 2 - 4 ) = - 1 6 ;

 

Д WEF = [—9—(—4)]+

( 7 - 8 )

+

( 5 - 6 ) + (4—7)

=

10;

д ^ „

= [ _ 4 _ ( _ 3 ) ] + [ _ ц _ ( _ 7 ) j + (6-10) +

( 7 - 3 ) = - 5 ;

д Г с в

= [ - 3 - ( - 2 ) ] + [ - 7 - ( - 5 ) ] + [ — 8 - ( - 6 ) ] + ( 3 - 1 ) = - 3 ;

Д WB

С = [ - 2 - ( - 2 ) ] + ( - 5 - ( - 4 ) ] + [ - 6 - ( - 7 ) ] + [ - 1 0 - ( - 3 ) ] =

 

=—7.

 

 

 

 

 

 

 

На этом работа алгоритма заканчивается, так как нет соседней

перестановки,

уменьшающей

W. Окончательно

имеем:

 

 

 

А Е F

 

D В С

 

 

 

 

 

 

I

I I I I I

IV V VI

 

 

 

с суммарной

длиной"всех

связей

 

 

 

 

 

 

 

 

 

№=158 .

 

 

 

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

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

Для задач практической сложности нельзя получить точное решение из-за трудности подсчета п! суммарных

Соседние файлы в папке книги из ГПНТБ