
- •Лабораторная работа №1
- •Лабораторная работа № 2
- •Цель работы
- •2. Теоретическая часть
- •2.1. Введение
- •2.2. Постановка задачи
- •Лабораторная работа № 3
- •Цель работы
- •2. Теоретическая часть
- •2.1. Введение
- •2.2. Постановка задачи
- •Лабораторная работа № 4
- •Цель работы
- •2. Теоретическая часть
- •2.1. Постановка задачи
Лабораторная работа № 4
ТРАССИРОВКА ПЕЧАТНЫХ ПЛАТ
Цель работы
Целью работы является исследование группы широко применяемых в настоящее время алгоритмов трассировки печатных соединений - волновых алгоритмов.
2. Теоретическая часть
.
2.1. Постановка задачи
Задача трассировки соединений отдельных компонентов возникает на последних этапах проектирования ЭВА Исходными данными для ее решения являются: принципиальная схема соединений, таблица размещения элементов схемы, конструктивно-технологические ограничения. Необходимо реализовать соединения таким образом, чтобы соединения, принадлежащие различным цепям, не имели пересечений в одном слое.
Задача трассировки печатного монтажа в общем случае включает в себя четыре этапа: I) определение списка соединений, т.е. пар непосредственно соединяемых между собой точек; 2) распределение соединений по слоям; 3) определение порядка трассировки всех цепей и отдельных (двухконтактных) соединений; 4) трассировка отдельных соединений.
В настоящей лабораторной работе исследуется группа волновых алгоритмов, наиболее широко используемых для окончательной трассировки соединении (этап 4).
Алгоритм Ли
При трассировке соединений с помощью волновых алгоритмов вся
плоскость трассировка (плата, кристалл), разбивается на ячейки, образуя дискретное рабочее поле (ДРП). Некоторые ячейки поля считаются занятыми. Очевидно, к занятым нужно отнести те ячейки, в которых располагаются элементы и их контакты, подлежащие соединению. Кроме того, занятыми считаются те ячейки, по которым прошли ранее проведенные проводники, а также краевые ячейка платы.
Рассмотрим работу алгоритма при проведении пути из ячейки А в ячейку В. Идея алгоритма заключается в том, что на поле моделируется распространение числовой волны из источника (ячейка А) до тех пор, пока расширяющийся фронт волны не достигнет ячейки В или пока фронт не сможет включить ни одной новой незанятой ячейки. Все условия, которые необходимо выполнить при трассировке соединений, заложены в правила, по которым движется фронт волны, этот этап алгоритма называют "распространением волны". Если в результате выполнения его ячейка В достигнута, то осуществляется вторая часть алгоритма -"проведение пути". В противном случае, соблюдая заданные условия, провести путь из А в В невозможно.
На этапе распространения волны процесс построения очередного фронта начинается с присвоения ячейкам соседним с ячейками предыдущего фронта, некоторых числовых значений (весов). Соседними обычно считаются ячейки с общим ребром. Правило присвоения весов (т.е. вид весовой функции) зависит от используемого при трассировке критерия оптимизации. Так, если минимизируется длина соединения, то соотношение весов ячеек К -го и ( К - 1)-го фронтов следующее:
Pk=Pk-1+1 (I)
Если минимизируется количество- пересечений трасс, то это соотношение может иметь вид:
(полузанятыми называют ячейки, в которых допускается пересечение трасс).
Распространение волны происходит из ячеек очередного фронта, имеющих минимальный вес, до тех пор, пока либо конечной ячейке будет присвоено определенное значение весовой функции, либо в следующий фронт не удается включить ни одной свободной ячейки (в последнем случае провести соединение из А в В невозможно). После достижения ячейки В , производится "попятное" перемещение к ячейке А по ячейкам ДРП таким образом, чтобы значение весовой функция монотонно убывало.
Для упрощения процедуры проведения пути при распространении волны ячейке ДРП может присваиваться, кроме, значения весовой функции, и так называемая путевая координата. Последняя определяет направление к той ячейке, из которой в данную ячейку попала волна на этапе распространения. Проведение пути из ячейки В в ячейку А осуществляется в этом случае непосредственно по путевым координатам.
Пример проведения пути минимальной длины из точки А в точку В с помощью алгоритма Ли приведен на рис. I.
34 6 |
25 5 |
18 4 |
12 3 |
6 2 |
1 1 |
5 2 |
11 3 |
17 4 |
24 5 |
33 6 |
43 7 |
32 5 |
23 4 |
16 3 |
10 2 |
4 1 |
А |
2 1 |
7 2 |
13 3 |
19 4 |
26 5 |
35 6 |
42 6 |
31 5 |
22 4 |
15 3 |
9 2 |
3 1 |
8 2 |
14 3 |
20 4 |
27 5 |
36 6 |
44 7 |
52 7 |
41 6 |
30 5 |
|
|
|
|
21 4 |
28 5 |
37 6 |
45 7 |
53 8 |
59 8 |
51 7 |
40 6 |
49 7 |
55 8 |
48 7 |
39 6 |
29 5 |
38 6 |
46 7 |
54 8 |
60 9 |
66 9 |
58 8 |
50 7 |
56 8 |
62 9 |
|
|
|
|
|
61 9 |
67 10 |
72 10 |
65 9 |
57 8 |
63 9 |
69 10 |
76 11 |
82 12 |
|
81 12 |
75 11 |
68 10 |
73 11 |
78 11 |
71 10 |
64 9 |
70 10 |
77 11 |
83 12 |
|
|
В |
80 12 |
74 11 |
79 12 |
На рис.I заштрихованные ячейки являются запрещенными; цифры представляют собой значения весовой функция ячеек, стрелки - путевые координаты, присвоенные ячейкам. Выделенные стрелки определяют искомую трассу минимальной длины.
При распространения волны была выбрана следующая последовательность просмотра соседних ячеек: верхняя, правая, нижняя, левая.
Алгоритм Ли следует признать наиболее универсальным среди алгоритмов окончательной трассировки соединений, т.к. соединение пары точек в ДРП, если оно осуществимо, всегда будет найдено с помощью этого алгоритма, при этом могут быть оптимизировании различные частные показатели качества трассировки либо комплексный показатель.
Однако алгоритм Ли имеет и весьма существенные недостатки: больший объем требуемой памяти ЭВМ и значительное время работы, связанное с просмотром большого количества ячеек ДРП при распространении волны.
Уменьшение объема требуемой памяти может быть достигнуто за счет "экономного" кодирования состояний ячеек ДРП: по модулю 3 и по методу Акерса. (с помощью последовательности I,I,2,2,I,I,...).
Для увеличения быстродействия алгоритма разработаны различные
методы: выбор в качестве источника волны ячейки, максимально приближенной к краям поля; метод встречной волны; метод поиска в глубину и т.п. [2].
Существенное сокращение времени работы алгоритма При отыскании пути минимальной длины обеспечивает способ, предложенный Рабином. Остановимся на нем подробнее.
Алгоритм Рабина
Увеличение быстродействия в алгоритме Рабина достигается за счёт преимущественного распространения волны в направлении ячейки -цели. В алгоритме Ли, который является по существу реализацией метода динамического программирования [3], такая целенаправленность при поиске трассы отсутствует. Алгоритм Рабина, который реализует другой комбинаторный метод - метод ветвей и границ' [3], позволяет так же, как и алгоритм Ли, находить глобальный оптимум целевой функции.
Пусть требуется найти путь минимальной длины между ячейками А и В; Ci - некоторая ячейка ДРП, включаемая в очередной фронт волны.
Значение весовой функции Рi , приписываемое Ci- -й ячейке фронта определяется по формуле:
Pi =L(Ci, A)+ (Ci, B) (2)
где L(Ci, A)- длина пройденного волной пути из А в ячейку Ci;
(Ci, B) =xci-xB+yci-yB (3)
расстояние между ячейками Сj и B в ортогональной метрике.
Нетрудно видеть, что (Ci, B) является нижней оценкой длины пути из Ci в В, полученной в предположении отсутствия препятствий на этом пути. Отсюда выражение (2) в целом представляет собой нижнюю оценку длины любого пути из А в В, проходящего через ячейку Ci.
Согласно метода ветвей и границ, оптимальное решение следует искать в подмножестве решений, имеющем наилучшую оценку [3]. В соответствии с этим в сформированном очередном фронте волны выделяется подмножество ячеек с минимальной оценкой (2), и распространение волны на следующем шаге осуществляется из ячеек этого подмножества.
Эффективность алгоритма Рабина по сравнению с алгоритмом Ли иллюстрируется рис.2, на котором для каждой ячейки ДРП указано значение весовой функции. Цифрами в правых углах ячеек обозначена последовательность рассмотрения ячеек на этапе распространения волны.
Заметим, что для сокращения зоны поиска распространение волны осуществляется в первую очередь из той ячейки с минимальной оценкой, которая получила оценку последней. Последовательность просмотра соседних ячеек та же, что и в алгоритме Ли (верхняя, правая, нижняя, левая).
|
2 |
4 |
6 |
8 |
10 |
|
|
|||||
2
|
|
|
|
31 15 |
29 13 |
1 11 |
19 11 |
20 11 |
21 11 |
22 13 |
|
|
|
|
32 15 |
30 13 |
4 11 |
А |
2 9 |
8 11 |
17 11 |
23 13 |
|
|
|
4 |
|
|
33 15 |
28 13 |
6 11 |
3 9 |
5 9 |
7 9 |
9 9 |
18 11 |
24 13 |
|
|
|
|
/////// /////// |
/////// /////// |
/////// /////// |
/////// /////// |
10 9 |
11 9 |
16 11 |
25 13 |
|
|
6 |
|
|
|
|
34 15 |
27 13 |
14 11 |
12 9 |
13 9 |
15 11 |
26 13 |
35 15 |
|
|
|
|
|
/////// /////// |
/////// /////// |
/////// /////// |
/////// /////// |
/////// /////// |
36 13 |
37 15 |
|
8 |
|
|
|
|
|
|
|
|
43 13 |
41 13 |
38 13 |
39 15 |
|
|
|
|
|
|
|
|
|
B |
42 13 |
40 13 |
Как видно из сравнения рис. 1 и 2, для одного и того же примера количество просмотренных ячеек сократилось с 84 при использовании алгоритма Ли до 44 при использовании алгоритма Рабина.
Возможно дальнейшее сокращение зоны поиска при трассировке в случае приближенной реализации метода ветвей и границ, получившей название алгоритма .слежения за целью.
Алгоритм слежения за целью
В этом алгоритме в качестве значения весовой функции для ячейки Ci на этапе распространения волны используется выражение (3).
Таким образом, распространение волны происходит из тех ячеек очередного фронта, которые ближе расположены к ячейке-цели (без учета возможных препятствий). При этом сокращается зона поиска. Однако из-за приближенного вычисления нижней оценки для подмножества путей, ведущих из А в B через ячейку Ci, возможна потеря глобального минимума.
Проведение пути с помощью алгоритма слежения за целью для рассмотренного ранее примера приведено на рис.3. Как видно из рисунка, количество просмотренных ячеек в последнем случае сократилось до 36.
|
|
|
|
|
1 10 |
5 9 |
9 8 |
12 7 |
|
|
|
|
|
|
|
4 10 |
А |
2 8 |
6 7 |
10 6 |
13 7 |
|
|
|
|
|
|
8 9 |
3 8 |
7 7 |
11 6 |
14 5 |
16 6 |
|
|
|
|
|
|
|
|
|
15 5 |
17 4 |
19 5 |
24 6 |
|
|
|
|
|
|
27 6 |
21 5 |
18 4 |
20 3 |
22 4 |
28 5 |
25 6 |
|
|
|
|
|
|
|
|
|
|
26 4 |
28 5 |
|
|
|
|
|
|
|
|
35 1 |
32 2 |
39 3 |
30 4 |
|
|
|
|
|
|
|
|
В |
34 1 |
31 2 |
33 3 |
3. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ
3.1. Расчетная часть
3.1.I. Получить у преподавателя походное задание на трассировку.
3.1.2. Построить "вручную" на отдельных рисунках (по аналогии, с рис. 1-3) по одной указанной преподавателем трассе с помощью:
алгоритма Ли,
алгоритма Рабина,
алгоритма слежения за целью.
3.I.3. Сравнить количество просмотренных ячеек при использовании различных алгоритмов.
3.1.4. Составить исходные данные для введения в ЭВМ в форматах, указанных преподавателем.
3.2. Экспериментальная часть.
Подготовить ЭВМ к работе.
Вызвав программу алгоритма Ли, в режиме диалога ввести запрашиваемые ЭВМ необходимые данные.
Получать распечатку с результатами машинного решения.
Повторить п.п. 3.2.2 и 3.2.3 для алгоритмов Рабина и слежения за целью.
4. СОДЕРЖАНИЕ ОТЧЕТА ПО РАБОТЕ
Исходное задание на исследование.
Результаты, полученные в п. 3.1.2 расчетной части.
3. Представленные графически результаты машинной трассировки для трех алгоритмов.
Анализ полученных результатов (сравнение эффективности алгоритмов по количеству просматриваемых ячеек, по суммарной длине соединений).
Выводы о работе.
КОНТРОЛЬНЫЕ ВОПРОСЫ
Дайте общую характеристику задачи трассировки печатных соединений.
Укажите характерные особенности волновых алгоритмов трассировки.
3. Каковы достоинства и недостатки алгоритма Ли?
Какие преимущества по сравнению с алгоритмом Ли дает реализация метода ветвей и границ в алгоритме Рабина?
Должны ли быть одинаковыми результаты трассировки при использования трех рассмотренных алгоритмов?
Баблиографическай список
Селютин В.А. Автоматизированное проектирование топологии БИС.M.: Радио и связь, 1983. 112с.
Морозов К.К. Одиноков В.Г., Курейчик В.М. Автоматизированное проектирование конструкций радиоэлектронной аппаратуры. М.:Радио и связь, 1983. 278 с.
Гавриленко В.И., Юсим Г.В. Теоретические основы конструирования и надежности электронно-вычислительной аппаратуры. Рязань: РРТИ,1976. 208 с