Разработка стратегии трассировки высокоскоростных сигналов требует внимательного учета ограничений и продуманного планирования размещения компонентов. Вот как правильно выполнять трассировку высокоскоростных сигналов.
Ваша современная цифровая PCB, скорее всего, работает как высокоскоростная цифровая система, независимо от того, предполагали вы это или нет. Разумеется, степень влияния и необходимый уровень анализа зависят от времени нарастания ваших сигналов, и именно это часто определяет, как и где можно трассировать определенные сигналы на PCB. Эти ограничения можно задать как правила проектирования PCB в вашем проекте, и в этой статье мы рассмотрим некоторые распространенные ограничения, используемые в высокоскоростных разработках для обеспечения успешной трассировки.
Все стандартные интерфейсы, используемые для передачи высокоскоростных цифровых данных, являются интерфейсами с контролируемым импедансом. Драйвер, подключенный к дорожке, ожидает, что дорожка будет иметь определенное значение импеданса, и ваше ECAD-программное обеспечение должно поддерживать это при начале трассировки. Аналогично, приемники имеют согласование на определенный входной импеданс или емкостную нагрузку и корректно работают только в соответствии со спецификацией, если импеданс подключенной дорожки соответствует требуемому.
После того как для вашего проекта создана модель импеданса, необходимо задать ограничение на ширину дорожек и допустимые отклонения для каждого сигнального слоя, а затем применить их к различным классам цепей. Для этого требуется расчет импеданса дорожек в разных геометриях.
В Altium Designer расчеты импеданса линий передачи выполняются в том же инструменте, который используется для определения стека слоев PCB.
Чтобы гарантировать сохранение правильного импеданса при трассировке определенных интерфейсов, используется простой процесс: группировка цепей и создание специализированных правил проектирования для конкретных цепей, обеспечивающих требуемую ширину дорожек. Группировка цепей с одинаковым импедансом в классы цепей — это самый быстрый способ применить несколько ограничений к группам цепей, включая основные высокоскоростные ограничения, такие как ширина дорожек и согласование задержек распространения в параллельных шинах и дифференциальных парах.
А как быть с отклонением импеданса? Как его учитывать, если вы планируете изменять ширину дорожки? Это можно сделать с помощью сужения дорожки, то есть изменения ее ширины при входе, например, в область BGA-корпуса. Если вы можете заранее предвидеть такие потребности трассировки, запланируйте учет изменения ширины дорожек в правилах проектирования вашей PCB.
Проверки ограничения пути возвратного тока подтверждают, что дорожка не пересекает границу опорной плоскости, например зазор между двумя шинами на силовом слое. Пересечение такого зазора прерывает ближайший путь возвратного тока и заставляет возвратный ток идти в обход. В Altium Designer правило Return Path использует назначенный профиль импеданса для определения опорных слоев и проверки непрерывности меди под трассировкой.

