Автоматизированная компоновка платы с использованием топологического автотрассировщика Situs в CircuitMaker
Этот Tools | AutoRoute раздел содержит команды, связанные с автотрассировкой и фан-аутами.

Autoroutex
Автотрассировщик CircuitMaker является топологическим, то есть использует иной метод отображения пространства трассировки — не ограниченный геометрией. Вместо использования координат проектного пространства в качестве системы отсчета (с разбиением на сетку) топологический автотрассировщик строит карту, опираясь только на относительное расположение препятствий в пространстве, без привязки к их координатам. Это достигается триангуляцией пространства между соседними препятствиями. Затем эта триангулированная карта используется алгоритмами трассировки, чтобы «проплетать» маршрут между парами препятствий от начальной точки трассы до конечной. Главные преимущества такого подхода в том, что карта формируется независимо от формы (препятствия и пути трассировки могут иметь любую форму), а пространство можно проходить под любым углом. Алгоритмы трассировки не ограничены только вертикальными или горизонтальными путями, как в автотрассировщиках с прямоугольным расширением.
Команды подменю Autoroute
Команды подменю Autoroute позволяют трассировать всю плату, трассировать в заданных областях или трассировать соединения конкретных объектов, таких как цепи (nets) и классы компонентов.

В следующей таблице описаны команды подменю.
| Command | Behavior |
|---|---|
| Setup | Эта команда открывает диалог Situs Routing Strategies dialog, который позволяет получить доступ к отчету предварительной подготовки перед трассировкой и настроить стратегии трассировки и другие параметры в отношении Situs Autorouter. |
| All | Эта команда открывает диалог Situs Routing Strategies dialog, который используется для настройки стратегий, выбора требуемой стратегии и запуска автотрассировщика. |
| Net | Эта команда используется для трассировки всех соединений в указанной цепи (net). |
| Net Class | Эта команда используется для трассировки всех соединений в указанном(ых) классе(ах) цепей (net class). |
| Connection | Используя основную стратегию трассировки (Main), попытаться автотрассировать выбранное соединение. |
| Area | Используя основную стратегию трассировки (Main), попытаться автотрассировать все соединения, которые начинаются в выбранной области. |
| Component | Используя основную стратегию трассировки (Main), попытаться автотрассировать все соединения, которые начинаются на выбранном компоненте. |
| Component Class | Эта команда используется для трассировки всех соединений, исходящих от площадок компонентов в указанном(ых) классе(ах) компонентов. |
| Connections On Selected Components | Используя основную стратегию трассировки (Main), попытаться автотрассировать все соединения, которые начинаются на выбранных компонентах. |
| Connections Between Selected Components | Используя основную стратегию трассировки (Main), попытаться автотрассировать все соединения, которые проходят между выбранными компонентами. |
Диалог Situs Routing Strategies
Диалог открывается выбором Setup или All из подменю Autoroute .
Ключевые параметры описаны ниже.
- Report Window - эта область отображает отчет на основе предварительного анализа проекта перед трассировкой, собирая информацию, включая правила проектирования, определенные в данный момент для проекта, которым будет следовать автотрассировщик (а также количество объектов проекта — цепей, компонентов, площадок — затрагиваемых каждым правилом), направления трассировки, заданные для всех сигнальных слоев трассировки, и определения пар слоев сверления. В отчете перечисляются потенциальные проблемы, которые могут повлиять на производительность трассировщика. Эти предупреждения могут включать слои трассировки, у которых направление трассировки установлено в Any. Где возможно, приводятся подсказки, помогающие лучше подготовить проект к автотрассировке. Любые перечисленные ошибки/предупреждения/подсказки следует внимательно проверить и при необходимости скорректировать соответствующие правила трассировки перед тем, как приступать к трассировке проекта.
- Edit Layer Directions - нажмите, чтобы открыть диалог Layer Directions, в котором при необходимости можно изменить направления трассировки для сигнальных слоев.

