Программа SPECCTRA успешно трассирует ПП большой сложности благодаря применению нового принципа представления графических данных, так называемой ShapeBased-технологии (см. разд. 7.1). За счет этого повышается эффективность трассировки ПП с высокой плотностью расположения компонентов и обеспечивается тонкая настройка стратегии трассировки.
Автотрассировщик SPECCTRA использует адаптивные алгоритмы, реализуемые за несколько проходов трассировки. На первом проходе выполняется соединение абсолютно всех проводников без обращения внимания на возможные конфликты, заключающиеся в пересечении проводников на одном слое и нарушении зазоров. На каждом последующем проходе автотрассировщик пытается уменьшить число конфликтов, разрывая и прокладывая вновь связи (метод Rip-up-and-retry) и проталкивая проводники, раздвигая соседние (метод Push-and-shove).
Информация о конфликтах на текущем проходе трассировки используется для «обучения» — изменения весовых коэффициентов (штрафов) так, чтобы уменьшить число конфликтов на следующем проходе.
Всем объектам ПП присваивается определенный уровень иерархии, и вводятся правила трассировки, составляющие ее стратегию. В результате можно, например, автоматически проложить трассу, состоящую из сегментов разной ширины. В стратегию трассировки можно включить большое количество подкоманд, задающих способы изгиба трасс, цен.трирование проводников и другие особенности стиля разводки конкретной ПП. Перечень правил трассировки в порядке возрастания приоритета приведен в табл. 7.6.
Таблица 7.6. Правила трассировки проводников
Правило трассировки
Описание
РСВ (имеет низший приоритет)
Глобальные правила трассировки на всей ПП; устанавливаются параметры: ширина проводников и зазоры между объектами, правила прокладки проводников и др.
LAYER
Правила трассировки на отдельных слоях
CLASS
Правила трассировки групп цепей, объединенных в классы
CLASS LAYER
Правила трассировки цепей на определенном слое
GROUP_SET
Правила трассировки группы сегментов цепей .
GROUP_SET LAYER
Правила трассировки группы сегментов цепей, расположенных на определенном слое
NET
Правила трассировки индивидуальных цепей
NET LAYER
Правила трассировки индивидуальных цепей, расположенных на определенных слоях
GROUP
Правила трассировки группы сегментов цепей
GROUP LAYER
Правила трассировки группы сегментов цепей, расположенных на определенных слоях
FROMTO
Правила трассировки участков цепи, соединяющих отдельные выводы
FROMTO LAYER
Правила трассировки участков цепи, соединяющих отдельные выводы на определенном слое
CLASS to CLASS
Правила трассировки двух выделенных классов цепей
CLASS to CLASS LAYER
Правила трассировки двух выделенных классов цепей, находящихся на одном слое
PADSTACK
Зазоры между стеками контактных площадок и другими объектами
REGION
Ширина проводников и зазоры между объектами в заданной области
REGION CLASS
Ширина проводников определенного класса и зазоры между объектами в заданной области
REGION NET
Ширина проводников определенной цепи и зазоры между объектами в заданной области
REGION CLASS_CLASS (высший приоритет)
Ширина проводников определенного класса и зазоры между объектами разных классов в заданной области
Приведем краткое описание основных понятий, используемых при трассировке проводников.
Конфликты. На начальных проходах автоматической трассировки пытаются выполнить все соединения, не обращая внимание на возникающие конфликты, которые будут разрешены в дальнейшем. Графически конфликты помечаются пунктирными прямоугольниками и ромбами.
Сглаживание изгибов проводников. Два примыкающих взаимно ортогональных проводника образуют изгибы, которые могут быть сглажены по диагонали или по дуге.
Спрямление выступов и уступов проводников. Для улучшения технологичности платы без повторной разводки проводников производится их спрямление.
Центрирование сегментов проводников. Сегменты проводников сдвигаются таким образом, чтобы они были расположены на равном расстоянии между соседними выводами компонентов .
Расталкивание проводников. При перемещении проводников, компонентов и других объектов они отталкивают мешающие проводники с соблюдением допустимых зазоров.
После огибания вывода и расталкивания проводников
Автоматическое определение возможных вариантов продолжения трассировки. В процессе интерактивной трассировки предлагаются возможные направления завершения трассировки проводника и места расположения ПО.
Подключение проводников к выводам планарных компонентов. Для подключения проводников к контактным площадкам планарных компонентов генерируются короткие сегменты, заканчивающиеся ПО, — так называемые стрингеры (термин стрингер принят в P-CAD, в SPECCTRA используется понятие escape wire). Допускается также располагать ПО непосредственно на КП.
Особенности трассировки высокочастотных цепей. Контролируется максимальная длина параллельных сегментов, расположенных на одном или смежных слоях, для уменьшения уровня перекрестных искажений и наведенного шума. Высокочастотные цепи экранируются цепями питания или «земли» . Имеется возможность провести симметричные трассы — так называемые дифференциальные цепи.
Использование перемычек и навесных проводников. По команде wirebond вокруг КП ИС, к которым должны быть подведены проводники навесного монтажа при использовании гибридной технологии, автоматически генерируются дополнительные КП bond site .
Техника трассировки. При выполнении автоматической трассировки проводников представляется возможность выбора техники трассировки.
В табл. 7.7 приведены списки команд меню программы SPECCTRA в режиме трассировки проводников.
Таблица 7.7. Команды программы SPECCTRA в режиме трассировки проводников
Команда
Назначение
Меню File (Файл)
Read
Чтение файлов:
Wires...
Информация о трассах и ПО (расширение имени файла *.W)
Routes...
Информация о цепях, трассах и ПО (*.RTE)
Keepouts...
Информация о барьерах (*.SES)
Write
Запись файлов:
Wires...
Информация о проводниках и ПО (для продолжения трассировки в другом сеансе, расширение имени файла *.W)
Routes...
Информация о цепях, проводниках и ПО (для передачи данных о результатах трассировки обратно в OrCAD Layout или продолжении трассировки в другом сеансе, расширение имени файла *.RTE)
Nerwork...
Список соединений
Conflicts...
Сообщения о конфликтах (пересечениях проводников, нарушениях зазоров)
Padstacks...
Описания стеков КП всех штыревых и пленарных выводов и ПО
Corners...
Список координат всех точек излома трасс под прямым углом
Rules Did File-
Открытие окна для контроля записи в файл *.RUL правил трассировки
Session...
Выходной файл SPECCTRA (*.SES). Содержит имя файла исходной ПП и результаты размещения и трассировки
Environment...
Запись в файлы палитры цветов и назначений «горячих» клавиш
Execute Do File...
Выполнение Do-файла команд
AutoSave...
Управление автоматическим сохранением файла данных о проводниках после каждого прохода трассировки
BestSave...
Автоматическое сохранение файла данных о проводниках после каждого прохода трассировки при улучшении трассировки
Did File...
Включение /выключение режима записи всех команд в Did-файл протокола, информация об имени этого файла
Status File...
Текущие результаты трассировки (в файле monitor. sts)
Release Licenses...
Просмотр списка сетевых лицензий и освобождение ряда из них
Placement Mode
Переход в режим размещения компонентов
Команда
Назначение
Quit... (Alt+F4)
Завершение работы
Меню Edit (Редактирование)
Undo (Ctrl+Z)
Восстановление последнего удаленного объекта (откат назад)
Redo (Ctrl+A)
Восстановление предыдущей операции Undo (откат вперед)
Delete Wires
Удаление проводников (не зафиксированных и не указанных в команде protect):
Selected
Выбранных курсором цепей
All Wires
Всех цепей
By Net List...
Выбранных из списка цепей
Conflicts...
Одной из двух цепей (от вывода до вывода), вовлеченных в каждый конфликт
Incomplete Wires
Не полностью проведенные цепи
Incomplete Wires By Net List...
Не полностью проведенные цепи, выбираемые из списка
Redundant Wires
Лишних проводников (проложенных вручную)
Delete Wiring Polygons
Удаление полигонов:
Selected
Выбранных
All
Всех
Delete All Fences
Удаление всех областей запрета трассировки
Delete All Testpoints
Удаление всех атрибутов контрольных точек ПО и удаление проводников и ПО, добавленных для образования контрольных точек
Delete All Wirebonds
Удаление всех перемычек, сгенерированных по команде AutoRoute>Pre Route>Wirebonds
Delete Redundant Pseudopins
Удаление всех ненужных псевдовыводов, созданных в режиме Cut Segment Mode
[Un] Fix Groups...
Освобождение /фиксация изолированных групп, предотвращая их трассировку
[Un] Fix Nets...
Освобождение /фиксация выбранных предварительно цепей. Фиксированные цепи помечаются тонкой белой линий и они полностью изолированы — автотрассировщик не может передвигать их сегменты и подключать трассы
[Un] Fix Nets By Class List...
Освобождение /фиксация классов цепей, выбираемых из списка классов
[Un] Protect
Защита/освобождение выбранных предварительно цепей. Защищенные цепи помечаются тонкой белой линий; они не могут быть передвинуты, но к ним можно подключать другие трассы: