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

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

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

чениях на максимальную длину соединений между не­ которыми элементами);

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

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

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

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

Сравнительный анализ различных алгоритмов и оце­ нок решения задачи размещения выходит за рамки дан­

90

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

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

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

3. Если цепь связана с разъемом, то хотя бы один из подключенных к ней элементов должен располагать­ ся вблизи этого разъема. Это условие является следст­ вием условий 1 и 2.

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

ции:

<7 ;.;, определяемая для каждой пары элементов

аи

ау

 

k

 

Яа == Xi

 

/—!

где k — число связей а,- с aj, а а; — вес связи:

1,

если цепь I соединяет

более трех выводов,

аг — 2,

если

цепь

I

соединяет

три

вывода;

3,

 

если

цепь

/

соединяет

два

вывода;

и Qi, определяемая для каждого элемента ау

Q i = : 9ij>

/

1 Число различных вариантов соединений для цепи, связывающей р элементов, М — С ^ ~ г д е S = С~р . При р — '2 М = 1 , при р — 3

М — 3, при р = 10 М — 886 163 135.

91

где суммирование ведется по всем элементам, связан­ ным с a.i. Для вычисления qij и Q, исходный список связей СВ (полученный в результате компоновки) упо­ рядочивается по номеру цепи (получаем С4) и строится список С5. В процессе построения С5 вычисляются qa и Qi, которые вписываются в строки С5 и в заголовки групп соответственно.

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

На третьем этапе размещения рассматриваются по­ садочные места, соседние с последним размещенным элементом (рис. 3-7,а). Если среди них нашлось сво­ бодное (г— 1 на рис. 3-7,а), оно заполняется. Если среди соседних посадочных мест свободного не оказалось, ищем какое-нибудь свободное посадочное место, сосед­ нее с ранее заполненными (рис. 3-7,6), и заполняем его. На выбранное таким образом посадочное место уста­ навливается элемент, наиболее связанный с соседними. Для этого поочередно просматриваются все установлен­ ные уже элементы, соседние с заполняемым посадоч­ ным местом (указаны пунктирными стрелками на рис. 3-7,а, б). Для каждого такого элемента а-; выбира­ ется из С5 входящий в его группу элемент а, с макси­ мальной qa. Эти элементы заносятся в таблицу канди­ датов на размещение (ТК). После построения ТК (она может включать от 1 до 8 элементов) повторяется про­ смотр соседних элементов, но на этот раз из каждой группы {a;}j выбираются элементы, вошедшие в ТК

92

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

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

Рис. 3-7. Схема выбора

соседнего элемента.

 

i — последний

размещенный

элемент; (i—1 )— первое

свободное посадочное ме­

сто: k — число

элементов

в

горизонтальном ряду.

 

монтажного поля

