- •1. Автоматизированное проектирование эвм
- •1.1. Этапы жизненного цикла промышленных изделий
- •1.2. Сапр эвм и их место среди других автоматизированных систем
- •1.3. Проектирование технического объекта
- •1.4. Этапы проектирования сложных систем
- •2. Общие сведения о сапр
- •2.1. Блочно-иерархический подход к проектированию
- •2.2. Классификация сапр
- •2.3. Структура сапр
- •2.4. Виды обеспечения сапр
- •3. Математическое обеспечение сапр
- •3.1. Требования к математическому обеспечению
- •3.2. Требования к математическим моделям
- •3.3. Классификация математических моделей
- •3.4. Формализация проектных задач
- •3.5. Математические методы описания моделей конструкций эвм
- •3.3.1. Понятия теории множеств
- •3.5.2. Элементы теории графов
- •3.5.3. Деревья
- •3.5.4. Способы задания графов
- •3.5.5. Характеристические числа графов
- •3.6. Математические модели электрических схем
- •Модель схемы в виде двудольного графа g(e, u, p)
- •Модель схемы в виде гиперграфа h(e, u)
- •Модель схемы в виде мультиграфа g(e, u)
- •4. Алгоритмы автоматизированного проектирования эвм
- •4.1. Основные свойства алгоритмов
- •4.2. Элементы теории сложности
- •5. Алгоритмы компоновки
- •5.1. Алгоритм покрытия
- •5.2. Последовательный алгоритм компоновки
- •5.3. Итерационный алгоритм компоновки
- •5.4. Смешанный алгоритм компоновки
- •6. Алгоритмы размещения элементов
- •6.1. Постановка задачи
- •6.2. Математическая модель задачи размещения
- •6.3. Метод ветвей и границ
- •6.4. Конструктивные алгоритмы начального размещения
- •6.5. Алгоритм обратного размещения
- •6.6. Итерационные алгоритмы улучшения начального размещения
- •6.7. Алгоритм групповых перестановок
- •6.8. Непрерывно-дискретные методы размещения
- •6.9. Размещение разногабаритных элементов
- •7. Алгоритмы трассировки межсоединений
- •7.1. Алгоритмы построения минимальных связывающих деревьев
- •7.1.1. Алгоритм Прима
- •7.1.2. Алгоритм Краскала
- •7.1.3. Кратчайшие пути
- •7.1.4. Задачи, близкие к задаче о кратчайшем пути
- •7.1.5. Алгоритм Франка – Фриша
- •7.1.6. Задача Штейнера
- •7.2. Алгоритмы раскраски графа
- •7.2.1. Алгоритм Вейссмана
- •7.2.2. Алгоритм, использующий упорядочивание вершин
- •Порядок проведения проводников
- •Трассировка соединений
- •Волновой алгоритм трассировки
- •7.4.2. Волновой алгоритм с кодированием по mod 3
- •7.4.3. Метод путевых координат
- •7.4.4. Метод Акерса
- •7.4.5. Оптимизация пути по нескольким параметрам
- •7.4.6. Методы повышения быстродействия волнового алгоритма
- •7.4.7. Многослойная трассировка
- •7.5. Лучевые алгоритмы трассировки
- •7.5.1. Алгоритм Абрайтиса
- •7.6. Канальные алгоритмы трассировки
- •7.7. Программа автоматической трассировки specctra
- •8. Графо-теоретический подход к синтезу топологии
- •Разбиение графа на планарные суграфы
- •8.1.1. Построение графа пересечений g’
- •8.1.2. Нахождение максимальных внутренне устойчивых множеств
- •8.1.3. Выделение из g' максимального двудольного подграфа h'
- •8.2. Нахождение гамильтонова цикла. Алгоритм Робертса-Флореса
- •Нахождение гамильтонова цикла
- •8.2.2. Построение графа пересечений g'
- •8.2.3. Построение семейства ψg '
- •9. Верификация. Основные понятия
- •9.1. Место верификации при проектировании вычислительных систем
- •9.2. Изоморфизм графов
- •10. Нахождение эйлерова цикла
- •10.1. Алгоритм Флери
- •10.2. Сравнение эйлеровых и гамильтоновых циклов
- •11. Эволюционные алгоритмы оптимизации
- •11.1. Генетические алгоритмы
- •11.2. Биоинспирированные методы в оптимизации
- •11.2.1. Муравьиные методы и алгоритмы
- •11.2.2. Пчелиные методы и алгоритмы
- •Заключение
- •Список литературы
- •Законы Мэрфи для программистов. Теория ошибок
- •Алгоритмы конструкторского проектирования эвм Учебное пособие по дисциплине «Конструкторско-технологическое обеспечение производства эвм»
7.6. Канальные алгоритмы трассировки
В настоящее время распространение получили канальные алгоритмы трассировки, основанные на прокладке трасс по укрупненным дискретам КП, в качестве которых служит система горизонтальных и вертикальных каналов. Ширина каждого канала зависит от числа прокладываемых в них соединений. Канал разбивается на линейки, называемые магистралями. Любое соединение при канальной трассировке будет представлять совокупность объединенных в одну цепь участков магистралей.
Реализация канального алгоритма предполагает выполнение двух процедур:
Распределение соединений по каналам с учетом их оптимальной загрузки;
Оптимизация расположения соединений на магистралях каналов.
Для заданной конструктивно-технологической базы каждому каналу монтажной плоскости можно поставить в соответствие число, называемое пропускной способностью канала и обозначающее максимальное допустимое число проводников, проходящих через сечение канала с выполнением технологических ограничений. При этом процедура оптимального распределения соединений по каналам в простом случае сводится к их равномерной загрузке, а в более сложных случаях, кроме того, осуществляется учет электромагнитной и тепловой совместимости соседних проводников.
Целью выполнения второй процедуры является минимизация числа переходных отверстий с одного слоя монтажной плоскости на другой.
Задачи первой процедуры решаются с помощью алгоритмов построения минимальных связывающих деревьев (МСД). В процессе построения МСД для каждого соединения учитывается загрузка каждого из каналов, через которые оно проходит.
Часто для распределения соединений по каналам вместо процедур построения МСД используются волновые процедуры, при этом дискретами для распространения волны на коммутационном поле являются каналы.
Задача распределения соединений по магистралям обычно формулируется следующим образом. Дан горизонтальный канал, ограниченный верхним и нижним рядами. Между верхним и нижним рядами заданы множества свободных линий, магистралей. Необходимо в общем случае ломаными линиями, проходящими по участкам магистралей, соединить все абсциссы одноименных групп контактов (каждая группа соответствует одной и той же цепи), затем вертикальными отрезками соединить контакты. Трассировку следует производить по выбранному критерию качества (суммарная длина, число межслойных переходов, процент реализованных соединений, количество занятых магистралей и т. д.).
Первый алгоритм канальной трассировки (так называемая «классическая» постановка задачи, не допускающая излома или перехода горизонтального сегмента соединения с магистрали на магистраль) был предложен Хашимото и Стивенсом в 1971 г. (A. Hashimoto, J. Stivens). Алгоритм получил также название «алгоритм левого конца».
Пусть задано некоторое множество отрезков, распределенных в одном канале S={M1, M2, …, Mn}. Два отрезка считаются пересекающимися, если Mi Mj . Графом интервалов G(S) множества S называется граф, вершинами которого являются отрезки Mi, а ребра соответствуют пересечению Mi и Mj. Теперь задача распределения соединений по магистралям сводится к минимальной раскраске графа интервалов G(S). При этом окрашенные одним цветом отрезки помещаются на одной магистрали, а хроматическое число графа интервалов – необходимое для проведения соединений число магистралей.
Алгоритм «левого конца» является достаточно простым алгоритмом раскраски графа.
Алгоритм заключается в следующем:
1. Упорядочить отрезки по координатам левого конца;
2. Просматривая последовательность слева направо, красить вершины первой по порядку краской, которой не окрашены смежные с ней вершины.
Пример. Даны отрезки, координаты, которых получены на первом этапе. Строим граф интервалов (рис. 7.40).
Рисунок 7.40. Отрезки соединений и граф интервалов G(S)
Упорядочим отрезки по координатам левого конца: M4, M1, M2, M3, M6, M5
Красим вершину M4 в первый цвет (помещаем на первую магистраль). Вершина M1 смежна вершине M4, красим ее во второй цвет (помещаем на вторую магистраль). Вершина M2 смежна вершинам M4 и M1, красим ее в третий цвет (помещаем на третью магистраль). Вершина M3 не смежна вершине M4, красим ее в первый цвет (помещаем на первую магистраль). Вершина M6 смежна вершине M4 и не смежна вершине M1, красим ее во второй цвет (помещаем на вторую магистраль). Вершина M5 смежна вершинам M3 и M6, и не смежна вершине M2, красим ее в третий цвет (помещаем на третью магистраль). Результаты распределения отрезков по магистралям приведены на рис. 7.41 (а).
Однако на практике недостаточно разместить проводники на горизонтальных магистралях, необходимо подсоединить их вертикальными проводниками к соответствующим выводам канала. Для этого, вводится граф вертикальных ограничений, показывающий какое соединение должно стоять выше, а какое ниже. На рис. 7.41(б) показан горизонтальный канал. Граф вертикальных ограничений для соединений этого канала приведен на рис. 7.41(в).
Р
исунок
7.41. Распределение проводников в канале
(а);
горизонтальный канал (б);
граф вертикальных ограничений (в)
Распределение проводников по магистралям с учетом графа вертикальных ограничений показано на рис. 7.42 (а). Распределение не оптимально. Оптимальное распределение, полученное с помощью «алгоритма правого конца», показано на рис. 7.42 (б).
а
б
Рисунок 7.42. Распределение соединений по «алгоритму левого конца» (а) и оптимальное распределение по «алгоритму правого конца» (б)
Д.Н. Дойч (D.N. Deutsch) предложил алгоритм «Dogleg» (дословно – собачья лапа, резкое искривление), разрешающий строить ломаную линию. Алгоритм состоит из двух частей:
1. Соединения упорядочиваются по левому концу с учетом графа вертикальных ограничений. Соединения проводятся на возможно верхних магистралях с разрешением изломов.
2. Начиная с правого соединения, они спрямляются с целью уменьшения числа межслойных переходов.
На рис. 7.43 (а) показаны контакты, которые необходимо соединить. На рис. 7.43 (б) приведен граф вертикальных ограничений. На рис. 7.43.(в) показан результат первого этапа алгоритма, а на рис. 7.43 (г) – окончательный результат. Удалось спрямить только соединение d – d.
Рисунок 7.43. Распределение соединений по магистралям алгоритмом «Dogleg»
Хороший результат дает модификация алгоритма «Dogleg», заключающаяся в попеременном использовании «алгоритмов левого (для верхних магистралей) и правого (для нижних) концов».
Следует отметить, что при классической постановке задачи возможно возникновение тупиковых ситуаций, обусловленных наличием циклов в графе вертикальных ограничений.
Р
a
ассмотрим пример на рис. 7.44 (а). В графе вертикальных ограничений есть цикл. Задача не может быть решена в классической постановке, поэтому необходимо применить излом горизонтальных сегментов с магистрали на магистраль. Обычно в таких случаях вводятся дополнительные псевдоконтакты, например а' и а" (рис. 7.44 (б) или 7.44 (в)), около которых соединение изламывается, и далее обычным образом оперируют двумя отрезками а-а' и а"-а.
Рисунок 7.44. Обработка тупиковой ситуации алгоритмом «Dogleg»
Низкая временная и пространственная сложность алгоритмов канальной трассировки делает их наиболее приемлемыми в САПР электронных систем, где решаются задачи огромной размерности (несколько миллионов транзисторов).
Рассмотренный метод канальной трассировки успешно применим к регулярным структурам печатных плат или БИС.
Достоинствами канальных алгоритмов являются:
1. Быстродействие (на один – два порядка выше, чем у волновых алгоритмов);
2. Меньший расход оперативной памяти ЭВМ (хранится не все ДРП, а только дискреты одного канала);
3. Параллельный характер работы. При распределении соединений по магистралям учитываются конфликты с другими проводниками.
Недостатком канальных алгоритмов является то, что они менее универсальны, используются только для регулярных конструкций.
