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

книги из ГПНТБ / Ландау И.Я. Применение ЦВМ для проектирования ЦВМ

.pdf
Скачиваний:
7
Добавлен:
23.10.2023
Размер:
7.98 Mб
Скачать

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

Известен ряд алгоритмов трассировки, предназначен­ ных специально для ортогонального монтажа [Л. 48—51].

 

 

 

В них используется понятие «про­

 

 

 

пускной

способности

 

канала-»,

 

 

 

равной числу печатных проводни­

 

 

 

ков, которые можно в этом кана­

 

 

 

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

 

 

 

ограничений

на

ширину

провод­

 

 

 

ника и

зазора

между

проводни­

 

 

 

ками. Поскольку на любой печат­

 

 

 

ной плате желательно минимизи­

 

 

 

ровать

количество

переходов со

 

 

 

слоя

на

слой

(такие

переходы

 

 

 

увеличивают

трудоемкость

изго­

 

 

 

товления платы и понижают ее

 

 

 

надежность), одним из основных

 

 

 

критериев трассировки при орто­

 

 

 

гональном монтаже является ми­

 

 

 

нимум числа поворотов провод­

Рис. 3-10. Схема ортого­

ника. Поэтому на первом этапе

работы

алгоритма

для

каждого

нального монтажа.

 

соединения выбирается путь,

про­

1 , 2 — переходы

на

второй

слой монтажа.

Пунктиром

ходящий по

свободным

каналам

показаны проводники

второ­

и имеющий

минимум

поворотов.

го слоя.

 

 

 

 

 

При

этом

учитывается

только

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

водника в канале. Если при этом из-за

возникновения

в процессе трассировки дополнительных

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

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

Алгоритмы ортогональной трассировки требуют го---

раздо меньшего машинного времени, чем волновой алго­ ритм, и дают хорошие результаты (до 85—100% разве­ денных соединений). Основным недостатком их является большое количество дополнительных точек перехода

100

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

К третьей группе алгоритмов трассировки относятся эвристические алгоритмы, использующие метод поиска пути в лабиринте (Л. 31]. При этом программа старается провести каждое соединение по кратчайшему пути, обходя встретившиеся по дороге препятствия. Препятст­ вия представляются в виде прямоугольников, заданных координатами их углов. Размеры прямоугольника опре­ деляются так, чтобы по его сторонам возможна была прокладка новых проводников (способ определения размеров пояснен на рис. 3-11).

Трассировка проводится для каждого слоя монтажа отдельно. Для хранения препятствий отводится спе­ циальная зона оперативной памяти — «монтажное поле», в которую отдельный блок программы предварительно заносит «начальные препятствия» — контактные площад­ ки и запрещенные для прокладки проводников зоны. Поскольку поиск пересечения прокладываемого соеди­ нения со всеми препятствиями слоя отнимает слишком много времени, каждый слой монтажа предварительно разбивается на прямоугольные клетки. В макете каж­ дой клетки записаны адреса (на «монтажном поле») проходящих через нее препятствий. Число клеток опре­ деляется для каждого слоя монтажа по формуле

о _ k,p + F

кг

где р — число соединений данного слоя; F — число кон­ тактных площадок; ky — среднее число отрезков, необхо­ димых для реализации одного соединения, и кг — сред­ нее число препятствий в одной клетке1.

1 Не следует путать эти клетки с клетками — дискретами алгоритма Ли. В данном алгоритме клетки на монтажном поле исполь­ зуются только для ускорения работы программы и размеры их не связаны с шириной печатных проводников. Число клеток выбирает­ ся так, чтобы в каждую клетку попадало не слишком много препят­ ствий; по й- определяется объем памяти для храпения.макетов кле­ ток.

10 1

1

Алгоритм трассировки построен следующим образом: 1. Выбираем очередное соединение данного слоя М

Mi2 (рис. 3-12) и строим отрезок L, соединяющий выво­ ды Мп и Mi2. Отрезок задается коэффициентами урав­

 

 

нения

прямой

у — ах+Ь,

 

 

проходящей

через

точки

 

 

М ц и

M i z , и координата­432*

l i f e

 

ми этих точек.

Определя­

 

ем номер N клетки, в ко­

 

 

торой лежит точка Мц.

Рис. 3-11. Определение препят-

2.

 

 

 

 

ваем из монтажного поля

ствин для проводников и контакт­

ных площадок,

 

проходящие

через клетку

Штриховая линия — контуры

препят­

N препятствия (адреса их

ствия; сплошная — форма

печатного

соединения.

 

определяются

по

макету

 

 

клетки) и ищем точки пе­

 

 

