Вопрос 20: Методы трассировки соединений внутри канала.
Одна из основных задач трассировка соединений внутри канала - выделение из множества соединений, отнесенных к каналу, минимального числа подмножеств отрезков, каждое из которых может быть назначено на одну магистраль канала.
Магистрали - осевые линии, по которым проходят трассы.
Если пропускная способность канала задана, то должно быть выполнено условие .
Пусть дано множество отрезков , отнесенных к этому каналу: Два отрезка не могут быть помещены на одну магистраль, если они пересекаются
Граф интервалов
Графом интервалов множества называюется граф, вершинами которого являются интервалы , а ребра соответствуют пересечению интервалов и .
Таким образом задача оптимального использования магистралей формулируется, как задача получения минимальной раскраски вершин графа.
Алгоритм:
Упорядочить интервалы множества по левым концам: ( , если )
После раскраски вершин вершину окрасить первой по порядку краской, которой не окрашены смежные с ней вершины из множества
Граф горизонтальных ограничений (ГГО)
ГГО представляет собой неориентированный граф , вершинами которого являются горизонтальные отрезки цепей , а наличие дуги говорит о невозможности разместить элементы на одной магистрали .
Граф вертикальных ограничений (ГВО)
Рассмотрим более общую задачу, когда минимизация числа горизонтальных связей осуществляется с учетом вертикальных связей между каналами.
Будем считать, что горизонтальные отрезки соединений располагаются в слое металлизации, а вертикальные отрезки (подходы к выводам ячеек) в слое диффузии.
При распределении горизонтальных отрезков необходимо следить за тем, чтобы вертикальные отрезки, находящиеся в одном столбце, не перекрывались друг с другом. Зададим данные ограничения с помощью ориентированного графа , вершинами которого являются горизонтальные отрезки цепей, а наличие дуги означает, что отрезок расположен на магистрали, находящейся над магистралью отрезка .
В случае, если ГВО содержит циклы, может потребоваться несколько горизонтальных отрезков.
Таким образом задача состоит в минимизации числа используемых магистралей при соблюдении порядка расположения горизонтальных отрезков цепей.
Алгоритм:
- Упорядочить множество горизонтальных отрезков по левым концам.
- Применить ранее описанный алгоритм раскраски графа интервалов с одним дополнением: при назначении цвета для очередной вершины проверяется не только смежность ее с вершинами из множества , но и отношение порядка в графе вертикальных ограничений . Иными словами, пусть - номер магистрали для отрезка . Тогда:
Решение проблемы перекрестков
Участки, занятые перекрестком, не рассматриваются:
- Соединения, меняющие направление, доводятся до границы перекрестка.
- Соединения, не меняющие направления, проходят напрямую сквозь перекресток.
- Перекресток рассматривается отдельным алгоритмом (напр. волновым)