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

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

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

вающий этот максимальный поток. При

этом часто

в качестве критерия оптимизации выбора

используют

так называемую технологичность трассировки, которая

зависит от числа

перегибов

проводов

на всем

монтаж­

ном

поле. Таким

образом,

задача

трассировки

сводит­

ся к

построению

всех трасс

(если

это

допустимо) с ми­

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

ком,

но и все

узлы, лежащие с ним

на одной

прямой,

т. е.

пометка

с индексом источника

находится

как бы

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

сыщенную дугу или не пометит

все узлы выделенных

направлений.

 

При распространении лучей от 'источника в каждом

узле

запоминается информация о

направлении прихода

и об

узле, от которого произошло

распространение лу­

ча. Эта информация 'используется на этапе восстановле­ ния трассы. Сама процедура восстановления трассы состоит в последовательном просмотре узлов в направ­ лении, обратном распространению луча, и в запомина­

нии номеров только тех узлов, в

которых меняется на­

правление луча. Эта процедура

пошаговая и состоит

в следующем.

 

1-й шаг. Определяется направление и адрес узла, из которого был достигнут сток. Узел, соответствующий стоку, запоминается в списке трассы как исходный.

2-й шаг. Если этим узлом является источник, то он запоминается как последний в списке трассы, и процесс построения трассы заканчивается, в противном случае — переход к шагу 3.

3- й шаг. Запоминается в списке трассы узел, давший рассматриваемому пометку, т. е. узел, в котором прои­ зошло изменение направления луча. Далее переход к шагу 1.

При построении трассы можно учитывать и некото­ рые дополнительные ограничения. Так, например, широ­ ко распространенное ограничение на максимальную дли­ ну провода между электрическими контактами легко

202

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

формацию

о

расстоянии

между

узлами. В

этом

случае

в процессе

построения трассы подсчитывается ее

длина,

и если она на некотором

шаге

превышает

допустимую,

то узлы исключаются из списка

трассы, уничтожаются

все пометки

и строится

трасса

данного

провода без

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

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

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

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

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

щ

7.5. Трассировка проводных соединений с учетом требований помехоустойчивости

При использовании ЦВМ для получения монтажной документации одной из важных и недостаточно иссле­

дованных

является

проблема трассировки соединений

с учетом

требований

помехоустойчивости.

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

/ Z3

г1

Элемент

пространства.

Контакт

Разъемы

Рис. 7.5.1. Монтажная панель и заданная на ней плоскость

RS.

полняются

по

прямым,

соединяющим

соответствующие

контакты,

или

по определенным направлениям (кана­

лам).

Принимается, что соединения

прокладываются

между

-контактами,

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

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

образом на части плоскости, ограниченной

прямоуголь­

ником

панели

(рис. 7.5. 1). Ограничений на

число

кон­

тактов,

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

электрически, не

накладывается,

но учитывается

ограничение на допустимое

число

паек

к одному

контакту.

 

 

 

 

Для учета помех при трассировке сделан ряд упро­ щений: помехи на данном проводе определяются ариф-

204

метическим сложением «условных» шумов, наводимых остальными проводниками по отдельности (наихудшая ситуация, вероятность которой весьма мала); при рас­ чете «условного» шума используется эксперименталь­ ная зависимость уровня шума Um, приводящего к сра­ батыванию элементов ЦВМ, от длины I двух взаимодей­ ствующих проводов, разнесенных на расстояние d:

Um = f(l, d).

(7.5.1)

В дальнейшем Um будем называть

допустимым шу­

мом. Эта зависимость позволяет учесть реальное взаи­

модействие

проводов

без подсчета

электростатической

и

электромагнитной

составляющих

«наводимого» шума

по

громоздким соотношениям, приведенным

в [10]. По­

этому расчет помех

с

использованием

(7.5.1)

имеет от­

носительный

характер

и может дать

лишь

ориентиро­

вочное представление о помехоустойчивости полученных монтажных соединений. Однако простота машинной реализации метода оправдывает принятые допущения.

Кроме того, аналитические

выражения, приведенные

в [10], применимы лишь для

анализа помехоустойчиво­

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

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

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

 

Будем в дальнейшем цепью называть множество кон­