ресечения L с

границами

препятствий. Если такие точки есть и они лежат внутри клетки N, запоминаем их координаты и соответствую­ щие препятствия в списке пересечений (СП).

3.Если СП пуст, проверяем, не достигнута ли точка

М,2 — в этом случае соединение выполнено и переходим

кп. 9. Если Miz еще не достигнута, определяем номер клетки, в которую перехо­

дит отрезок L из клетки N, засылаем этот номер на место N и возвращаемся

кп. 2.

4.Если СП не пуст,

выбираем из него бли­

 

 

 

жайшую к Мц точку пе­

 

 

 

ресечения Мо и препят­

 

 

 

ствие

W,

которому

она

 

 

 

принадлежит,

и начинаем

Рис. Л-12. Схема обхода препят­

строить

путь

обхода

W.

ствия.

 

Обозначим

через

М и М2

Сплошная линия — отрезки пути

обхо­

и М3

вершины

прямо­

да.

штрнх-пунктнриая— отрезки

раз­

ведки, а штриховая — отрезки коррек­

угольника

W.

Пусть

Л10

тировки.

 

лежит на стороне М3М2 и

 

Первым отрезком

пути

мы строим

путь обхода влево.

обхода будет MiM0. Затем рассматриваем отрезок.М0М2.

Если М0М2 не встречает

препятствий (что определяется

по пп. 2, 3), переходим

к п. 5. В противном случае —

к п. 7.

 

102

5. Включаем М2М2 в путь обхода, после чего опре­ деляем, возможно ли достижение M i2 из точки М2. Для этого строим «отрезок разведки» M2Mi2\ если он не пе­ ресекается с прямоугольником— путь обхода закончен. В противном случае строим следующий отрезок пути обхода M2Mi тем же способом, что и М0М2.

6.

Когда путь обхода построен, добавляем к нему от­

резок

разведки

(отрезок MiMi2 на

рис. 3-12), а' затем

вычисляем для

него оценку D =

k

d$.

/=1

Здесь k — число отрезков в пути (включая «отрезок разведки»), а

dj=UiSj + а2§]-\- аз1],

(3-1)

где Sj — количество пересечений отрезка / с еще не про­ веденными соединениями данного слоя монтажа; gj — число пересечений -отрезка / с препятствиями и lj

Рис. 3-13. Пример трассировки.

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

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

7. Если очередной отрезок пути обхода встрети препятствие, начинаем обход цепи препятствий; способ

1 0 3

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

число

препятствий

в

цепи

больше

заданного

предела

(слишком

сложный

путь).

 

 

 

8.

Если

обход цепи

препятствий

продолжать

нельзя,

заносим в оценку текущего пути оо и пробуем построить

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

процесс до тех пор, пока не

построим путь, либо пока

не окажется,

что очередной

«шаг назад»

невозможен

(т. е. дошли

до первого пересечения) — в

этом случае

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

9.После того как путь построен, производится его корректировка. Для этого пробуем заменить каждую пару последовательно расположенных в списке пути отрезков MjMj+1, Mi+iMj+2 одним отрезком MjMj+2, за­

мыкающим ломаную. Если MjMj+2 не встречает препят­ ствий и его оценка не больше суммы оценок заменяемых им отрезков, то производим спрямление соответствую­ щего участка пути. На рис. 3-12 показано последова­ тельное спрямление правого пути обхода; последний от­ резок МJ1M22 и вошел в скорректированный путь, заме­

нив ломаную М ^МъМыМмМаМж-

10.После корректировки трассировка очередного

соединения закончена. Отрезки, вошедшие в скорректи­ рованный путь, заносятся на «монтажное поле» в виде новых препятствий; адреса препятствий заносятся в ма­ кеты соответствующих клеток. Переходим к трассировке следующего соединения (возвращается к п. 1).

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

104

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

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

Некоторые результаты, полученные с помощью этого алгоритма на ЦВМ БЭСМ-4, приведены в табл. 3-7; пример получаемой трассировки показан на рис. 3-13.

Т а б л и ц а

3-7

 

 

 

 

 

 

Размеры

Количества

Количест­

Количест­

Количе­

Процент

Машинное

 

платы, мм

слоев

во выводов

во соеди­

ство пе­

перемычек

время, мин

 

 

монтажа

 

нений

ремычек

 

 

 

54X37

о

325

203

29

14

90

 

151X30

9

348

180

58

32

120

 

160X130

9

1280

478

187

39

180

 

зоохзоо

9

630

258

103

