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

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

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

в

котором

максимальная длина

связи (провода)

от установки

моду­

ля Шгь в позицию

pj7 равна

9 (см. табл. 5.3.3).

 

 

 

 

 

 

В соответствии с описанным выше правилом

образуем

матрицу

С<г>, в которой все допустимые элементы с оценкой, большей

или рав­

ной 9, становятся

недопустимыми, и в

X ^ снова

строим максималь­

ное множество независимых допустимых клеток

(табл. 5.3.6).

Полу­

чаем новое

размещение

 

 

 

 

 

 

 

 

 

 

 

 

тити

mi3mitmibmumi7milt

 

 

 

 

 

 

 

 

 

Рп Pi\ Pit РиРиРйь Pie Pit

 

 

 

 

 

с

максимальной

длиной провода, равной 8 (от установки

модуля

mtb

в

позицию Рц).

Повторение

итерации

приводит к

матрице

СС),

в ко­

торой вся

строка

mi5 содержит

недопустимые

элементы,

т.

е.

z(r) < Ыг). И, таким образом, полученное размещение оптимально.

 

 

Модуль

mi5

устанавливается

в

позицию рц,

затем

осуществ­

ляется трассировка цепей между контактами этого модуля и моду­

лей, закрепленных в соответствующих

позициях предыдущими шага­

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

сокращается,

определяется новая вектор-строка

в соответствии

с новой

трассировкой,

и алгоритм

повторяется

до тех пор, пока

не

останется

ни одного

неразмещенного модуля или же размещение

оставшихся

модулей в

свободные позиции будет

недопустимым в

соответствии

с (5.3.9).

 

 

 

 

 

 

Укажем некоторые известные модификации алгорит­

мов последовательного размещения.

 

 

При описании системы автоматизированного

проек­

тирования

IBM/360

в задачах

размещения

Кейс П.,

Графф Г. и др. [11] рассматривают модули не как мате­ риальные точки, а как геометрические фигуры с коорди­ натами контактов, к которым осуществляется подсоеди­ нение цепи, что позволяет при подсчете длины цепи учи­ тывать эти координаты.

В ряде алгоритмов, например в [12], в критерий опти­ мизации вводится величина, учитывающая число связей

модуля с еще неразмещенными. В первую

очередь

закрепляются модули

с меньшим

числом таких

связей.

В алгоритме [6]

при выборе

следующего

модуля

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

щаться в горизонтальных рядах. Далее

осуществляется

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

заполнение позиций

 

вертикальных

рядов; при этом

принадлежность

модуля

к

горизонталь­

ному ряду сохраняется. Выбор

каждого

следующего

122

 

 

 

 

модуля в группу (горизонтальный ряд)

и на позицию

при заполнении вертикальных рядов

осуществляется

с учетом разности числа связей размещенных с еще не­ размещенными модулями.

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

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

Для системы размещаемых модулей суммарную дли­ ну связей

где — расстояние

между модулями

и ms,

можно

считать потенциалом

некоторой системы

сил с

обрат­

ным знаком, т. е. силовой функцией, а условие миними­ зации L интерпретируется как условие равновесия дан­ ной системы модулей (материальных точек).

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

противоположную

скорости,

и

прямо пропорциональ­

ны ей.

 

 

 

 

 

 

Отметим еще

одну

особенность задачи

размещения, \

рассматриваемую

как

динамическую

задачу механики: \

так как нас интересуют координаты

материальных то­

чек в положении

равновесия,

а

не

пути,

проходимые

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

123

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

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

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

Рассмотрим более подробно некоторые особенности предлагаемого в [13] алгоритма размещения.

Несмотря на то, что критерием оптимизации является суммарная длина всех связей, расстояние между моду­ лями trii и m.j в отличие от предыдущего равно

 

 

=

ац[{х1—Xj)2+

(yi—yj)2],

(5.4.1)

где (Xi,

yi)

и (Xj,

r/j) координаты указанных

модулей

в некотором

размещении.

 

 

Размеры модулей при этом не учитываются, т. е.

каждый

модуль

принимается

за материальную точку.

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

124

граничными. Часто проектировщики считают некоторые контакты фиксированными для специальных электри­

ческих цепей, такие точки в дальнейшем будем

называть

фиксированными

граничными.

 

 

 

 

Итак, для

размещаемых точек

введем

следующие

названия и обозначения:

точек от 1 до д;

 

множество

нефиксированных

 

множество

нефиксированных

граничных

точек

от

д + 1 до п;

 

 

 

 

 

 

множество

фиксированных

граничных

точек

от

п+ 1 до N.

 

 

 

 

 

 

Как правило, поле позиций имеет форму прямоуголь­

ника

R bXd

с

координатами; О ^ х ^ б

и

0^,y^d.

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

Получение начального приближения связано с мини­

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

 

 

 

 

 

L =

S S

<Ы №