тактов устройства, электрически соединенных

друг

с другом. Участок цепи, соединяющий

два контакта и

не

содержащий других контактов,

назовем

звеном.

В

качестве математического эквивалента электрической

цепи удобно выбрать дерево (связный

граф без циклов),

тогда звено цепи представляется ветвью дерева

(дугой

графа).

 

 

205

Исходными данными задачи являются множество {N} цепей устройства, контактам которых после разме­ щения ячеек на панели приписаны координаты в систе­ ме RS (рис. 7.5.1), и зависимость (7.5.1). Последняя учитывает свойства используемых элементов. Задача заключается в получении трасс всех соединений, задан­ ных множеством цепей с минимальной длиной Lj

каждой из них при уровне шума

Uj в любой из цепей, не

превышающем допустимого Um,

т. е. в минимизации

Lt=

Е

/

г - min,

JG{N\,

(7.5.2а)

Ui=

 

S

2

Un<Um,

(7.5.26)

 

 

 

} ' e { / } t

 

 

где {/}j — множество

звеньев j-й цепи; UM

величина

шума, наводимого

k-я

цепью

в

t-м звене /-й

цепи; Uj

по (7.5.26) выражает суммарную величину шума, наве­ денного в /-Й цепи всеми остальными цепями из {N}.

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

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

Группу А

составляют

все цепи, включающие

выходы

«мощных»

элементов;

группу В — цепи, включающие

входы «чувствительных» элементов, и группу

С — про­

чие цепи. Практически

для обеспечения помехоустойчи­

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

Соотношения (7.5.2а), (7,5.26) иллюстрируют основ­ ные проблемы машинной трассировки проводных соеди­

нений: 1) выбор

наилучшей

очередности

трассировки

цепей; 2) отыскание минимального в каком-либо

смыс­

ле

связывающего

дерева для каждой цепи, являющего­

ся

для нее

монтажной

трассой. Для

решения

первой

проблемы

авторы

не видят

в настоящее

время

иного

пути, чем использование

эвристических

алгоритмов.

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

206

в цифровой аппаратуре (10—15% «мощных» цепей, 50—70% «чувствительных», остальное — прочие цепи). Вначале для всех цепей типа В (чувствительных) стро­ ятся минимальные деревья, после чего на панели зада­ ется «поле чувствительности», характеризуемое количе­

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

F(R,S),

приходящихся

на элементарный квадрат (R,S)

плоскости RS. Затем

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

стки

панели, насыщенные «чувствительными»

провода­

ми.

Это

достигается

удлинением

трасс

цепей

типа А.

Соответствующее

соотношение для у'-й цепи можно запи­

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

образом:

 

 

 

 

F =

%

Fi(R, S t r a i n

при

Lj<MLoi,

 

(7.5.3)

 

 

€={' Ь

 

 

 

 

 

 

 

где

L0j — минимально

возможная

длина

трассы, а М —

'Коэффициент допустимого удлинения трассы.

 

Теперь трассы цепей типа В проверяются на помехо­

устойчивость. Для этого по полученным

ранее

трассам

мощных

цепей

составляется

с использованием

зависи­

мости (7.5.1) «поле шумов», характеризуемое средней величиной шума U(R, S), наведенного на элементарный квадрат (R, S) плоскости RS близлежащими мощными цепями. Для каждой из трасс цепей типа В подечитывается суммарная величина шума, наведенного в ней «полем шумов»; цепи, для которых не выполняется со­ отношение (7.5.26), корректируются. Рассмотрим под­ робнее названные этапы решения задач трассировки.

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

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

20 7

ревья. Будем использовать известную формулировку задачи, предложенную Нримоы [11], и принятую там же терминологию, за исключением дополнительного ограни­ чения, устанавливающего, что любому из я узлов связы­ вающего дерева может быть инцидентно не более т дуг. Принципы построения минимальных связывающих деревьев с учетом указанного ограничения можно сфор­ мулировать следующим образом:

1. Всякий изолированный узел соединяется с ближай­ шим, не соединенным с т другими узлами.

2. Всякий изолированный фрагмент соединяется крат­ чайшей дугой с ближайшим узлом, не соединенным cm другими узлами.

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

ся достаточно близкими к минимальным. На

рис.

7.5.2,а

приведено

исходное множество {1 —10} узлов,

а на

рис. 7.5.2,6—соответствующая ему матрица

расстояний

А = (dij);

в этом примере т = 2.

 

 

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

( f l * j )i = m i n ( a j i ) , i = l , 2 , . . . , т,

(7.5.4)

т. е. для каждого узла из множества {X} отыскивается ближайший сосед (рис. 7.5.2,в). Если в 1 столбце мини­

мальным оказался

элемент ац, а в у'-м — элемент

ац, то

в последнем

выбирается

другой, минимальный

после

вычеркивания

ац,

элемент

спи. Множество {a*j}i,

содер­

жащее п элементов, упорядочивается по возрастанию

(a*j),

и из него

поочередно

выбираются

все

элементы

(a*i)i

( Р и с -

7.5.2,в, д).

Узлам

i

и у,

соединяемым-соот­

ветствующей

a*j ветвью (рис.

7.5.2, д),

присваивается

метка

р (номер

фрагмента),

а

в соответствующие

счет­

чики

числа инциденций

заносятся единицы (шаг 1 ите­

рации I на рис. 7.5.2,д).

 

 

 

 

 

 

Если при

выборе очередного

(a*j)i оба

узла

соответ­

ствующей дуги

имеют

одинаковые

метки,

то

дуга

как

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

208

 

 

 

 

 

 

 

 

 

123U56789

 

 

W

 

 

 

 

 

 

 

 

1

щ

24 9 17152512736 32т

 

 

 

 

 

 

 

 

г

9

%щ

38231540253918

 

 

 

 

 

 

 

 

Z4

 

25

 

 

 

 

 

 

 

 

ъ

 

23

 

16 7 192128\2429

 

 

 

 

 

 

 

 

и

173816

1832 153923 19

 

 

 

 

 

 

 

 

5

1523 7 18

1417221826

 

 

 

 

 

 

 

 

6

25151932

щ

щ 30112638

 

 

 

 

 

 

 

 

7

27

*d

21151730%

51 9

в

 

 

 

 

 

 

 

 

в

 

 

 

 

 

 

 

 

 

 

9

36252839221131% 2538

 

 

 

 

 

 

 

 

Ю

323924231826 9 25% 14

 

 

а)

 

 

 

 

 

 

344829192638 8 38 14

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

I итерация

 

 

 

 

 

 

 

 

 

 

 

 

 

 

v 5) 1-3(9)

 

v5)6-8(11)

 

 

 

 

 

 

i] итераций

 

-4h2-&flSf v2) 7-10(8)

 

 

v i)i-i+ (17)

 

v

5)8-2 (25)

v 1)3-5(7)

 

M$S~6itt7

 

 

л)г

 

t(3<*}

-J)а

<*(еэ>

9)4-7(15)

V 4) 9-7(9)

 

 

v 2)4-10(10)

6) 10-1(34)

v 6)5-6(14)

 

7) 10-9(14)

 

 

 

 

 

 

 

 

 

 

г)

 

 

 

 

 

 

6)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Т итерация

 

 

 

 

 

В итерация

 

 

 

Число

Номер фрагмента

Число

номерфра­

 

 

гмента

 

 

инциОенций

 

 

(метка)

 

 

 

анцад.

(метка)

 

Ж

1 2 3

4 5 6

1

2

3

4

6

 

6

1 2

5

1

2

5

 

1

 

1

 

 

 

а

 

 

 

 

 

2

 

1

а.

 

а.

ины-

2

1

2

 

а

 

а.

 

 

 

 

 

1 2

а

а

4

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

верш

5

1

 

2

а

 

 

 

 

 

а

 

 

 

 

 

 

6

1

 

1 2

 

 

 

 

 

 

а

 

 

 

 

а

 

номер

7

 

2

 

 

 

 

-е-

а

 

 

г

 

а

8

 

 

1

 

 

 

 

 

 

 

 

9

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

а

 

 

10

J

 

 

 

 

 

 

 

 

 

 

 

2

 

 

а

 

Рис. 7.5.2. Построение минимального связывающего дерева для мно­ жества узлов {1—10}.

14—230

если достигло — то с таким

