Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры 1-32.doc
Скачиваний:
148
Добавлен:
15.06.2014
Размер:
622.08 Кб
Скачать

27. Волновой алгоритм. Содержательное описание. Иллюстрация примером.

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

Выполнение алгоритма производится в два этапа: 1) распространение числовой волны; 2) собственно проведение трассы. Работает алгоритм по сетке квадратов монтажного пространства, множество которых разделяется на две группы: подмножества свободных квадратов и подмножество занятых.

Перед началом каждого прохода программа создает карту из всех точек сетки, заданной в стратегии трассировки. Принцип трассировки приведен на рис. 11.2.

Построение числовой волны начинается с выбора в качестве начальной точки произвольного вывода, например источника s. В процессе формирования числового фронта волны всем свободным квадратам, соседним с квадратами предыдущего фронта, ставится в соответствие числоq, называемое весом квадрата. Это число пропорционально заданной весовой функцииF, которая является критерием качества трассы и характеризует путь определенным комплексом параметров (длина, число пересечений с другими проводниками, число переходов из слоя в слой и т. п.). Основной критерий – минимальная длина трассы.

При трассировке расстояние между соседними квадратами принимается равным единице. Всем свободным квадратам присваивается вес, равный расстоянию от начального квадрата, соответствующего выводу s, до данного квадрата в ортогональной метрике. Совокупность квадратов одинакового веса называют фронтом волны. На каждом шаге распространения волны всем свободным квадратам, соседним с квадратами предыдущего фронта, присваивается вес на 1 больше. При этом номер фронта совпадает со значением веса квадратов и числом шагов алгоритма. Волна распространяется до тех пор, пока не достигнет вывода-приемникаtили в очередном фронте не будет свободных квадратов. В первом случае трасса существует и её минимальная длина равна числу шагов, во втором – трасса отсутствует. Это простейший случай.

В более сложном алгоритме после достижения вывода – приемника tеё генерация прекращается, и программа начинает анализировать полученную карту для прокладки трассы. Теперь основным критерием для неё являются цены, установленные в стратегии трассировки. При оценке проложенной трассы программа умножает число, стоящее в клетке, на цену трассы в данном направлении. При этом программа также пробует ставить и переходные отверстия при обходе какого-либо препятствия (другой трассы, барьера). Из всех вариантов выбирается наиболее “дешевый”, вновь пускается волна-процесс продолжается до тех пор, пока не будет достигнут требуемый вывод или не заполнятся все свободные квадраты, что определяет невозможность проведения данного проводника.

Второй этап-проведение трассы. Для этого просматриваются все отмеченные квадраты в обратном порядке от t. Сначала просматриваются квадраты, соседние сt, и выбирается тот, у которого вес минимален, затем выбираются квадраты соседние с выбранным и имеющие минимальный вес и т. д., пока не будет достигнут квадратs. Координаты выбранных квадратов в совокупности описывают некоторую трассу между выводамиsиt.

Особенности реального волнового алгоритма.Эти особенности следующие:

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

-программ подсчитывает число ячеек, используемых в каждом направлении каждого слоя, и число переходных отверстий. Затем все используемые ячейки и переходные отверстия умножаются на соответствующие веса, определенные в стратегии разводки. Ищется путь с минимальным весом, который исполняется, если есть альтернативные варианты трассировки;

-ищутся в первую очередь возможные варианты трассировки в направлении, по которому расположен вывод-приемник (t);

-волновой алгоритм работает и по диагонали;

-для трассировки планарных элементов на МПП генерируются “стрингеры” от каждого планарного вывода (“стрингер”- это короткий проводник от вывода элемента до сквозного переходного отверстия); стрингеры улучшают трассировку, т. к. каждый планарный вывод становится доступным с любого слоя, а неиспользованные стрингеры автоматически удаляются;

-возможно размещение выводов и не в узлах координатной сетки;

-для цифровых схем типа “память” выполняется трассировка коллинеарных трасс по Х или по У (рис.11.3).

Рис. 11.2. Принцип трассировки волновым алгоритмом.