Перекос между сигналами в параллельных шинах или внутри дифференциальной пары необходимо минимизировать, когда требования к согласованию задержек особенно строгие. В PCB-топологии необходимо ограничивать три категории временного перекоса:
Именно поэтому удобно определять классы цепей: это значительно упрощает задание временных ограничений, поскольку их можно применить ко всем цепям в данном классе.
Для таких интерфейсов, как PCIe и DDR, временные ограничения настолько жесткие, что для точного обеспечения прихода сигналов в требуемое временное окно необходимо учитывать задержку распространения в выводах и корпусе компонента. Информация для моделирования соответствующего высокоскоростного интерфейса может быть предоставлена производителем компонента. При создании условного графического обозначения для библиотечного компонента данные о задержке выводов можно включить в определения выводов с обеих сторон соединения, и эти значения задержки будут использоваться в инструменте подстройки задержек при трассировке.
Чтобы включить задержки выводов и корпуса в расчет подстройки задержек при трассировке в Altium Designer, цепи соответствующего интерфейса необходимо включить в xSignals. Этот инструмент учитывает все задержки от точки до точки между двумя интегральными схемами, и они используются при расчете подстройки задержек.
В платах с большим количеством слоев часто бывает, что определенные классы цепей или классы дифференциальных пар назначаются только определенным слоям. Для этого есть две основные причины:
Например, часто разные интерфейсы, такие как DDR, дифференциальные пары 90 Ом (например, USB), дифференциальные пары 100 Ом и другие шины с контролируемым импедансом, разводят по отдельным слоям с единым подходом к проектированию пар. Такое разделение также можно выполнять по значениям ширины дорожек/зазоров, поскольку это помогает производителям легче заменять материалы на эквивалентные при необходимости.
Правило Routing Layers определяет, какие сигнальные слои могут использоваться целевым классом цепей или классом дифференциальных пар. Правила для конкретных классов позволяют каждому интерфейсу использовать назначенные ему слои, сохраняя при этом более общее правило для остальной трассировки.
Значения зазоров обычно различаются для внутренних и внешних слоев из-за процесса металлизации внешних слоев. Однако, поскольку многие высокоскоростные конструкции также являются высокоплотными, нередко разные внутренние слои требуют разных значений зазоров. Это связано с использованием субламинатов, для которых требуется дополнительный процесс металлизации, в результате чего толщина осажденной меди становится больше, чем базовая толщина фольги.
В Altium Designer зазоры по слоям можно задать с использованием системы запросов:
Обязательно уточните требования к зазорам в зависимости от толщины меди (внутренние и внешние слои) у поставщика услуг по изготовлению PCB.
Также можно задавать зазоры по слоям с помощью нового Constraint Manager. Это обеспечивает матричный подход к определению зазоров, который будет гораздо привычнее разработчикам, использующим другое ECAD-программное обеспечение. Подробнее о Constraint Manager — в видео ниже:
Я уже рассказывал в блоге Altium о том, как работает импеданс переходных отверстий и на каких частотах переходные отверстия нужно проектировать под определенный входной импеданс. Эти размеры переходных отверстий и anti-pad будут зависеть от конкретной цепи для определенного стека слоев и диапазона слоев, а ограничение на размер via/pad можно задать с помощью правил проектирования PCB.
Размеры переходных отверстий можно ограничить двумя способами:
Определение правильного размера переходного отверстия — это не так просто, как воспользоваться онлайн-калькулятором для подбора размеров via. Для этого требуется 3D-моделирование электромагнитного поля или, по крайней мере, эмпирическая модель, построенная на основе данных моделирования. После того как размеры via и anti-pad определены, зафиксируйте их в виде правил проектирования, чтобы гарантировать, что важные высокоскоростные цепи ограничены правильными размерами via.
Anti-pad для via — это еще один элемент проектирования с учетом импеданса переходного отверстия, поскольку зазор до плоскости влияет на емкость вдоль цилиндра via. Во всех конструкциях уже существует минимальное требование к зазору между контактными площадками via и ближайшей медью на плоскостях питания или крупных силовых шинах. Значение зазора между via и медью можно скорректировать для конкретных цепей с помощью правила проектирования PCB на уровне отдельной цепи или класса цепей.
Для дифференциальных цепей форма anti-pad может быть продолговатой или эллиптической, а не круглой вокруг каждого отдельного via. Такой общий anti-pad лучше всего задавать путем рисования его формы — либо как вырез в плоскости, либо как вырез в полигоне. Пример показан ниже.
Одной из особенностей современных высокоскоростных PCB является то, что они, как правило, также имеют высокую плотность монтажа. Это связано с тем, что большинство процессоров сейчас выпускаются в корпусах BGA, и при малом шаге выводов для выполнения fanout-трассировки потребуется технология via-in-pad. Даже в случае BGA-корпусов с большим шагом выводов, где используется fanout по схеме dog-bone, оптимальное размещение байпасных конденсаторов выполняется на обратной стороне BGA с использованием via-in-pad.
По умолчанию ECAD-программы проверяют наличие via-in-pad и помечают его как нарушение DRC, если оно присутствует. Однако via-in-pad можно разрешить в правилах проектирования, чтобы поддержать fanout-трассировку для BGA.
Откройте Design » Rules и создайте правило High Speed » Via Under SMD. Включите Allow Vias under SMD Pads и ограничьте область действия правила нужными площадками, используя IsPad AND WithinRoom('BGA_Fanout') для заданной области fanout. Назначьте этому правилу более высокий приоритет, чем общему правилу. Также настройте соответствующее правило Same Net Only Clearance с нулевым зазором между SMD-площадкой и via, а также между площадкой и отверстием via для разрешенных via.
Обязательно укажите соответствующие via как заполненные и закрытые, используя параметр типов via по IPC-4761 на панели Properties. Это также можно сделать, вручную выбрав конкретную группу via для металлизации и закрытия, либо добавив примечание к производству в основной чертеж, если все via должны быть заполнены и закрыты.
Несвязанная длина дифференциальной пары влияет на обратные потери в дифференциальном канале, поэтому в некоторых приложениях важно определить допустимую длину такого несвязанного участка. Чаще всего этот участок возникает при трассировке выхода из плотного поля выводов BGA, где проводники должны разойтись друг от друга, чтобы обойти переходные отверстия.
Вычисление несвязанной длины — это не простая задача, так как оно зависит от корректного расчета критической длины на основе полосы пропускания вашего канала. Хорошая стратегия заключается в том, чтобы, если вы знаете, что у ваших дифференциальных пар будет несвязанный участок в fanout-трассировке, изначально проектировать пару со слабой связью, поскольку это уменьшит рассогласование импеданса на несвязанном участке и снизит преобразование мод.
Чтобы узнать больше о системе правил проектирования PCB в Altium Designer, посмотрите видео ниже.
Независимо от того, разрабатываете ли вы надежную силовую электронику или передовые цифровые системы, используйте полный набор функций проектирования PCB и CAD-инструменты мирового класса от Altium. Altium предоставляет ведущую в мире платформу для разработки электронных изделий, включающую лучшие в отрасли инструменты проектирования PCB и средства междисциплинарного взаимодействия для передовых команд разработчиков. Свяжитесь со специалистом Altium уже сегодня!
В Altium Designer создайте правило High Speed » Return Path и примените его к соответствующим цепям или классу цепей. Выберите профиль импеданса, который определяет их опорные слои, настройте минимальное расстояние от дорожки до границ опорной меди и запустите пакетную проверку правил проектирования. Эта проверка выявляет трассировку над разрывами опорной меди, включая зазоры между силовыми шинами.
Создайте правило Routing » Routing Layers в Design » Rules и задайте его область действия с помощью InNetClass('ClassName') или InDifferentialPairClass('PairClass'). Включите Allow Routing только для разрешенных сигнальных слоев, затем назначьте этому правилу более высокий приоритет, чем более общим правилам Routing Layers. Эти настройки ограничивают трассировку и позволяют проверке правил проектирования выявлять уже существующие проводники на запрещенных слоях.
Создайте правило Routing » Routing Via Style и задайте его область действия для целевой цепи или класса цепей с помощью InNet('NetName') или InNetClass('ClassName'). Определите минимальный, предпочтительный и максимальный диаметр via и размер отверстия либо настройте правило на использование утвержденных шаблонов via. Назначьте этому правилу более высокий приоритет, чем общему правилу для via. Диапазоны слоев для via задаются отдельно в Layer Stack Manager.
Классы цепей можно создать с помощью директив Net Class на схеме или напрямую через Design » Classes в редакторе PCB. Для классов, заданных на схеме, включите генерацию пользовательских классов цепей в Project Options и передайте изменения в PCB. В Design » Rules задайте область действия каждого применимого правила трассировки или временных параметров с помощью InNetClass('ClassName'), настройте его ограничения и назначьте ему приоритет выше, чем у более общих правил того же типа.