- Edit Rules - нажмите, чтобы открыть диалог PCB Rules and Constraints Editor dialog. Либо, если вы хотите напрямую изменить существующее правило трассировки, щелкните по hyperlink правила в верхней области.
- Save Report As - нажмите, чтобы сохранить отчет как HTML-документ. Используйте открывшийся диалог Save As , чтобы при необходимости изменить имя и расположение.
- Available Routing Strategies - перечисляет все доступные в данный момент стратегии трассировки, которые автотрассировщик может использовать для трассировки проекта. Каждая стратегия указана с именем и описанием. В целом, стратегии трассировки по умолчанию для двухслойных и многослойных плат подходят для большинства ситуаций. Однако важно убедиться, что все релевантные правила проектирования трассировки настроены до запуска автотрассировщика. Стратегии трассировки по умолчанию удалить нельзя.
- Add/Edit/Duplicate - нажмите, чтобы открыть диалог Situs Strategy Editor dialog и добавить в список новую пользовательскую стратегию трассировки, внести изменения в выбранную стратегию или создать дубликат текущей выбранной стратегии трассировки.
- Lock All Pre-routes - включите, чтобы предотвратить удаление («rip-up») и повторную трассировку автотрассировщиком уже проложенных цепей. Часто некоторые цепи трассируются вручную, а затем остальное — автотрассировкой.
- Rip-up Violations After Routing - включите, чтобы после завершения сеанса автотрассировки удалить («rip-up») любые трассы, нарушающие определенные (и применимые) правила проектирования.
Диалог Situs Strategy Editor
Диалог открывается нажатием Add, Edit или Duplicate в диалоге Situs Routing Strategies dialog.
Этот диалог позволяет полностью определить стратегию трассировки для автотрассировщика Situs, включая входящие в нее проходы трассировки (алгоритмы). Набор различных проходов трассировки и порядок их применения составляют «интеллект» автотрассировщика. Эти проходы используются для преобразования виртуальных путей трассировки, найденных в топологической карте, в высококачественные трассы на плате.
Ключевые параметры описаны ниже.
- More/Less Vias - используйте ползунок, чтобы задать допустимое использование переходных отверстий (via) автотрассировщиком. Это компромисс между более высокой скоростью трассировки и меньшим количеством via. Перемещение ползунка вправо ограничит автотрассировщик в размещении via (их будет меньше), однако время трассировки платы увеличится. Перемещение ползунка влево обеспечивает более быстрое завершение трассировки, но ценой большего количества via, размещаемых автотрассировщиком на PCB.
- Orthogonal - включите этот параметр, чтобы ограничить автотрассировщик трассировкой только ортогональных (90°) путей. Отключение параметра позволяет автотрассировщику прокладывать трассы ортогонально или неортогонально (45°) по своему усмотрению.
- Available Routing Passes - перечисляет доступные проходы трассировки (алгоритмы), которые можно использовать в стратегии трассировки. Доступны следующие проходы:
- Adjacent Memory - это проход трассировки на уровне соединения. Он используется для трассировки соседних выводов одной и той же цепи, требующих fan-out, простым U-образным шаблоном.
- Clean Pad Entries - это проход трассировки на уровне соединения. Он выполняет повторную трассировку от центра каждой площадки вдоль самой длинной оси площадки.
- Completion - это проход трассировки на уровне соединения. По сути он такой же, как проход Main , но имеет иную «стоимость» (costing) для разрешения конфликтов и завершения сложных соединений.
- Fan out Signal - это проход на уровне компонента, основанный на настройках fanout, заданных в Fanout Control. Он проверяет шаблоны площадок, учитывает зазоры, ширину трассировки и стиль via, затем выбирает подходящую схему fanout (в ряд, со смещением и т. п.), чтобы удовлетворить требованиям, определенным в правиле проектирования. Fanout выполняется только на сигнальные слои.
- Fan out to Plane - это проход на уровне компонента, основанный на настройках fanout, заданных в Fanout Control. Он проверяет шаблоны площадок, учитывает зазоры, ширину трассировки и стиль via, затем выбирает подходящую схему fanout (в ряд, со смещением и т. п.), чтобы удовлетворить требованиям, определенным в правиле проектирования. Fanout выполняется только на внутренний слой плоскости (internal plane layer).
- Globally Optimised Main - это проход трассировки на уровне соединения. Он обеспечивает оптимальную трассировку и на первой итерации игнорирует конкурирующие требования/нарушения. Затем он повторно трассирует соединения с увеличенными стоимостями конфликтов до тех пор, пока не останется нарушений. Этот проход, используемый совместно с включенным параметром Orthogonal , может давать аккуратные шаблоны трассировки. Добавьте в стратегию проход Recorner , чтобы получить скругление/подрезку углов (mitered cornering).
- Hug - это проход трассировки на уровне соединения, который повторно трассирует каждое соединение, следуя существующей трассировке с минимально возможным зазором. Проход hug используется для максимизации свободного пространства для трассировки. Обратите внимание: этот проход очень медленный.
- Layer Patterns - это проход трассировки на уровне соединения. Он трассирует только те соединения, которые соответствуют направлению слоя (в пределах допуска). Его «стоимость» настроена так, чтобы «прижиматься» (hug) или следовать существующей трассировке, максимизируя свободное пространство.
- Main - это проход трассировки на уровне соединения. Он использует топологическую карту для поиска пути трассировки, затем применяет push-and-shove router, чтобы преобразовать предложенный путь в реальную трассировку.
- Memory - это проход трассировки на уровне соединения. Он проверяет наличие двух выводов на разных компонентах на одном и том же слое, которые имеют общие координаты X или Y.
- Multilayer Main - это проход трассировки на уровне соединений. Он похож на проход Main pass, но со стоимостью (весами) оптимизированной для многослойных плат.
- Recorner - это проход трассировки на уровне соединений, который используется для выполнения митерирования (среза) углов трасс. Этот проход применяется, когда для стратегии включена опция Orthogonal option, фактически переопределяя её и выполняя митерирование углов каждого маршрута. Если опция Orthogonal option для используемой стратегии отключена, нет необходимости включать проход Recorner pass, так как автотрассировщик по умолчанию выполняет митерирование углов.
- Spread - это проход трассировки на уровне соединений, который перетрассировывает каждое соединение, пытаясь «разнести» трассировку, чтобы использовать свободное пространство и обеспечить равномерные зазоры при прохождении между фиксированными объектами (например, площадками компонентов). Обратите внимание: этот проход очень медленный.
- Straighten - это проход трассировки на уровне соединений, который пытается уменьшить количество углов. Для этого он проходит по маршруту до угла, затем из этого угла выполняет пробу (горизонтальную/вертикальную/45вверх/45вниз), ищущую другую уже проложенную точку в этой цепи. Если такая точка найдена, затем проверяется, уменьшает ли новый путь длину трассы.
- Passes in this Routing Strategy - перечисляет фактические проходы трассировки (алгоритмы), включённые в стратегию. Вы можете добавлять любые проходы из списка доступных проходов, и в общей стратегии можно добавлять несколько экземпляров одного и того же прохода для достижения конкретных результатов. Проходы выполняются по порядку сверху вниз. Этот порядок можно изменить с помощью кнопок Move Up и Move Down.
Дополнительные команды автотрассировки

