Топологическая автотрассировка

Вы просматриваете версию 3.1. Для самой новой информации, перейдите на страницу Топологическая автотрассировка для версии 5
Applies to NEXUS Client versions: 2.0, 2.1, 3.0, 3.1, 3.2 and 4

This documentation page references Altium NEXUS/NEXUS Client (part of the deployed NEXUS solution), which has been discontinued. All your PCB design, data management and collaboration needs can now be delivered by Altium Designer and a connected Altium 365 Workspace. Check out the FAQs page for more information.

 

Главная страница: Трассировка

Трассировка соединений печатной платы – это сложный трудоемкий процесс. Процесс трассировки больших или плотных плат может занять у конструктора продолжительное время, при том, что циклы разработки изделий постоянно сокращаются. Автотрассировщики помогают конструктору в трассировке, автоматически размещая трассы и переходные отверстия для создания соединений. Автоматическая трассировка – это интенсивный и сложный с точки зрения вычислений процесс, который для своей максимальной пользы должен следовать правилам проектирования, достигать высокой или полной степени завершения трассировки и обеспечивать ее хорошее качество.

Хотя многие автотрассировщики нынешнего поколения в определенной степени соответствуют этим требованиям, подходы на основе сеток, форм или геометрии, применяемые при планировании пространства для трассировки, имеют серьезные ограничения применительно к технологиям плотных, неортогональных и геометрически сложных корпусов компонентов, но именно эти технологии становятся все более распространенными в современных конструкциях плат. Также в результате работы существующих автотрассировщиков, в виду их геометрических ограничений, зачастую получается топология, которая выглядит «словно растрассированной автоматически», что ведет к значительным доработкам вручную. На самом деле, многие конструкторы из-за этих ограничений избегают использования автотрассировщиков.

Два внутренних слоя платы, полученных автотрассировкой.Два внутренних слоя платы, полученных автотрассировкой.

Автотрассировщик Situs™ Altium NEXUS лишен этих ограничений. Он использует технологию топологического анализа для распределения пространства платы, которая, в отличие от распределения на основе геометрии или форм, не зависит от координат и формы препятствий. Топологическое распределение обеспечивает более высокую гибкость в определении пути трасс и разрешенных направлений трассировки.

Название Situs происходит от Situs Analysis – раздела математики, который изучает свойства геометрических фигур и тел, на которые обычно не влияют изменения размера или формы. Сегодня этот раздел более известен как топология.

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

Автотрассировка платы

Топологический трассировщик Situs предлагает новый подход к задаче автотрассировки. Он использует эффективные методы распределения пространства для начального определения путей трассировки, затем использует ряд проверенных на практике алгоритмов трассировки для преобразования этих путей в высококачественные завершенные трассы. Автотрассировщик является составной частью редактора плат, поэтому он следует заданным для платы электрическим правилам и правилам трассировки.

Настройка платы

Хотя Situs достаточно прост в настройке и запуске, есть ряд определенных моментов, на которые следует обратить внимание для получения оптимальной трассировки.

Размещение компонентов

Размещение компонентов оказывает наиболее значительное влияние на процесс трассировки. Редактор плат Altium NEXUS включает в себя ряд инструментов, таких как динамическая оптимизация линий соединения, которые позволяют производить точное размещение компонентов. Оптимальным размещением компонентов является то, при котором линии соединения минимально коротки и «запутаны».

Другими хорошими практиками являются размещение компонентов таким образом, чтобы их контактные площадки находились в фиксированной сетке (для максимизации свободного пространства между этими площадками для трассировки), размещение SMD-компонентов одного размера точно друг напротив друга на двухсторонней плате и изучение даташитов от производителей на предмет рекомендаций по размещению компонентов. Это не полный список рекомендаций по размещению, лишь несколько предложений.

Запретные зоны – объекты Keepout

Для трассировщика необходимы замкнутые границы, составленные из размещенных объектов Keepout. Как правило, эти границы соответствуют контуру платы. Размещенные объекты будут следовать применимым правилам для зазора в целях обеспечения необходимого расстояния от этих границ и соответствия всем механическим и электрическим требованиям в проекте. Трассировщик также будет следовать объектам Keepout внутри их границ, а также запретным зонам для определенных слоев.

