- •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. Пчелиные методы и алгоритмы
- •Заключение
- •Список литературы
- •Законы Мэрфи для программистов. Теория ошибок
- •Алгоритмы конструкторского проектирования эвм Учебное пособие по дисциплине «Конструкторско-технологическое обеспечение производства эвм»
Трассировка соединений
Это основной и наиболее трудоемкий этап, определяющий эффективность и качество трассировки в целом.
Алгоритмы трассировки можно разбить на следующие группы:
Волновые;
Лучевые;
Канальные.
Волновой алгоритм трассировки
Многие алгоритмы трассировки основаны на волновом алгоритме (алгоритме, предложенном Ли (Lee C.Y.)).
Коммутационное поле разбивается на дискреты. Размеры дискретов определяются шириной проводников и расстоянием меду ними (рис. 7.24).
Получаем дискретное рабочее поле (ДРП).
Рисунок 7.24. Дискреты
Волновой алгоритм состоит из двух этапов:
Распространение волны;
Проведение трассы.
В первой части моделируется процесс распространения волны от источника ячейки А по свободным ячейкам ДРП. Алгоритм последовательно строит Ф1(А), Ф2(А), ..., Фk(А) – 1, 2, ..., k фронты. Множество ячеек ДРП, входящих в i-ый фронт А называется i-й окрестностью ячейки А – Оi(А). Если проведение пути между ячейкой-источником А и ячейкой-приемником возможно, то на каком-либо шаге k окажется, что BОk(А). Распространение волны заканчивается.
Если же в следующий фронт не удается включить ни одной ячейки, т. е.
Оi-1(А) = Оi(А), то пути между А и В не существует.
Ячейкам i-го фронта присваивается значение весовой функции рi.
Во второй части алгоритма начиная от ячейки-приемника В, по определенным правилам выполняется переход от ячейки k-го фронта к ячейке k-1 фронта и т. д. до ячейки-источника А. Пройденные ячейки составляют искомый путь.
Пусть функция-критерий будет СДС. Тогда вес ячейки i-го фронта будет рi = рi-1 +1, т.е. равен расстоянию от ячейки А до ячеек i-го фронта. В этом случае, при построении пути осуществляется переход к тем ячейкам, в которых значение рi монотонно убывает.
Пример. Соединить волновым алгоритмом ячейки А и В (рис. 7.25 (а)).
На рис. 7.25 показаны: первый шаг распространения волны (б); четвертый шаг – (в); седьмой шаг – (г); заключительный шаг – (д).
|
|
|
|
|
|
|
|
|
4 |
|
|
|
|
|
|
4 |
3 |
4 |
|
|
В |
|
|
3 |
2 |
3 |
|
|
|
|
|
2 |
1 |
2 |
|
|
|
|
|
1 |
А |
1 |
|
|
|
|
|
2 |
1 |
2 |
3 |
4 |
|
|
|
3 |
2 |
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
В |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
А |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
В |
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
1 |
А |
1 |
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
5 |
6 |
7 |
|
|
|
|
|
6 |
5 |
6 |
7 |
8 |
9 |
|
|
5 |
4 |
5 |
6 |
7 |
|
|
|
|
5 |
4 |
5 |
6 |
7 |
8 |
9 |
|
4 |
3 |
4 |
|
|
В |
|
|
|
4 |
3 |
4 |
|
8 |
В |
|
|
3 |
2 |
3 |
|
|
|
|
|
|
3 |
2 |
3 |
|
9 |
|
9 |
|
2 |
1 |
2 |
|
|
|
|
|
|
2 |
1 |
2 |
|
|
9 |
8 |
9 |
1 |
А |
1 |
|
|
|
|
|
|
1 |
А |
1 |
|
|
|
7 |
8 |
2 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
|
2 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
3 |
2 |
3 |
4 |
5 |
6 |
7 |
|
|
3 |
2 |
3 |
4 |
5 |
6 |
7 |
|
Рисунок 7.25. Распространение волны
На девятом шаге волна достигла ячейку В.
При построении пути возможны два выхода из ячейки В (рис. 7.26 (а)). Направление движения определяется правилом приоритетов – вес какой соседней ячейки проверяется. Пусть ячейки проверяются в следующем порядке: . Тогда искомый путь будет выглядеть так (рис.7.26 (б)).
Если приоритеты будут , искомый путь будет выглядеть так (рис.7.26 (в))
6 |
5 |
6 |
7 |
8 |
9 |
|
|
5 |
4 |
5 |
6 |
7 |
8 |
9 |
|
4 |
3 |
4 |
|
8 |
В |
|
|
3 |
2 |
3 |
|
9 |
|
9 |
|
2 |
1 |
2 |
|
|
9 |
8 |
9 |
1 |
А |
1 |
|
|
|
7 |
8 |
2 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
3 |
2 |
3 |
4 |
5 |
6 |
7 |
|
6 |
5 |
6 |
7 |
8 |
9 |
|
|
5 |
4 |
5 |
6 |
7 |
8 |
9 |
|
4 |
3 |
4 |
|
8 |
В |
|
|
3 |
2 |
3 |
|
9 |
|
9 |
|
2 |
1 |
2 |
|
|
9 |
8 |
9 |
1 |
А |
1 |
|
|
|
7 |
8 |
2 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
3 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
6 |
5 |
6 |
7 |
8 |
9 |
|
|
5 |
4 |
5 |
6 |
7 |
8 |
9 |
|
4 |
3 |
4 |
|
8 |
В |
|
|
3 |
2 |
3 |
|
9 |
|
9 |
|
2 |
1 |
2 |
|
|
9 |
8 |
9 |
1 |
А |
1 |
|
|
|
7 |
8 |
2 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
3 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
б
в
исунок
7.26. Построение пути
Вычислительная сложность волнового алгоритма близка к O(n2).
Каждая ячейка ДРП в процессе работы может быть в одном из следующих состояний: свободная, занятая или содержать весовую метку 1, 2, ..., L, где L – максимальная длина пути на ДРП. Таким образом, требуемое число разрядов памяти на одну ячейку ДРП составляет N = ù log2(L + 2) é, где ù х é - ближайшее не меньшее х целое число.
Поэтому при реализации волнового алгоритма важная проблема – сокращение объема памяти, необходимой для хранения ДРП.
