КТОП теория
.pdf
Основные пункты алгоритма последовательного размещения по мультиграфу схемы:
1.По одному из решающих правил, приведенных выше, находим индекс I k+1 очередного размещаемого элемента.
2.Определяем позицию для установки этого элемента.
3.Заносим индекс элемента в массив Jk, индекс позиции – в массив
Мк, исключая их из соответствующих массивов.
4.Проверяем, все ли элементы размещены: Jk . Если условие выполняется, то переходим к п. 1, иначе – к п. 5.
5.Конец.
Для сокращения времени вычислений в п. 2 целесообразно исследовать те из свободных позиций, которые находятся в окрестности занятых. Эта модель не дает точного решения. В качестве более точной модели схемы можно использовать гиперграф, в котором ребра взаимно однозначно соответствуют цепям схемы.
Последовательный алгоритм размещения по гиперграфу схемы.
Гиперграф задается аналитически аналогично выше рассмотренному способу, и применяются те же правила выбора элементов для размещения. В качестве оценки для выбора позиции используют суммарную длину цепей, связывающих размещаемый элемент со всеми уже размещенными в ортогональной метрике. Достаточно точной оценкой цепи является длина минимального покрывающего дерева. Дерево строится на вершинах графа решетки, в которые отображены вершины ребра гиперграфа, сопоставленные размещенным и не размещаемым элементам схемы.
При выборе позиции сумму длин деревьев используют для сравнительной оценки, поэтому вместо минимального дерева будем строить ортогональное покрывающее дерево. Для оценки длины такого дерева по матрице Dr
требуются довольно сложные преобразования. Исходя из известных координат вершин графа решетки, длину дерева можно рассчитать как сумму длины линии L – максимальной по оси S или Z расстояния между наиболее
удаленными вершинами ребра гиперграфа и всех ортогональных ему ветвей. Для данного случая Lg = 13.
Упрощенный алгоритм размещения по гиперграфу схемы:
1. Для текущей вершины хi подмножества не размещенных элементов определяем множество инцидентных ей ребер.
2.Находим множество вершин, входящих в каждое ребро.
3.Для рассматриваемой вершины хi подсчитываем, например, показатель связности как количество ребер, для которых выполняется условие
4.Повторяем пп 1…3 для всех вершин не размещенных элементов. 5.Выбираем очередную размещаемую вершину по правилу максимальной
суммы связей и переходим к определению позиции элемента. 6.Выделяем подмножество вершин, соответствующих размещенным
элементам, принадлежащим цепи q l .
7.Проверяем |Xl | = 1 (связывается всего два элемента в цепи); если условие выполняется, то определяем Ll = |Zl –Zf| + |Sl – Sf|,
где Zl , Sl – координаты элемента , Zf , Sf − координаты позиции, и переходим
к п. 13, иначе – к п. 8 .
8.Находим множество позиций, в которых установлены элементы.
9.Для множества позиций подсчитываем ∆Zmax = Zmax – Zmin, Smax = ∆Smax – Smin и определяем L c.
10.Разбиваем множество позиций на подмножества Tр, такие, что для каждого элемента верно Z = const, S = var, если l c = Zmax , или S = const, Z = var, если lc= Smax .
11.Для |
каждого подмножества Мр определяем ∆lp – длину ветви, |
соединяющей «ствол дерева» и вершины, отображенные в позиции для
случая l c =∆Zmax и lc =∆Smax .
12.Подсчитываем длину покрывающего дерева, соответствующего ребру ul. 13.Повторяем пп 6…12 для всех ребер, суммируя Ll , получим величину Lf. 14.Повторяем пп 6…13 для всех позиций.
15.Определяем позицию mf , для которой Lf = min {Lf}, суммируя по всем ребрам.
16.Заносим вершину хi в множество Хк , а позицию mf – в множество Мк,
исключая эти элементы из массивов не размещенных элементов. 17.Проверяем, все ли элементы размещены: если условие выполняется, то
переходим к пункту 18, иначе – к пункту 1. 18.Конец.
9.4. Итерационные алгоритмы размещения
Для улучшения некоторого начального размещения меняются местами, те элементы, перестановка которых приводит к оптимизации критерия качества. Процесс заканчивается, если не существует перестановок, улучшающих критерий качества, или когда разность значения критерия для двух соседних итераций будут меньше некоторого заданного порога.
Итерационный алгоритм улучшения начального размещения по мультиграфу схемы. Соединения элементов схемы определены матрицей С, расстояния между установочными позициями – матрицей D. Имеется некоторое начальное размещение. Элементы матрицы С должны располагаться в соответствии с порядковыми номерами (индексами) позиций их установки. Например, для начального размещения трех элементов (рис. 9.2) дана на рисунке матрица D, а в матрице С, также данной на рисунке, первая строка должна характеризовать связность элемента е2 с элементами е3 и е1, вторая
строка – элемента е3 с элементами е2 и е1, третья строка – элемента е1 с элементами е2 и е3.
Переставляя элементы еi и еj , необходимо в матрице С менять
местами соответствующие им строки и столбцы. Тот же результат, в смысле возможности оценки L(a) – суммарной длины соединений – поэлементным перемножением матриц С и D, можно получить, сохраняя неизменной матрицу С и располагая элементы матрицы D в соответствии с индексами установленных в них элементов. После изменения позиций элементов еi и еj будем корректировать матрицу D
посредством перестановки в ней строк и столбцов, определяющих расстояния переставляемых элементов до остальных.
Для углубленного изучения алгоритма необходимо ознакомиться с математическим обоснованием по учебнику [1*, с. 201 − 206].
*1. Автоматизация проектирования радиоэлектронных средств: Учеб. Пособие для вузов/ О. В. Алексеев, А, А. Головков, И, Ю. Пивоваров и др.; Под ред. Алексеева. – М.: Высш. шк., 2000. – 479 с.
Основные пункты итерационного алгоритма парных перестановок по мультиграфу схемы [1, с. 207]:
1.Определяем порядок просмотра элементов. Для существующего размещения находим суммарную длину связей Li , т. е. формируем
последовательность индексов элементов J = {i1 , i2 , …,iN }.
2. Для текущего элемента последовательности определяем приращение
L.
3.Находим ∆ Li = max{∆L}.
4.Проверяем условие ∆Li>0. Если условие выполняется, то в последовательности J меняем индексы ik и jq, в противном случае переходим к
п.6.
5.Корректируем матрицу D, т. е. переставляем строки и столбцы с
индексами ik и iq.
6. Проверяем условие окончания цикла итераций |
Если условие |
выполняется, то переходим к п. 7, иначе выполняем к = к + 1 и переходим к п. 2.
7. Проверяем условие окончания итерационного процесса
Если условие выполняется, то переходим к п. 8, иначе – к п. 1. 8. Конец.
10
10. ПОСТАНОВКА ЗАДАЧ ТРАССИРОВКИ Общая постановка задачи трассировки
Трассировка заключается в определении конкретной геометрии печатного или проводного монтажа, реализующего соединения между элементами схемы. Исходные данные для трассировки: список цепей, метрические параметры и топологические свойства типовой конструкции и входящих элементов, результаты решения задачи размещения, по которым находят координаты выводов элементов. Формальная постановка задачи трассировки и методы ее решения в значительной степени зависят от вида монтажа (проводной или печатный монтаж) и конструктивнотехнологических ограничений, определяющих метрические параметры и топологические свойства монтажного пространства.
При трассировке учитывают критерии оптимальности:
●минимальная суммарная длина соединений; <1>
●минимальное число слоев МПП;
●минимальное число переходов из слоя в слой;
●минимальные наводки в цепях связи элементов и др.
Первый критерий – основной и применяется во всех алгоритмах размещения и трассировки, а остальные критерии относятся к частным показателям качества трассировки и используются в основном для МПП.