Вы можете создать замкнутую границу, которая будет следовать контуру платы с помощью диалогового окна Line/Arc Primitives from Board Shape. Для более подробной информации по объектам Keepout см. Объекты Keepout для определенных объектов.

Полигоны

Заливка полигоном может быть сплошной (заливка одним или несколькими проводящими регионами) или сетчатой (составленной из трасс и дуг). Средние и большие сетчатые полигоны включают в себя большое количество трасс и дуг. Хотя трассировщик и может разводить платы с такими полигонами, число их составных объектов может повлиять на сложность процесса трассировки.

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

Трассировка возможна?

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

Существующая трассировка

Предварительно растрассируйте важные цепи и, если необходимо, чтобы они не изменялись в процессе трассировки, заблокируйте их с помощью параметра Lock All Pre-routes в диалоговом окне Situs Routing Strategies. Тем не менее, избегайте ненужных блокировок – большое количество заблокированных объектов может создать трудности для трассировки.

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

Настройка правил проектирования

Термин правило по умолчанию используется для описания правила с областью действия на все объекты – запрос All.

Если правило включает в себя минимальное, предпочтительное и максимальное значения (Minimum, Preferred и Maximum), автотрассировщик будет использовать предпочтительное значение.

Убедитесь, что правила проектирования для трассировки соответствуют используемым технологиям. Правила с некорректной областью действия или значениями могут привести к низкой эффективности автотрассировки. Обратите внимание, что трассировщик следует электрическим правилам и правилам для трассировки (категории Electrical и Routing), за исключением правила для изломов Routing Corners.

Определение правил осуществляется в диалоговом окне PCB Rules and Constraints Editor (Design » Rules), которое можно открыть непосредственно из диалогового окна Situs Routing Strategies.

Если правило включает в себя минимальное, предпочтительное и максимальное значения (Minimum, Preferred и Maximum), автотрассировщик будет использовать предпочтительное значение.

Система правил проектирования в Altium NEXUS является иерархической. Идея состоит в том, что следует начать с правила по умолчанию для всех объектов, затем добавлять правила, выборочно действующие на объекты с иными требованиями к ним. Например, необходимо задать правило по умолчанию для ширины цепей, которая будет использоваться в качестве самой общей ширины трасс на плате, затем добавить последующие правила для определенных цепей, классов цепей и т.д.

Для проверки того, что правило действует на необходимые объекты, скопируйте запрос правила (Query) в панель PCB Filter и примените его (Apply). Только те объекты, которые попадают в область действия правила, пройдут фильтр и будут отображаться в нормальном режиме. Либо используйте панель PCB Rules And Violations для быстрого просмотра применения любого определенного в проекте правила.

Наиболее важными правилами являются Width (Ширина проводников) и Clearance (Зазор). Эти настройки для трассировки определяют, насколько плотно могут быть «упакованы» трассы. Выбор этих параметров является процессом балансировки – чем шире трассы и больше зазор, тем изготовить плату; напротив, чем у́же трассы и зазоры, тем проще трассировать плату. Рекомендуется обратиться к производителю на предмет их ценовых ориентиров в зависимости от ширины и зазора, меньшие значения которых приведут к сокращению выхода годных изделий и повышению стоимости. Помимо соответствия электрическим требованиям к проекту, технология трассировки также должна соответствовать технологии компонентов, чтобы было возможно растрассировать каждый вывод.

Третьим правилом, которое является частью технологии трассировки, является Routing Via Style (Стиль переходных отверстий при трассировке). Оно тоже должно быть задано в соответствии применяемым трассам и зазорам и с учетом стоимости изготовления для выбранного диаметра контактной площадки и отверстия.

Также следует избегать избыточных и ненужных правил – чем больше правил, тем больше время обработки, тем медленнее трассировка. Правила, не требуемые для автотрассировки, можно отключить.

Ширина трассировки

Убедитесь, что задано правило Routing Width с областью действия All (правило по умолчанию) и что его предпочтительное значение Preferred соответствует наиболее общей необходимой ширине трасс. Убедитесь, что эта ширина, в сочетании с соответствующим правилом для зазора, позволяет трассировать контактные площадки. Настройте дополнительные правила ширины для цепей, которым требуются более широкие или более узкие трассы.

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

Ограничение зазора

