Выравнивание задержек в САПР TopoR
С.Ю. Лузин,
д.т.н.,
А.А. Лысенко,
инж.,
О.Б. Полубасов,
к.т.н, luzin@eremex.com,
ООО «ЭРЕМЕКС», г. Санкт-Петербург
Для конструктора было
бы удобно, чтобы линии задержки в системе гибкой топологической трассировки сами
автоматически поддерживали заданные соотношения между задержками сигналов в
линиях передачи, чутко реагируя на малейшие изменения топологического рисунка
платы. Рассматриваемая проблема заключается не только в формализации задачи на
разных этапах проектирования устройства, но и в выборе, какие механизмы целесообразно
привлекать для её решения. От результатов выбора существенно зависят структуры
данных, алгоритмы и возможности эффективного решения задачи.
1.
Расчёт задержек
Основными факторами,
влияющими на величину задержки в печатном проводнике, являются [1]:
1.
длина
проводника;
2.
расположение
проводника (микрополосковая или полосковая линия);
3.
конфигурация
проводника.
Полосковая линия – это
печатная дорожка, размещенная между двумя сплошными проводящими слоями (рис.1).
Электрическое поле такой линии полностью сосредоточено между проводящими
слоями, поэтому скорость распространения сигнала в ней определяется диэлектрической
проницаемостью диэлектрика.
Постоянная задержки (сек/мм):
,
где - относительная
диэлектрическая проницаемость диэлектрика,
- скорость света в
вакууме (мм /сек).
Микрополосковая линия
– это печатная дорожка на наружной стороне внешнего слоя печатной платы. С
одной стороны микрополосковой линии находится диэлектрик, а с другой – воздух.
рис. 1. Электрическое поле, окружающее
печатные дорожки
Диэлектрическая
проницаемость воздуха всегда меньше диэлектрической проницаемости диэлектрика печатной
платы, поэтому микрополосковые варианты превосходят полосковые структуры по
скорости распространения сигнала на 13-17% [1]. Это означает, что реализация
элемента задержки на наружных слоях, обычно и без того загруженных контактными
площадками компонентов, целесообразна только при отсутствии такой возможности
на внутренних слоях.
При формировании
зигзагообразных линий задержки следует учитывать наличие перекрестных связей
между соседними изломами проводника. Перекрестные связи в длинных, связанных
друг с другом изломах, приводят к значительным искажениям сигнала [1]. Если
изломы короткие, искажения, вызванные перекрестной связью, мало влияют на форму
переднего фронта, но ускоряют появление сигнала на выходе. Компенсация этого
ускорения требует добавления секций в линии задержки, что увеличивает площадь,
занимаемую линией задержки. Ослабить перекрестную связь и даже устранить
проблему можно увеличением зазора между изломами, однако при этом также увеличивается площадь,
занимаемая линией задержки.
2. Согласование задержек
Поскольку основным
регулирующим величину задержки фактором выступает длина проводников, то в
дальнейшем изложении вместо «задержка» часто будет использоваться слово
«длина». Для согласования задержек в группе сигналов короткие линии передачи
необходимо удлинить. Менее очевидно, что на некоторых этапах проектирования существуют
возможности и для укорочения наиболее длинных линий в группе. Ниже рассмотрены некоторые
подходы к решению указанных задач.
3. Уменьшение
разброса длин до этапа трассировки
Суммарная длина
проводников – один из основных факторов, нуждающихся в минимизации при прокладке
проводников и последующей оптимизации разводки. За нижнюю оценку суммарной
длины проводников при трассировке можно принять сумму расстояний между соединяемыми
парами контактов. Уменьшить величину нижней оценки целесообразно попытаться ещё
перед трассировкой, например, при помощи улучшения размещения компонентов, изменения
угла их установки или использования функциональной эквивалентности контактов
компонентов. Оптимизация размещения компонентов подробно рассмотрена в [] и
поэтому здесь не обсуждается.
На рис.
2 показано, как с помощью переназначения функционально
эквивалентных контактов или поворота резистора сокращается длина инцидентных
ему соединений.
рис. 2 Резистор и
инцидентные ему соединения
а – исходное положение; б – после переназначения функционально эквивалентных
контактов; в – после поворота на 90°
На рис.
4 приведен пример переназначения функционально
эквивалентных контактов компонентов, показанных на рис. 3, уменьшающего разброс длин соединений.
рис. 3 Соединения между
компонентами
рис. 4 Выравнивание длин
соединений за счёт переназначения функционально
эквивалентных контактов
Пусть компонент имеет
N функционально эквивалентных контактов,
т.е. проводники, подсоединенные к этим N контактам, могут быть подсоединены к любому из них в
любом порядке (с соответствующими изменениями принципиальной схемы). Тогда,
сформировав матрицу L (размерностью N x N), каждый элемент строки которой содержит
длину отрезка, соединяющего один из N
внешних для компонента контактов с каждым из N
эквивалентных контактов компонента, получаем исходные данные (матрица
стоимостей назначений) для решения задачи о назначениях [2].
Однако суммарная
стоимость назначений является только нижней оценкой суммарной длины соединений,
поскольку в дальнейшем длины всех соединений будут выравниваться на максимальную
длину соединений в группе. Вариант, доставляющий минимум суммарной длины, не
обязательно доставляет минимум суммарной длины с учетом добавки на выравнивание.
Пусть контакты 3 и 4 (рис.
5а) функционально эквивалентны. Соединение их с контактами 1 и 2, изображенное
на рис. 5в, обеспечивает минимум
суммарной длины (), однако суммарная длина с учетом добавки на выравнивание составит
, то есть будет больше, чем () в варианте 5б.
рис. 5 Функционально
эквивалентные контакты (а) и варианты их соединения,
минимизирующие
суммарную длину отрезков: (б) с учётом выравнивания, (в) без учёта выравнивания.
Для решения задачи предлагается
использовать следующий подход:
1.
Найти
максимум среди минимальных значений в столбцах и строках
(После выравнивания длина любого проводника в
группе будет не меньше .)
2.
Скорректировать
значения элементов матрицы L, заменив на .
3.
Решить
задачу о назначениях, используя скорректированную матрицу.
Подобный подход
обеспечивает уменьшение разброса длин отрезков, соединяющих функционально
эквивалентные контакты компонента с внешними контактами, при ограничении на
суммарную длину.
Следует отметить, что
переназначение функционально эквивалентных контактов на основе длины отрезков,
соединяющих пары контактов, не учитывает реальных условий трассировки (наличие
коммутационного ресурса в каналах, пересечений с проводниками других цепей,
запрещенных зон и т.д.), и после такого переназначения может выясниться, что
прокладка соединений в соответствии с вычисленным порядком невозможна (рис.6).
рис.6 Изменение порядка соединения функционально
эквивалентных контактов (а)
при
наличии запрета
трассировки (б)
На рис.
7 приведен пример поворота компонентов (левый повернут
на 45º против часовой стрелки, правый – на 45º по часовой стрелке),
показанных на рис.
3. Можно заметить, что более короткие проводники удлинились,
а более длинные, напротив, укоротились. Так в варианте, показанном на рис.
3, длина максимального проводника почти в 3 раза больше
длины минимального, а в варианте, показанном на рис. 7, длины всех проводников почти одинаковы.
Аналитическое решение
задачи минимизации разброса длин проводников, инцидентных компоненту, за счет поворота
компонента практически невозможно в виду того, что оно не может учесть
возможные возникновения пересечений проводников и необходимость высвобождения
монтажного пространства для ликвидации этих пересечений.
рис. 7 Выравнивание длин за
счёт поворота компонентов
Сказанное
иллюстрирует рис.8: в варианте а) отрезки, соединяющие контакты компонентов
имеют одинаковую длину, и ничто не мешает провести соответствующие проводники
вдоль этих отрезков в одном слое; в варианте б) после поворота компонента 2 на
180º суммарная длина отрезков, соединяющих контакты компонентов существенно
меньше, чем в варианте а), меньше и длина самого длинного отрезка, однако
отрезки пересекаются, и проведение большинства проводников вдоль соединяющих
контакты отрезков в одном слое невозможно. Помимо того, что для разводки
проводников нужно минимум два слоя, между контактами компонентов нет
достаточного пространства для регулирования длины проводника, следовательно,
проводники следует проводить снаружи, при этом потребуется еще один
дополнительный слой, увеличится длина проводников и, кроме того, придется
решать собственно задачу выравнивания задержек с учетом длины проводников и их
расположения.
а) б)
рис.8 Усложнение
прокладки проводников и выравнивания длин
после поворота
компонента 2
Отметим, что в общем случае возможности выравнивания задержек за счет
поворота многоконтактных компонентов сильно ограничены, поскольку варианты,
когда при повороте сокращается длина самых длинных проводников и при этом увеличивается
длина самых коротких, достаточно редки.
4. Уменьшение
разброса длин на этапе оптимизации разводки
Переназначение
функционально эквивалентных контактов и изменение угла поворота компонентов с
целью укорачивания наиболее длинных соединений целесообразно осуществлять на
этапе размещения компонентов. Однако реальное представление о задержках в
проводниках появляется только после трассировки соединений. На этапе
оптимизации разводки одним из основных критериев является суммарная длина
проводников. В то же время, если в какой-либо группе проводников требуется
обеспечить равенство задержек, то уменьшение длины и без того коротких
проводников не имеет смысла, так как только увеличивает трудоемкость
последующего выравнивания задержек. Лучшие результаты можно получить, ориентируясь
при выборе варианта трассировки не на реальную суммарную длину проводников
группы:
,
а на оценку суммарной длины проводников в
группе с учетом добавки на выравнивание:
,
где
- нижняя граница
эталонной длины для группы,
- нижняя граница
возможной длины -го проводника (например, расстояние между концами проводника).
Длины всех
проводников группы будут выравниваться на эталонную длину, поэтому имеет смысл
укорачивать только те проводники, длина которых превышает нижнюю границу
эталона.
5. Выравнивание
задержек после трассировки соединений
Увеличение длины
коротких соединений:
а) за счёт изменения геометрической формы
проводников;
б) за счёт изменения топологических марщрутов
проводников.
В САПР TopoR
помимо
традиционного режима редактирования имеется режим редактирования в стиле FreeStyle - инструмент,
позволяющий вручную или автоматически передвигать по плоскости печатной платы
компоненты и переходные отверстия, не нарушая целостности разведенных связей и
соблюдая заданные зазоры. Оптимальная форма проводников в режиме FreeStyle вычисляется
автоматически. Это означает, что любые топологически эквивалентные (рис.9) варианты прокладки незафиксированного проводника
при переходе в режим FreeStyle будут преобразованы в единственный вариант, обеспечивающий минимум
длины при соблюдении зазоров.
рис.
Для управления
величиной задержки сигналов введен специальный объект - змейка [3], ограничивающая
область - трапеция, задаваемая пользователем.
Змейка представляет
собой набор последовательно идущих друг за другом прямолинейных и дугообразных
(либо аппроксимированных отрезками прямых –рис.
10) участков проводников.
рис. 10 Змейка с
аппроксимированными дугообразными участками
Высота трапеции,
длины оснований и углы наклона боковых сторон трапеции регулируются пользователем.
В трапецию вписывается змейка необходимой длины (с заданным зазором между
проводниками) в случае наличия достаточного пространства или максимально возможной
длины в случае недостаточного пространства. Подробный расчет формы змейки
приведен в [3].
При автоматическом
формировании змеек используются прямоугольные области, которые автоматически расставляются
и размеры которых автоматически регулируются (алгоритм приведен ниже).
Алгоритм:
Определить множество сигналов,
нуждающихся в увеличении задержки, и рассчитать необходимую добавку к текущей
задержке.
Для каждого
проводника:
·
мелкие
сегменты, образующие тупой угол (рис.11а), объединить в один сегмент,
соединяющий начало первого и конец второго сегментов (рис.11б);
·
длинные
сегменты подразбить;
·
на
месте полученных сегментов, уменьшенных на некоторую величину для обеспечения
большей свободы при последующей раздвижке, создать прямоугольные области (рис.11в),
ширину которых рассчитать исходя из требуемой добавки задержки;
·
осуществить
автоматическую раздвижку для ликвидации возможных нарушений зазоров, появившихся
в результате увеличения ширины сегментов;
·
уменьшить
ширину прямоугольных областей в “узких местах” и ликвидировать слишком узкие прямоугольные
области (если их ширина меньше, чем 1.5 ширины проводника, заменить их на
сегмент проводника);
·
скорректировать
в сторону увеличения ширину прямоугольных областей в сигналах, на которых были
“подрезаны" или удалены прямоугольные области;
·
преобразовать
прямоугольные области в змейки (рис.11г);
·
осуществить
автоматическую раздвижку.
рис. 11 Автоматическое формирование змеек
Возможности
увеличения длины коротких проводников за счет изменения геометрии могут быть
ограничены наличием близлежащих контактов, а также других проводников с
близкими топологическими маршрутами. В некоторых случаях получить требуемую задержку
на проводнике без изменения его топологии невозможно.
Сложность в том, что
для этого нужно при поиске нового маршрута увеличивать длину конкретного проводника
при общей стратегии минимизации суммарной длины проводников.
Здесь может помочь итерационная
процедура переброске за контакт или за межслойный переход как самого проводника,
так и проводников в том же слое, препятствующих переброске (рис.12).
При выборе нового
топологического маршрута проводника следует учитывать не только его длину, но и
пропускную способность граней, через которые проходит проводник.
Например, проводник
имеет недостаточную длину, но на его пути имеется грань, в которой можно поместить
элемент задержки (змейку) и обеспечить выравнивание. С другой стороны, можно
увеличить длину проводника за счет изменения топологического маршрута, но при
этом пройти через грани, в которых размещение элементов задержки невозможно.
Если при этом не удалось обеспечить требуемую задержку, ситуация становиться
тупиковой, причем изначально она таковой не была.
Важно также, чтобы
при последующем редактировании в процессе оптимизации проводники с увеличенной
длиной автоматически не перекладывались.
рис.12 Увеличение длины группы
проводников с помощью огибания контактов
Литература
1.
Джонсон Г., Грэхем М. Высокоскоростная передача цифровых данных:
высший курс черной магии. // М.: Изд. дом “Вильямс”, 2005. – 1024 с.
2.
Кристофидес Н. Теория графов. Алгоритмический подход. // М.: Мир.
-1978. – 432 с.
3. Лысенко
А.А., Полубасов О.Б. “Обеспечение заданной длины проводников в САПР TopoR” //
Технология и конструирование в электронной аппаратуре. – 2009. – №4. – С.3-21.
4.
Лысенко
А.А., Полубасов О.Б. Проектирование высокоскоростных плат в САПР TopoR
// Электроника: НТБ. – 2010. –№2. – С.102-103.