~ *iY + (yt ~ УЛ

(5-4-2)

при условиях:

0<Хг

для

l^t<T'<7;

х* = 0 для

<7+1<:

s^is^n;

0<tji<d

для

1 < ; я

;

Xi = au,

г/г=р\ для

я + К ;

sO'^W,

точка

(at, Рг) задана

и принадлежит R.

 

Частные производные по всем нефиксированным точ­ кам, приравненные к нулю, дают систему линейных

уравнений, решение

которой

минимизирует

(5.4.2):

N

 

 

 

 

 

I]

aij(Xi

— Xj) = 0,

i = l ,

2,...,q,

i. i = i

 

 

 

(5.4.3)

 

 

 

 

 

N

Oijiyi У}) = 0,

i=l,

 

n.

2

2

I, ;'=l

Система уравнений (5.4.3) решается методом итера­ ций Зейделя. В [13] показано, что необходимым усло­ вием сходимости итераций является наличие хотя бы одной фиксированной точки для каждого компонента

125

связности. С другой стороны, минимизация (5.4.2) при одной фиксированной точке приводит к тому, что все остальные точки данного компонента связности совме­ щаются с фиксированной. Поэтому в каждом компонен­ те связности должны быть точки (как минимум две), фиксированные на противоположных границах прямо­ угольника. Как правило, одна такая точка имеется в каждой электрической цепи па разъеме. Другая же точка фиксируется искусственно, причем место ее фикса­ ции должно находиться как можно ближе к той границе прямоугольника JR, которая противоположна располо­ жению разъема.

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

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

Рц=ацТ(т,

т])=ацЛхи

уи xjt у-).

Для того чтобы размещаемые модули не совпадали, между ними вводится некоторая сила отталкивания

Фц = 9(пц, mj) = ?(.**, уи Xj, у-).

Кроме того, для каждого модуля вводятся аналогичные силы отталкивания от границ прямоугольника R:

Gi=~g(mi)=g(Xi, yt)

и силы так называемого сопротивления среды, пропор­ циональные скорости Vi движения материальной точки, kvu где k — некоторое положительное число.

Система дифференциальных уравнений

N N

Xi= 2 Oijfx(mi, / П ^ +

Ц (Шг, Tllj)

+

/ = 1

/ = 1

 

+ gx(mi) kxit

i== 1, 2,... , q;

(5.4.4)

126

N N

Уг =

2 <bifv (mi> Щ) +

S Ь (m,

Щ) +

 

/ = 1

/ = 1

 

+

S T y — ktji, t =

1, 2,...,

n

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

 

Ъ(0) = х1°\

j^(0) =

0,

 

взятых из

решения

системы

алгебраических

линейных

уравнений

(5.4.3), на

первом

этапе

решают

итерацион­

ным методом Эйлера.

С вычислительной точки зрения наибольшие труд­ ности представляет решение системы дифференциальных уравнений (5.4.4). Здесь учет сил отталкивания требует значительного машинного времени, так как на любую материальную точку могут действовать силы отталки­ вания от остальных N—1 точек и, как показано в [13], это требует около qN арифметических операций. Поэто­ му для ограничения счета учитываются только те силы отталкивания, которые возникают между точками, на­ ходящимися от данной на расстоянии, не большем, чем заданное. Величина этого расстояния определяется

опытным

путем.

 

 

 

 

 

 

 

 

 

 

R

Получив размещение

модулей

в

прямоугольнике

по уравнениям

(5.4.4), осуществляют

их

сдвиг

в

фикси­

рованные

позиции,

при

этом

минимизируется

сумма

квадратов всех сдвигов.

 

 

 

 

 

 

 

 

 

Для

{, уг)—координат

 

размещенных

точек

и

(A], Bj)—координат

фиксированных

позиций

сумма

квадратов сдвигов

равна

 

 

 

 

 

 

 

 

 

S =

(JC, — Ahf

+ (у, -

В}1)2

+

... +

(*,_

Aj4y+

 

 

 

 

i = l

 

1=1

 

/ = 1

j = l

 

 

 

-

2

+

 

+

- +

(*Им

 

+ УяЩяЯ

 

 

В работах [2, 14, 15] задача размещения решается аналогичными методами; при этом в каждом случае

127

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

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

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

5.5. Размещение с учетом ограничений трассировки

(алгоритм размещения цепей)

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

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

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

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

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

128

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

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

модулей, а

цепей, и учитывать

при этом конфигурацию

последних.

Так

как

наиболее

простой

конфигурацией

цепи, представляемой

в

ортогональной

сети,

является

прямая, параллельная

одной из

осей

координат

(X, У),

то содержательно

задача

размещения,

наилучшим обра­

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

чить

размещение модулей,

обеспечивающее

максималь­

но

возможное

число линейно

расположенных

 

цепей,

ориентированных вдоль краев платы. Среди эквивалент­

ных по числу линейных цепей можно выбрать размеще­

ние, минимизирующее суммарную их длину.

 

 

 

 

 

Введем основные понятия и предложения. Регуляр­

ную

сеть r Gp

=

[Vp ;

Лр ],

дуги

Р 1 ,

я Р 2 , а р

? } — Av

ко­

торой

суть

только

взаимно перпендикулярные

прямые,

а

узлы

jt»Pl ,

у

Р 2 , ... ,vpJ

=

Vv

'расположены в

фиксирован­

ных

точках

 

плоскости

XOY,

 

назовем

ортогональной

реализующей сетью или просто реализующей сетью.

Реализующая сеть представляет систему проводящих

магистралей

(проводников)

печатной платы,

 

 

 

 

г

CeTbr Gc '=[Vc ; Ас],

узлы

{uC l , t>C 2 ,... ,vcJ

=

Vc

которой

сопоставлены

контактам

модулей,

а дуги с\,

аС2,

...,

...,асЪ}

 

Ас — электрическим

соединениям

 

между

 

соот­

ветствующими парами контактов, назовем сетью соеди­

нений. Эта сеть представляет схему соединений устрой­

ства, расположенного на одной печатной плате. Мно­

жество узлов MCk = {vc}mj<= V0

сети соединений, представ­

ляющих контакты одного модуля /и,, назовем

С-моду-

лем. Размещенным модулем назовем множество

узлов

Mpk

=

{vp}ejC:Vv

 

реализующей

сети,

взаимно

однозначно

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

С-модулю MCk

 

при

размещении

модуля

rrij

в

позицию

р е платы. Относительное взаимное

распо­

ложение узлов

одного размещенного модуля не меняет­

ся

при

любом

расположении модуля т , - на

плате.

 

 

9^-230

W

Подсеть

fi=\[{vc}n;

с}ц]

сети соединений

Gc ,

 

fiCzGc,

{vc}ficzVc,

{ac}ficzAc,

(5.5.1)

все узлы

Vi^{vc}fi

которой

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

контакты,

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

связывающая цепь

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

одному

из

компонен­

тов связности сети соединений.

 

 

 

 

Поскольку каждый из узлов Vi^{vc}fi

цепи U

при­

надлежит также какому-либо С-модулю,

Vi^Mki,

то

можно говорить, что цепь fi

связывает множество {Mh}i

С-.модул ей.

 

 

 

 

 

 

Цепи fi и /,-, множества

объединяемых

С-модулей

которых совпадают,

{Mh}i = {Mh}j,

назовем

кратными.

Подсеть di=[{vp}di;

{av}di] реализующей

сети,

 

didGp,

{vp}diczVp,

 

{ap}diczAv,

 

(5.5.2)

все узлы которой представляют контакты, объединяемые только одной электрической цепью щ, обычно называют связывающим деревом для щ. Дерево d\ является одним

из возможных

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

связывающей

цепи /,

в реализующей

сети.

 

 

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

пей и расположение деревьев в реализующей

сети.

Две цепи

и fj назовем независимыми, если они свя­

зывают узлы только различных

С-модулей:

 

 

Vj<={vc}fj,

Vj^{Mk}j;

 

 

{МъЬГ\{МнЪ = Л.

(5.5.3)

Аналогично

два дерева d% и dj назовем независимы­

ми, если они представляют независимые цепи, т. е. свя­ зывают узлы только различных С-модулей:

 

Vi^{vp}di,

 

Vi^{Mh}i;

 

 

{Mh}iC[{Mh}j

= A.

(5.5.4)

Цепи fi и fj

(и соответственно

деревья d\ и dj),

среди

узлов которых

по крайней

мере

два (i>j, Vj) принадле-

130

жат одному С-модулю:

 

Vi^{Mk}u

VjGE{Mk}j,

 

 

 

{Mh}{

П к}}ф\,

(5.5.5)

назовем

зависимыми.

 

 

 

 

Дерево d"i, все

связываемые С-модули

которого

Mha{Mh}"i

расположены

в реализующей сети

вдоль

ли­

нии, параллельной одной из координатных

осей

(ОХ

или OY),

назовем линейным. В этом случае можно

так­

же говорить о линейной реализации дерева di. В против­ ном случае будем называть дерево нелинейным.

Два

линейных дерева d"i и d"j,

расположенные

в реализующей сети вдоль разных координатных

осей

(ОХ или

OY), назовем ортогональными

(di±dj).

Ука­

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

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

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

Лемма. Нижняя оценка сложности линейной реали­ зации какого-либо дерева di не более соответствующей оценки любой нелинейной реализации dt.

Наиболее важное для рассматриваемой задачи свой­

ство линейных деревьев

выражает

Т е о р е м а 5.5.1. Если

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

делающее линейными все деревья заданного множества,

то при достаточном ресурсе (магистралей)

реализую-

9*

131

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