Проверьте специальные требования к зазору, например для компонентов с малым шагом выводов, чьи контактные площадки расположены друг к другу ближе, чем стандартный зазор платы. Управлять такими ситуациями можно с помощью подходящих областей действия и приоритетов правил. Обратите внимание, что хотя вы можете определить правило, действующее на посадочное место, оно не будет действовать на трассы, подсоединенные к этому посадочному месту. Как упоминалось в разделе про ширину трассировки, попробуйте трассировать выводы этого компонента, чтобы убедиться в возможности трассировки.

Стиль переходных отверстий

Убедитесь, что задано правило Routing Via Style с областью действия All (правило по умолчанию) и что заданы подходящие предпочтительные значения. Добавьте правила с более высоким приоритетом для тех цепей, у которых стиль переходных отверстий должен отличаться.

Altium NEXUS поддерживает глухие и скрытые переходные отверстия – они будут использоваться, если заданы соответствующие типы переходов (Via Types) в Layer Stack Manager (Design » Layer Stack Manager). Как и при интерактивной трассировке, когда автотрассировищик переключается между двумя слоями, он проверяет текущие определения типов переходов – если эти слои определены в качестве пары, то будет размещено переходное отверстие с этими слоями в качестве начального и конечного. Важно понимать ограничения использования глухих/скрытых отверстий – их следует использовать только при согласовании с производителем. Помимо ограничений, накладываемых на доступные производителю технологии структуры слоев, необходимо учитывать надежность и испытуемость. Некоторые конструкторы предпочитают добавлять больше слоев трассировки, а не использовать глухие/скрытые переходы.

Слои трассировки

Убедитесь, что задано правило Routing Layers с областью действия All. Здесь будут приведены все доступные сигнальные слои, заданные в структуре слоев платы. Включите слои, на которых вы хотите допустить трассировку. Добавьте правила с более высоким приоритетом для цепей, которые нужно трассировать только на определенных слоях.

Если нужно исключить определенную цепь (или класс цепей) из автоматической трассировки, задайте правило Routing Layer, где в область действия попадает эта цепь или класс цепей, а в области ограничений для каждого доступного сигнального слоя отключен параметр Allow Routing. Приоритет этого правила должен быть выше, чем у правила по умолчанию (с областью действия All).

Направления слоев

Направление трассировки слоя указывается в диалоговом окне Layer Directions, доступ к которому осуществляется через диалоговое окно Situs Routing Strategies. Здесь будут приведены все доступные сигнальные слои, заданные в структуре слоев платы. Выберите направления слоев в соответствии с «потоком» линий соединения. Situs использует топологическое распределение для определения путей трасс, поэтому он не ограничен только вертикальными и горизонтальными путями. Как правило, лучше всего задать внешним слоям вертикальное или горизонтальное направление. Тем не менее, если на многослойной плате находится большое количество соединений под углом «на 2 часа», задайте одному или нескольким внутренним слоям это направление трассировки в качестве предпочтительного. В частности, эта информация может использоваться шаблонами слоев, и выбор правильного направления может оказать значительное влияние на эффективность трассировки, как в плане затраченного времени, так и качества. Обратите внимание, что при использовании слоев под углом вам не нужно задавать перпендикулярный ему слой, поскольку трассировщик, как правило, будет трассировать горизонтально или вертикально при необходимости обойти препятствие на слое под углом.

Избегайте использования направления Any – выбор слоя для трассировки зависит от того, насколько близко соединение соответствует направлению слоя, поэтому этот слой будет задействован лишь в крайнем случае. Направление Any обычно используется только для односторонних плат.

Приоритет трассировки

Используйте правила Routing Priority для задания более высокого приоритета сложным цепям или тем цепям, для которых нужно получить наиболее чистую трассировку.

Управление фэнаутами SMD-компонентов

Система запросов включает в себя ключевые слова для указания SMD-компонентов в различных корпусах, такие как IsLCC (Leadless Chip Carrier), IsSOIC (Small Outline IC) и IsBGA (Ball Grid Array). Для самых общих корпусов автоматически создаются правила по умолчанию, и поскольку запуск проходов для фэнаутов осуществляется на ранних стадиях трассировки, есть небольшие потери при сохранении правил, не применяемых к каким-либо компонентам. Следует иметь хотя бы одно правило для управления фэнаутами SMD-компонентов, если на плате присутствуют поверхностно монтируемые компоненты – подходящим запросом для единого правила, в область действия которого попадают все SMD-компоненты, – IsSMTComponent. Для получения информации о том, как ключевые слова запросов определяют корпус компонента, откройте Query Helper, введите необходимое ключевое слово и нажмите F1.