40

120

 

210X120

3

700

218

20

9

100

г

390 Х 170

3

675

210

52

25

60

I

200X70

2

ПО

99

16

16

23

1

320X300

4

507

188

3

1.6

95

 

320X120

' 4

444

285

7

2,5

70

 

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

105

3-6. ВЫБОР ДЕРЕВА СОЕДИНЕНИЙ

Мы рассмотрели различные методы трассировки пе­ чатных соединений. Однако трассировка является завер­

шающим

этапом

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

печатного

монтажа;

 

 

 

 

 

до начала трассировки не­

 

 

 

 

 

обходимо

решить

следую­

 

 

 

 

 

щие задачи:

 

 

соединяе­

 

 

 

 

 

1)

определить

 

 

 

 

 

мые пары выводов (т. е. вы­

 

 

 

 

 

брать

дерево

соединений

 

 

 

 

 

для каждой цепи);

 

 

 

 

 

 

 

2)

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

 

 

 

 

 

ния между слоями монтажа;

 

 

 

 

 

3)

определить

порядок

 

 

 

 

 

трассировки

соединений.

 

 

 

 

 

 

Эффективность программ

 

 

 

 

 

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

 

печатного

 

 

 

 

 

монтажа

(т. е. процент раз­

 

 

 

 

 

веденных

 

соединений)

в

 

 

 

 

 

большей

степени зависит

от

Рис. 3-14. Зависимость количе­

решения этих задач, чем

от

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

ства

разведенных

соединении

сировки; это иллюстрирует­

от порядка

трассировки.

Плата с односторонним монтажом.

ся

рис.

3-14.

Из

рисунка

Заданные

соединения

показаны

видно,

что простым измене­

штрих-пунктирной линией. При

трассировке

в порядке

1—2—3

нием

порядка

трассировки

(сплошные

линии)

соединение 3

удается

провести

неразве-

остается неразведенным; при трас­

сировке в порядке 3—2—1 (пунктир­

денное

раннее соединение.

ные

линии)

реализуются

вес со­

единения.

 

 

 

Получить точное решение

 

 

 

 

 

этих

задач

не удается,

по­

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

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

106

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

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

а минимум их суммарной оценки D = Yi d;, где Я —

i£=H

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

1. Для цепей, соединяющих три и более выводов, строим таблицу всевозможных соединений (ТС).

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

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

4.Выбираем из списка минимальный набор отрезков, необходимый для реализации дайной цепи, и включаем его в Я. Выбор этот производится следующим образом. Пусть цепь связывает т выводов. Тогда минимальный набор соединений, необходимый для ее реализации, содержит т— 1 отрезок, причем он не должен содержать замкнутых контуров. Этот набор можно получить, вы­ брав из первых т соединений первые т —1 так, чтобы очередное выбираемое соединение не образовало замк­ нутого контура с уже выбранными. Поскольку список был упорядочен по возрастанию оценки, выбранный таким образом набор имеет минимальную оценку на

множестве Я.

107

5.Повторяем пп. 3, 4 до исчерпания ТС, в резуль тате получаем оценку разбиения для Н.

6.Выполнение пп. 3—5 продолжается до тех пор, пока разность оценок двух последовательных итераций не станет меньше заданного предела.

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

3-7. СРАВНЕНИЕ РАЗЛИЧНЫХ АЛГОРИТМОВ ТРАССИРОВКИ

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

1 Это видно, в частности, из табл. 3-7.

103

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

Это приводит к необходимости использовать в АСП различные методы проектирования печатного монтажа для разных конструктивных элементов.

Для плат с нерегулярным расположением выводов, особенно если на них кроме стандартных элементов установлены и нестандартные (например, обычные ра­ диодетали), наиболее эффективны алгоритмы поиска пути в лабиринте. Таких элементов много в блоках управления оперативной памяти и периферийных элек­ тромеханических устройств.

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

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

Нп одни из методов машинного проектирования пе-^ чатного монтажа не гарантирует трассировки всех сое­ динений; как правило, какая-то часть соединений (от 2 до 10%) остается не разведенной. Часть этих соедине­ ний (а иногда и все) может быть разведена путем изменения конфигурации протрассированных ранее про­ водников (как показано на рис. 3-14). Человек подоб­ ную корректировку делает легко, для машины же это очень трудная задача, поскольку она не может «уви­ деть» все монтажное поле сразу, а должна поочередно двигать каждое препятствие. Даже в простейшем при­ мере (рис. 3-14) для корректировки нужно одновременно изменить конфигурацию двух проводников, при этом

109

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