Основные принципы построения трасс с помощью волнового алгоритма сводятся к следующему. Все ячейки монтажного поля (МП) подразделяют на занятые и свободные. Занятыми считаются ячейки:

1)      в которых уже расположены проводники, построенные на предыдущих шагах или находятся монтажные выводы элементов;

2)      ячейки, соответствующие границе платы и запрещенным для прокладывания проводников участкам.

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

Первую ячейку, в которой зарождается волна, называют источником, а вторую – приемником волны.

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

, где  - вес ячейки k – фронта;  - вес ячейки k-1 фронта; - весовая функция, являющаяся показателем качества проведения пути; - параметр функции, характеризующий путь с точки зрения одного из критериев качества (длина пути, число пересечений, изгибов и т.п.).

Совокупность ячеек с одинаковым весом называется фронтом волны.

На  накладывается ограничение:. Фронт распространяется на соседние ячейки, которые имеют с ячейками предыдущего фронта либо одну общую сторону, либо хотя бы одну общую точку.

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

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

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

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

Для повышения быстродействия волновых алгоритмов предлагают:

1)      метод встречной волны, то есть одновременное распространение волны от двух источников;

2)      сокращение области трассировки за счет использования искусственной границы, проходящей по охватывающему, две соединяемые точки, прямоугольнику;

3)      начало трассировки с точки, максимально удаленной от центра.

Недостатком волнового алгоритма является большой объем времени и памяти ЭВМ, затрачиваемого на трассировку.

 

Сайт управляется системой uCoz