Stop
Используйте, чтобы остановить автотрассировщик после завершения текущего прохода трассировки.
Reset
Используйте для сброса автотрассировщика.
Pause
Используйте, чтобы приостановить автотрассировщик. При необходимости его можно запустить снова.
Fanout
CircuitMaker включает инструменты fanout для компонентов поверхностного монтажа. Движок escape-трассировки попытается вывести каждую площадку за пределы края корпуса, что значительно упрощает последующую трассировку соединений к ним.
Команды подменю Fanout
Команды подменю Fanout позволяют выполнять fanout объектов в соответствии с правилами проектирования Fanout Control и настройками в диалоге Fanout Options dialog.

Следующая таблица описывает команды подменю.
| Command | Behavior |
|---|
| All | Выполнить fanout всех компонентов поверхностного монтажа в соответствии с включёнными правилами трассировки Fanout Control и настройками в диалоге Fanout Options dialog. |
| Power Plane Nets | Выполнить fanout каждой цепи (net), подключённой к силовому полигону (power plane), в соответствии с включёнными правилами трассировки Fanout Control и настройками в диалоге Fanout Options dialog. |
| Signal Nets | Выполнить fanout каждой цепи (net), не подключённой к силовому полигону (power plane), в соответствии с включёнными правилами трассировки Fanout Control и настройками в диалоге Fanout Options dialog. |
| Net | Выполнить fanout выбранной цепи (net) в соответствии с включёнными правилами трассировки Fanout Control и настройками в диалоге Fanout Options dialog. |
| Connection | Выполнить fanout выбранного соединения (connection) в соответствии с включёнными правилами трассировки Fanout Control и настройками в диалоге Fanout Options dialog. |
| Component | Выполнить fanout выбранного компонента в соответствии с включёнными правилами трассировки Fanout Control и настройками в диалоге Fanout Options dialog. |
| Selected Components | Выполнить fanout выбранных компонентов в соответствии с включёнными правилами трассировки Fanout Control и настройками в диалоге Fanout Options dialog. |
| Pad | Выполнить fanout выбранной площадки (pad) в соответствии с включёнными правилами трассировки Fanout Control и настройками в диалоге Fanout Options dialog. |
Диалог Fanout Options
Диалог открывается нажатием любой из команд подменю Fanout sub-menu commands.
Этот диалог позволяет задать параметры fanout и escape-трассировки. Типичное поведение fanout: задействованные внутренние площадки сначала выводятся традиционным «dog-bone» (короткая дорожка с переходным отверстием на конце) для доступа к другому слою, а затем от переходного отверстия выполняется escape-трассировка чуть за край корпуса, проходя по доступным слоям трассировки, пока все площадки не будут выведены. В итоге это значительно упрощает трассировку соединений к ним.

- Fanout Pads Without Nets - включите, чтобы выполнять fanout площадок компонента, даже если им не назначены цепи (nets). Когда эта опция отключена, fanout выполняется только для площадок с назначенными цепями.
- Fanout Outer 2 Rows of Pads - включите эту опцию, чтобы выполнять fanout площадок компонента, включая две внешние строки (которые обычно легко трассируются).
- Include escape routes after fanout completion - включите, чтобы добавлять escape-трассировку к каждому fanout. Escape-трассировка прокладывает дорожки от переходных отверстий fanout и площадок компонента, выводя их к краям компонента, чтобы упростить подключение к ним.
- Update fanout using Blind Vias (BGA escape routing only) - включите, чтобы размещать слепые переходные отверстия между настроенными слоями пар сверления (drill-pair) в стеке слоёв. Когда эта опция отключена, будут размещаться только сквозные переходные отверстия независимо от настроек пар сверления.
- Escape differential pair pads first if possible (same layer, same side) - включите, чтобы выполнять fanout и escape-трассировку назначенных дифференциальных пар вместе до выполнения остальных операций fanout, фактически сохраняя их трассы рядом. При fanout дорожки escape-трассировки будут размещаться на одном и том же слое и максимально близко друг к другу.