узлом

уже не

может соеди­

ниться

пи одна

дуга.

 

 

 

 

 

При

соединении

двух

изолированных

фрагментов

происходит поглощение одного фрагмента

другим (на­

пример,

поглощается

фрагмент

со старшей

меткой).

В результате

выполнения

первой

итерации

отдельные

подмножества 'близко расположенных узлов оказывают­ ся объединенными в изолированные фрагменты, иногда

все

узлы оказываются

связанными,

но чаще

этого не

происходит. В

этом случае

из

матрицы

расстояний

ис­

ключаются все

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

имеющим т 'инциндентных дуг, и все

элементы

(a*j)i,

выбранные на

первой

итерации.

 

 

 

 

 

Затем выполняется

вторая

итерация

алгоритма,

поч­

ти

полностью

аналогичная

первой.

Отличие

состоит

в том, что при

получении

множества

 

{a*j}^ из

каждого

столбца дополнительно исключаются элементы, соответ­

ствующие дугам одного фрагмента (рис.

7.5.2,г, д). Это

обеспечивает соединение кратчайшими

из

возможных

дуг изолированных фрагментов (применение

принципа

2). Алгоритм заканчивает работу, когда

все узлы исход­

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

{X}

оказываются

связанными

(всем

присваивается

одна

метка, как

это

видно из

рис.

7.5.2,(5).

 

 

 

 

 

Описанный алгоритм проверялся вручную на боль­ шом числе примеров с т = 2, 3 и п, достигавшим не­ скольких десятков; не было обнаружено ни одного при­ мера, для которого алгоритм не сошелся бы после вто­ рой итерации. Близость результата к минимуму интуи­ тивно ясна из описания процедуры и, кроме того, может быть проверена получением нижней оценки длины дере­ ва. Такой нижней оценкой, очевидно, будет длина дере­ ва, полученного по алгоритму Прима, если снять огра­ ничение на число инциденций узлов. Сравнительная эффективность алгоритма Прима [ill] и приведенного выше иллюстрируется рис. 7.5.2,а (пунктиром показано связывающее дерево, полученное итеративным наращи­ ванием изолированного фрагмента [II]). Суммарная длина дерева, построенного по алгоритму Прима, равна 142, а по приведенному алгоритму 119.

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

215

и подсчете суммарного числа проводов F(R,S),

пере­

секающих -каждый элемент

(R,S).

 

 

Заключительной и

весьма важной

частью

первого

этапа является прокладка трасс цепей

типа А

на «кар­

те чувствительности».

Для

каждой из

цепей

строится

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

Построение трассы, соединяющей очередные два кон­ такта цепи, осуществляется с помощью усовершенство­ ванного волнового алгоритма [12, 13], описанного ниже.

Ка.к известно [12, 13], волновой алгоритм для плос­ кости RS, разделенной на большое число элементов, требует большого времени счета и значительного объема памяти для хранения всех допустимых путей. Поэтому здесь предлагается учесть некоторые особенности рас­ пределения числа «чувствительных» проводов F(R,S) на плоскости, имеющие место в большинстве практиче­ ских случаев и существенно облегчающие решение зада­ чи. На рис. 7.5.1 показан примерный вид панели устрой­

ства и наложенной на него

плоскости

RS. Оказывается,

что значения функции

F(R,S)

распределены

на плоско­

сти RS

неравномерно,

а именно: множества

элементов

с относительно

большими

F(R,S)

образуют

линейные

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

(такие

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

элементов

обра­

зуются

в местах плоскости,

соответствующих

разъемам

панели).

 

 

 

 

 

 

 

Нетрудно убедиться в том, что указанные неоднород­

ности

распределения

F(R,S)

на

плоскости при

работе

модифицированного волнового алгоритма обусловят не­ избежное «вытеснение» трасс в «каналы» с относитель­

но

малыми значениями F(R,S).

Учет

этого обстоятель­

ства позволяет

построить процедуру

получения

трасс

по

принципу

«укрупнения»

элементов плоскости

RS.

В

новой плоскости TU узлами, через

которые должны

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

Вес FZ{T,U) каждой дуги т определяется как сред­ нее значение F(R,S) для всех элементов соответствую-

14*

211

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