Правила для фэнаутов включают в себя настройки, управляющие трассировкой вне компонента или по направлению к компоненту или их сочетанием. Чтобы лучше ознакомиться с поведением параметров правила Fanout Control, используйте команду Route » Fanout » Component для любого поверхностно монтируемого компонента, которому не назначены цепи. Помимо проверки того, насколько хорошо будут созданы фэнауты компонента с определенными для платы настройками технологии трассировки, вы также можете использовать эту возможность для сохранения в библиотеке посадочного места компонента с предварительно созданными фэнаутами. После того, как были созданы фэнауты компонента в редакторе плат, скопируйте компонент с трассами и переходными отверстиями фэнаутов и вставьте их в библиотеку.

Приоритеты правил

Старшинство правил, или их приоритет, определяется конструктором. Приоритет правил используется для определения того, какое правило будет применено, если объект попадает в область действия более одного правила. Если приоритет не задан корректно, может получиться так, что правило не будет применено.

Например, если правило с областью действия InNet('VCC') имеет более низкий приоритет, чем правило с приоритетом All, то к цепи VCC будет применено правило All. Используйте кнопку Priorities в диалоговом окне PCB Rules and Constraints Editor, чтобы открыть диалоговое окно Edit Rule Priorities, где можно определить приоритеты необходимым образом. Обратите внимание, что приоритет не важен, если области действия правил не перекрываются (не влияют на одни и те же объекты). Например, неважно, у какого из двух правил с запросами InNet('VCC') или InNet('GND') задан более высокий приоритет.

Золотое правило

Наиболее важным шагом является проведение проверки правил проектирования (DRC) перед запуском автотрассировки. При использовании команд Route » Auto Route » Setup или Route » Auto Route » All, Situs проводит собственный предварительный анализ и представляет его результаты в виде отчета в диалоговом окне Situs Routing Strategies.

Перед запуском автотрассировки убедитесь, что в отчете Routing Setup Report всё верно.
Перед запуском автотрассировки убедитесь, что в отчете Routing Setup Report всё верно.

Отчет включает в себя следующую информацию:

  • Заданные правила проектирования, которые будут использоваться автотрассировщиком (и количество объектов, на которые действует каждое правило: цепи, компоненты, контактные площадки).
  • Направления трассировки, определенные для всех сигнальных слоев.
  • Определения пар сверловки.

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

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

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

Советы по запуску трассировщика

  • Команды автотрассировщика находятся в меню Route » Auto Route.
  • Команды Route » Auto Route » All и Route » Auto Route » Setup открывают диалоговое окно Situs Routing Strategies. Разница состоит в том, что при выборе команды All диалоговое окно будет включать в себя кнопку Route All (Трассировать всё).
  • Не бойтесь экспериментировать. Если результат не приемлем, измените подход трассировщика. Добавьте промежуточные проходы очистки и выравнивания, добавьте больше пространства вокруг плотных областей или измените направления слоев.
  • Когда экспериментируете с трассировщиком, создавая собственные стратегии для управления порядком проходов, изменения количества переходных отверстий, изменения направлений трассировки, ограничения трассировки только ортогональными трассами и т.д., делайте заметки о комбинациях, которые вы пробуете. Таким образом, вы сможете найти и повторно использовать конфигурации, которые наилучшим образом работают с разрабатываемыми конструкциями.
  • Сначала отдельно запустите проход создания фэнаутов и оцените качество результата. Возможно, понадобится вручную создать фэнауты в проблемных областях.

Обзор проходов трассировки и стратегий трассировки

Определенные на данный момент стратегии трассировки приведены в нижней части диалогового окна Situs Routing Strategies. Нажмите кнопку Add, чтобы открыть диалоговое окно Situs Strategy Editor, где можно указать проходы для их включения в новую стратегию. Либо используйте кнопку Duplicate для копирования существующей стратегии и ее изменения необходимым образом.

Пример изменения скопированной стратегииПример изменения скопированной стратегии

