Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Автоматизация.doc
Скачиваний:
7
Добавлен:
18.08.2019
Размер:
592.9 Кб
Скачать

Лабораторная работа № 4

ТРАССИРОВКА ПЕЧАТНЫХ ПЛАТ

  1. Цель работы

Целью работы является исследование группы широко применяемых в настоящее время алгоритмов трассировки печатных соединений - волновых алгоритмов.

2. Теоретическая часть

.

2.1. Постановка задачи

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

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

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

    1. Алгоритм Ли

При трассировке соединений с помощью волновых алгоритмов вся

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

Рассмотрим работу алгоритма при проведении пути из ячейки А в ячейку В. Идея алгоритма заключается в том, что на поле моделируется распространение числовой волны из источника (ячейка А) до тех пор, пока расширяющийся фронт волны не достигнет ячейки В или пока фронт не сможет включить ни одной новой незанятой ячейки. Все условия, которые необходимо выполнить при трассировке соединений, заложены в правила, по которым движется фронт волны, этот этап алгоритма называют "распространением волны". Если в результате выполнения его ячейка В достигнута, то осуществляется вторая часть алгоритма -"проведение пути". В противном случае, соблюдая заданные условия, провести путь из А в В невозможно.

На этапе распространения волны процесс построения очередного фронта начинается с присвоения ячейкам соседним с ячейками предыдущего фронта, некоторых числовых значений (весов). Соседними обычно считаются ячейки с общим ребром. Правило присвоения весов (т.е. вид весовой функции) зависит от используемого при трассировке критерия оптимизации. Так, если минимизируется длина соединения, то соотношение весов ячеек К -го и ( К - 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].

Существенное сокращение времени работы алгоритма При отыскании пути минимальной длины обеспечивает способ, предложенный Рабином. Остановимся на нем подробнее.

    1. Алгоритм Рабина

Увеличение быстродействия в алгоритме Рабина достигается за счёт преимущественного распространения волны в направлении ячейки -цели. В алгоритме Ли, который является по существу реализацией метода динамического программирования [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 при использовании алгоритма Рабина.

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

    1. Алгоритм слежения за целью

В этом алгоритме в качестве значения весовой функции для ячейки 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. Экспериментальная часть.

  1. Подготовить ЭВМ к работе.

  2. Вызвав программу алгоритма Ли, в режиме диалога ввести запрашиваемые ЭВМ необходимые данные.

  3. Получать распечатку с результатами машинного решения.

  4. Повторить п.п. 3.2.2 и 3.2.3 для алгоритмов Рабина и слежения за целью.

4. СОДЕРЖАНИЕ ОТЧЕТА ПО РАБОТЕ

  1. Исходное задание на исследование.

  2. Результаты, полученные в п. 3.1.2 расчетной части.

3. Представленные графически результаты машинной трассировки для трех алгоритмов.

  1. Анализ полученных результатов (сравнение эффективности алгоритмов по количеству просматриваемых ячеек, по суммарной длине соединений).

  2. Выводы о работе.

  1. КОНТРОЛЬНЫЕ ВОПРОСЫ

  1. Дайте общую характеристику задачи трассировки печатных соединений.

  2. Укажите характерные особенности волновых алгоритмов трассировки.

3. Каковы достоинства и недостатки алгоритма Ли?

  1. Какие преимущества по сравнению с алгоритмом Ли дает реализация метода ветвей и границ в алгоритме Рабина?

  2. Должны ли быть одинаковыми результаты трассировки при использования трех рассмотренных алгоритмов?

Баблиографическай список

  1. Селютин В.А. Автоматизированное проектирование топологии БИС.M.: Радио и связь, 1983. 112с.

  2. Морозов К.К. Одиноков В.Г., Курейчик В.М. Автоматизированное проектирование конструкций радиоэлектронной аппаратуры. М.:Радио и связь, 1983. 278 с.

  3. Гавриленко В.И., Юсим Г.В. Теоретические основы конструирования и надежности электронно-вычислительной аппаратуры. Рязань: РРТИ,1976. 208 с