(если конструкция

и правила монта­

жа разрешают это). Ориентация определяется отдельно для каждого из элементов следующим образом. Рас­ смотрим некоторый элемент а{ и цепи {/у},-, в которые входит щ. Для каждой цепи rh из {/у}; найдем входящий в нее элемент щ, расположенный ближе всего к а,-. Выберем из допустимых ориентаций элемента а, такую, при которой расстояние между центром элемента а, п подключенным к гд выводом элемента а,- минимально; будем считать эту ориентацию желательной для цепи ot- В качестве окончательной ориентации элемента а; выби­ раем ту, которая желательна для большего числа цепей.

Входной информацией для программы

размещения

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

конструкции

элементов

рангов п

и п—1, список связей

(включающий указания

о заранее

назначенных контактах разъемов)

и список

назначений,

93

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

местоположение

определенного вывода элемента

ранга

я—1

(при фиксированной ориентации), геометрический

центр

его и т. д.

Описание конструкции элемента

ранга

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

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

монтажное поле имеет прямоугольную форму; контакты разъемов расположены по периметру мон­

тажного поля;, геометрическая форма всех элементов ранга я— 1

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

тажной поле;

проводника

(хотя

возможно проведение печатного

бы на одной монтажной плоскости)

между любой

парой

посадочных мест, а также между любым посадочным местом и контактом разъема.

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

количество модулей на ячейке обычно

не превосходит

40 и каждый модуль имеет до 14

выводов. Таким обра­

зом, размер СВ не превышает

600

машинных слов

(с учетом разъемов), что позволяет хранить и обраба­ тывать все списки в оперативной памяти. Для шкафа

94

объем СВ достигает 10—20 тыс. машинных слов (200— 300 ячеек, имеющих 50—60 контактов разъема); поэто­ му для хранения и обработки списков требуются внеш­ ние запоминающие устройства, что значительно замед­ ляет программу. Поскольку для ячеек задачу размещения нужно решать многократно (их много), желательно иметь разные варианты программы для работы только с оперативной памятью и с использованием внешних запоминающих устройств.

Выполнение размещения для ячейки, содержащей до 30 модулей, с помощью описанной программы зани­ мает на ЦВМ БЭСМ-4 около 5—6 мин машинного вре­ мени *.

3-4. ПРОЕКТИРОВАНИЕ ПЕЧАТНОГО МОНТАЖА

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

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

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

1. Конструктивные характеристики: размер монтажного поля;1

1 Для ячеек часто оказывается выгоднее совместно решать задачи компоновки и размещения модулей — при этом улучшаются условия для трассировки. Время решения этих задач для ячейки ука­ занных размеров составляет 30—40 мин (на ЦВМ БЭСМ-4).

95

минимальные ширина проводника, зазор между про­ водниками н радиус контактной площадки;

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

расположение выводов элементов на монтажном поле;

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

2. Описание электрической схемы, включающее: размещение элементов на посадочных местах; список связей между выводами элементов.

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

Проектирование печатного монтажа является, пожа­ луй, самой сложной из задач автоматизации проектиро­ вания цифровых устройств. Для ее решения предложено большое количество различных алгоритмов [Л. 46—52], однако ни одни из них не в состоянии соревноваться по качеству трассировки с квалифицированным конст­ руктором, что связано с принципиальными различиями в методах решения задачи человеком и машиной. Наи­ более трудна задача трассировки соединений, поскольку каждое соединение должно обходить как начальные препятствия, так и ранее проложенные соединения дру­ гих цепей. Таким образом, конфигурация каждого про­ водника связана с конфигурацией всех остальных про­ водников, расположенных на данной монтажной плоско­ сти, и для получения оптимального решения следовало бы определять все трассы соединений данной плоскости совместно. Именно так и работает человек. Машина же прокладывает каждое соединение отдельно и не может учесть при этом пути тех соединений, которые еще не проложены. Таким образом, человек видит всю картину монтажа целиком, тогда как машина в каждый момент «видит» лишь ближайшую окрестность прокладываемо­ го соединения.

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

96

( 3-5. МЕТОДЫ ТРАССИРОВКИ ПЕЧАТНЫХ ПРОВОДНИКОВ

Большинство известных в настоящее время программ трассировки используют волновой алгоритм Ли [Л. 46]. При этом монтажное поле разбивается сеткой ортого­ нальных линий на клетки— дискреты (рис. 3-8). Шаг сетки h выбирается так, чтобы в соседних клетках могли

проходить

 

печатные

 

 

проводники

разных

це­

 

 

пей:

Л =

/пр + /3,

 

где

 

 

/пр— минимальная

ши­

 

 

рина печатного провод­

 

 

ника, а 4 — зазор

меж­

 

 

ду проводниками.

 

 

 

Монтажное

поле с

 

 

размерами

X,

Y разби­

 

 

вается на XY/h2 дискре­

 

 

тов.

 

Такое

разбиение

 

 

делается

для

каждого

 

 

слоя монтажа. Клетки,

 

 

находящиеся на грани­

 

 

цах

монтажного

поля,

 

 

внутри

 

контактных

 

 

площадок и других на­

 

 

чальных

препятствий

 

 

считаются

занятыми;

 

 

по

свободным

клет­

 

 

кам

можно

проводить

Рис. 3-8. Разбиение монтажного поля

соединения.

Пусть

на­

до

провести

соедине­

на дискреты.

 

Заштрихованы клетки, занятые на­

ние из точки А, распо­

чальными <препятствнями (границы

ложенной

 

в

клетке

поля, контактные площадки) н

уже

(х,

у) (рис.

3-9),

в точ­

проложенными соединениями.

 

ку

В,

расположенную

 

у)

в клетке

(xi, у\).

Для этого рассматриваем клетку {х,

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

в клетке

(х, у)

находится

нулевой

фронт; в

клетках

(х— 1, у),

(х + 1,

у),

(х,

у — 1), (х,

у + 1),

смежных

с (х, у), первый фронт,

в клетках, смежных с клетками

первого фронта, второй

и т. д. В каждой клетке, до ко­

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

фронт, указываем его

номер i.

7 - 504

97

Распространение волны продолжается до тех пор, пока очередной фронг не достигнет конечной клетки {х\, у i). При этом волна огибает все встречные препятствия, и если между клетками (х, у) и (xlt y v) есть какой-либо свободный путь, она дойдет до конечной клетки.

После этого начинается построение пути проводника в направлении, противоположном распространению вол-

 

Рнс. 3-9. Распространение

волны н проведение

 

соединений.

 

 

 

 

 

 

 

 

Цифрами 0, 1, 2, ...,

12

отмечены последователь­

 

ные фронты волны. Путь, показанный сплошной

 

линией,

получен при

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

из

клетки

 

(х, у)

вначале к (х,

у — 1),

а

затем к

(х— 1, у)\

 

путь, показанный пунктиром, получен при прави­

 

ле

перехода

сначала

к

(х— 1, у),

а

затем

 

к (х, у — 1).

 

 

 

 

 

 

 

ны. Для этого из клетки

(хи у{)

переходим (по некото­

рому правилу) в одну

из соседних с ней клеток

[(■«1—1,

Ух),

(«1+1,

Ух){хи Ух—1),

(«к «/i+1)] с номером

фронта

i—1,

из нее в клетку с

номером

фронта i—2

и т. д.,

пока

не дойдем

до

начальной

клетки (х, у)

(номер фронта 0). В зависимости от правила перехода

от фронта i к фронту i— 1

получим

разные пути (на

рис. 3-9 показаны сплошной

линией

и пунктиром).

98

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

клетках монтажного поля

(свободна она или занята,

[ номер фронта и номер цепи,

проходящей в данной клет­

ке), причем для описания

одной клетки

требуется

8— 10 двоичных разрядов. Размер клетки для

большин­

ства конструкций составляет от 0,25x0,25 до 0,5X0,5 мм; при этом монтажное поле 100x100 мм содержит 4- 104—

1,6-105 клеток и для

хранения информации

требуется

до 1,6 • 108 разрядов.

Использование внешних

накопите­

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

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

меж-

. ду точками А и В.

алго-

Известны различные модификации волнового

1 ритма, частично устраняющие последний недостаток. Они сводятся к попытке найти путь, распространяя вол­ ну не по всему полю, а только вдоль некоторого луча, соединяющего точки А и В. Однако в этом случае нет гарантии, что будет выбран оптимальный путь (и что путь вообще будет найден).

Корпуса многих типов интегральных схем имеют прямоугольную форму; такую же форму имеют разъемы. Стремление к повышению плотности монтажа приводит к расположению элементов на монтажном поле парал­ лельными рядами (рис. 3-6).

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

т

99

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