Стратегии, определенные пользователем, можно отредактировать в любой момент, в отличие от стратегий по умолчанию, которые изменить нельзя: Cleanup, Default 2 Layer Board, Default 2 Layer With Edge Connectors, Default Multi Layer Board, General Orthogonal, Via Miser.

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

Проход Функция
Adjacent Memory Проход трассировки на уровне соединений. Используется для трассировки соседних выводов одной цепи, требующих создания фэнаута, простым U-образным шаблоном.
Clean Pad Entries Проход трассировки на уровне соединений. Повторно трассирует от центра каждой контактной площадки вдоль ее наиболее длинной оси. Если в проекте есть компоненты с контактными площадками с разными размерами по осям X и Y, всегда включайте проход Clean Pad Entries после прохода Memory.
Completion Проход трассировки на уровне соединений. По сути, аналогичен проходу Main, с разницей в стоимости разрешения конфликтов и завершения сложных соединений. Примеры разницы в стоимости: переходные отверстия оцениваются как более «дешевые», неправильно проложенные трассы оцениваются как более «дорогие».
Fan Out Signal Проход трассировки на уровне компонентов, основанный на определенных правилом Fanout Control настройках. Проверяет шаблоны расположения контактных площадок, учитывает зазоры, ширину трассировки и стиль переходных отверстий, затем выбирает подходящий стиль расположения фэнаутов (линейно, в шахматном порядке и т.д.) в соответствии с требованиями в правиле. Фэнауты переходят только на сигнальные слои.
Fan out to Plane Проход трассировки на уровне компонентов, основанный на определенных правилом Fanout Control настройках. Проверяет шаблоны расположения контактных площадок, учитывает зазоры, ширину трассировки и стиль переходных отверстий, затем выбирает подходящий стиль расположения фэнаутов (линейно, в шахматном порядке и т.д.) в соответствии с требованиями в правиле. Фэнауты переходят только на внутренние экранные слои.
Globally Optimized Main Проход трассировки на уровне соединений. Обеспечивает оптимальную трассировку. Игнорирует конфликты/нарушения на первой итерации. Затем повторно трассирует соединения, с повышением стоимости конфликтов, пока не останется нарушений. Этот проход, в сочетании с включенным параметром Orthogonal, может обеспечить аккуратно трассированные шаблоны. Добавьте в стратегию проход Recorner для создания скошенных изломов.
Hug Проход трассировки на уровне соединений, который повторно трассирует каждое соединение, следуя существующим трассам с минимально возможным зазором. Этот проход используется для максимального увеличения свободного для трассировки пространства. Имейте в виду, что этот проход работает очень медленно.
Layer Patterns Проход трассировки на уровне соединений. Трассирует только соединения, соответствующие направлению слоя (в пределах допуска). Использует высокую стоимость огибания и следования существующей трассировки для максимизации пространства.
Main Проход трассировки на уровне соединений. Использует топологическое распределение для поиска пути трассировки, затем – расталкивание трассировки для преобразования пути в трассу. В стратегии трассировки должен присутствовать только один проход типа «Main»: Main, Multilayer Main или Globally Optimized Main.
Memory Проход трассировки на уровне соединений. Ищет два вывода разных компонентов на одном слое с одной координатой X или Y.
Multilayer Main Проход трассировки на уровне соединений. Аналогичен проходу Main, но со стоимостью, оптимизированной для многослойных плат.
Recorner Проход трассировки на уровне соединений, который используется для создания скосов у изломов трасс. Этот проход используется, если в стратегии включен параметр Orthogonal, по сути переопределяя его и скашивая изломы каждой трассы. Если параметр Orthogonal отключен в используемой стратегии, нет необходимости добавлять проход Recorner, поскольку автотрассировщик добавляет скосы по умолчанию.
Spread Проход трассировки на уровне соединений, который повторно трассирует каждое соединение, пытаясь равномерно распределить трассировку для использования всего свободного пространства и провести трассировку на равных расстояниях при проходе между фиксированными объектами (такими как контактные площадки компонентов). Имейте в виду, что этот проход работает очень медленно.
Straighten Проход трассировки на уровне соединений, который пытается сократить число изломов. Следует вдоль трассы до излома, затем выполняет поиск другой точки трассировки цепи в горизонтальном/вертикальном/+45гр./-45гр. направлении. Если эта точка будет найдена, происходит проверка, уменьшает ли новый путь длину трассировки.

Для дальнейшего изучения

Content