Фильтр по тематике

Об оптимальной расстановке фанаутов на печатных платах

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

22.04.2026 37 0
Об оптимальной расстановке фанаутов на печатных платах

Основные понятия

Современные печатные платы (ПП) состоят из многих слоёв. На поверхностных слоях (Top/Bottom) размещаются пины (они же контактные площадки). Пины бывают либо сквозные (Through), либо однослойные (SMD).

Как правило, пину приписана некоторая электрическая цепь. Пины одной цепи соединены условными линиями (нетлайнами) таким образом, что получается связный граф (где пины – это вершины, а нетлайны – это рёбра).

Задача трассировки ПП состоит в замене каждого нетлайна цепочкой из треков (трасс) и переходных отверстий ПО (межслойных переходов или виёв), не создавая при этом нарушений DRC (правил толщины, зазоров и т.д.) с объектами (пинами/треками/ПО) других цепей.

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

Фанаут – это, как правило, короткий трек от пина, на конце которого располагается ПО. На рис. 1 изображен фанаут для одного из 8 пинов (иногда разрешается ставить ПО малого размера прямо в центр пина без промежуточного трека, но этот случай мы здесь не рассматриваем).


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

Пины объединены в компоненты. Наиболее сложный вид имеют BGA-компоненты. Они состоят из большого количества (иногда десятков тысяч) круглых SMD-пинов, расположенных в очень плотной (при этом не обязательно регулярной) матричной структуре.

Если позволяют размеры ПО и зазоры ПО – Пин, фанаут в BGA – это короткий трек от пина до ПО в диагональном направлении в центр ячейки с вершинами из соседних пинов (рис. 2).


Задача расстановки фанаутов в BGA-компонентах достаточно хорошо изучена [1, 2]. Задача же расстановки фанаутов в остальных SMD-компонентах меньше изучена, хотя и кажется более простой.

Основными видами таких компонент являются SOIC и LCC (на первом рисунке выше компонента имеет тип SOIC, в диалоге ниже – LCC). Пины в таких компонентах обычно прямо­угольной формы (возможно, со скруглёнными углами). Согласно «правилам пад-энтри», хороший выход трека из такого пина происходит ортогонально через середину стороны (предпочтительно короткую). Иногда разрешён и выход через вершину пина по диагонали.

Обзор возможностей современных САПР

Для создания фанаутов в системе Delta Design (DD) имеются две возможности: в режиме TopoR и в режиме RightPCB. TopoR не имеет настроек и создает фанауты сразу для всех BGA-компонент (плюс для цепей питания в SMD-компонентах).

RightPCB работает со всеми или только выбранными пинами отдельной компоненты и имеет диалог для управления расстановкой фанаутов (рис. 3).


В настоящее время эта функциональность в DD существенно дорабатывается. Однако в некоторых случаях удаётся расставить не все фанауты (рис. 4: пины 31 и 34 подсвечены; пину 29 не приписана цепь, и ему фанаут не требуется). 


Иногда фанауты излишне длинные (рис. 5).


Такие же недостатки (неполная разводка или некая кривизна фанаутов) присущи механизмам создания паттернов в других ведущих САПР (Xpedition, Altium, Allegro). Все они используют либо последовательную расстановку фанаутов по заданному шаблону (в линейку, в ёлочку и т.д.), либо используют подход «сначала поставим прямые короткие фанауты везде, где возможно, а потом займёмся остальными».

Отметим, кстати, один существенный момент. Как DD в режиме RightPCB, так и Xpedition при расстановке фанаутов не создают нарушений DRC (если это и случается, то является дефектом программы и подлежит исправлению). В отличие от них, Altium, Allegro и DD в режиме TopoR могут создавать большое количество нарушений. Иногда это помогает понять, в каких местах имеются проблемы, и тут же их решить в ручном режиме.

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

Ниже на рис. 6 приведён фрагмент расстановки фанаутных паттернов в Xpedition. 


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

В Xpedition, в отличие от остальных САПР, есть другая опция для создания фанаутов: команда F2 для выбранного набора пинов (не обязательно из одной компоненты). Она не имеет никаких настроек и разводит фанауты один за одним, при этом умея толкать другие объекты (треки и ПО), если этого требует соблюдение зазоров. Эта команда имеет полноценную поддержку дифпарности. Более того, дифпарные фанауты являются симметричными (рис. 7).


Поскольку диаметры ПО больше поперечника пинов, дифпарные фанауты разведены не отрезками, а «клюшками». Из-за этого соседние дифпары вынуждены разводиться в разные стороны. В данном случае это не создаёт проблем, но может привести к неполной разводке при наличии других пинов поблизости компоненты (рис. 8).


Заметим, что дифпарные фанауты можно было бы развести отрезками и разместить все фанауты в одном направлении. На рис. 9 приведён пример такой разводки двух соседних дифпар в одном направлении.


У этого подхода есть известный недочёт: фанауты внутри дифпары будут разной длины. Это не имеет значения для низкочастотных цепей, однако крайне нежелательно для высокочастотных. В любом случае, полезно дать пользователю возможность управлять видом дифпарных фанаутов.

Постановка задачи

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

Разумеется, при этом желательно соблюдать другие правила: «хороший» выход треков из пина (качество пад-энтри), симметричность дифпарных фанаутов и т.д. Отдельно стоит вопрос о пригодности фанаутов для последующей трассировки, например, с помощью эскизного трассировщика пучков ЭТП [3].

Попытаемся описать (как нам кажется, довольно универсальный) подход для решения этой задачи в рамках системы DD. Как отмечалось, режим RightPCB работает, избегая нарушений DRC. Существенным ограничением этого режима по сравнению с ведущими САПР является невозможность «толкать» существующие объекты при трассировке. Это касается и ЭТП. Поэтому такое же ограничение имеет место и для нашего подхода к созданию фанаутов.

Второе ограничение: как и ЭТП, мы будем создавать только «регулярные» треки для фанаутов (т.е. с сегментами в одном из 8 направлений, кратных 45 градусам).

Предположим, что мы научились создавать некоторый набор фанаутов для каждого отдельно взятого пина без нарушений DRC с существующими объектами ПП. Скажем, для нижнего пина на рис. 10 мы можем рассмотреть 4 варианта фанаутов (все – отрезками). 


Для «угловых» пинов над ним – 5; 3 варианта (заметим, что один из вариантов имеет форму «клюшки» из-за соблюдения зазора ПО – Пин). Маленькие кружки обозначают центры потенциальных ПО.

Для BGA-пинов можно пробовать все 8 направлений (рис. 11). 


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

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

Пусть мы имеем N множеств элементов S(1),… S(N). Каждое множество S(i) состоит из элементов e(i, 1),… e(i, n(i)), где n(i) – размер множества S(i). Предположим, что имеется булевская функция от любой пары элементов разных множеств:

B(e(i,k), e(j,l)) = 0 или 1, где i != j, k = = 1,…,n(i), l = 1,...,n(j).

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

В такой постановке множество S(i) – это набор вариантов фанаутов для i-го пина, а функция B на паре фанаутов от разных пинов равна 0, если они не находятся в DRC-нарушении друг с другом.

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

Отметим, что частным случаем этой задачи является «задача о максимальной клике»: в заданном графе требуется найти клику (подграф, у которого любая пара вершин соединена ребром) максимального размера. Действительно, если у каждого пина (= вершины графа) имеется только один вариант фанаутов, мы соединяем его ребром с другим пином, если функция B равна 0 на этой паре фанаутов. Тогда клика – это семейство пинов с фанаутами без нарушений DRC.

Применения к постановке фанаутов

Поскольку даже задача о максимальной клике является NP-полной, у нас нет эффективного решения более общей задачи с гарантированно максимальным количеством. Однако нетрудно написать алгоритм, который почти всегда (или достаточно часто) находит оптимальное решение. При этом основные вычисления придутся на расчёт функции B, т.е. наличие DRC-нарушения между двумя фанаутами. Этот расчёт квадратично зависит от N (если количество вариантов для одного пина ограничено некоторой константой).

Приведём примеры построения фанаутов с использованием нашего подхода. На рис. 12 ниже нам удалось построить на 2 фанаута больше, чем на рис. 4 с использованием паттернов. 


На рис. 13 все наши фанауты состоят из прямых коротких треков, что предпочтительнее, чем разводка с помощью паттернов на рис. 5.


Заметим, что оптимальное решение не обязано быть единственным, и мы можем его улучшать, используя другие параметры. Например, мы можем:

  • минимизировать суммарную длину фанаутов;
  • минимизировать суммарный штраф за «плохое» пад-энтри;
  • минимизировать суммарный штраф за несимметричность дифпарных фанаутов и т.д.

Это делается путём минимизации соответствующей положительной функции F на множестве фанаутов. При этом мы меняем варианты фанаутов только для найденного «максимального» набора пинов. Разумеется, при этом мы должны соблюдать главное требование: не создавать DRC-нарушений.

Применения к эскизному трассировщику пучков

Задача построения фанаутов – неизбежный шаг в рамках развития ЭТП, а именно: пользователь селектирует некоторый набор нетлайнов между пинами и рисует эскиз на каком-то слое ПП. Если все пины находятся на этом слое или являются сквозными, можно сразу запускать механизм однослойной трассировки вдоль эскиза. Если же какие-то пины на слое эскиза отсутствуют, нам требуется вначале построить фанауты для таких пинов. При этом оказалось, что можно решить более общую проблему, описанную выше. Однако в приложении к ЭТП задача имеет свою специфику. Например, появляются дополнительные требования к семейству фанаутов:

  • желательно, чтобы фанауты по возможности были направлены в сторону эскиза;
  • желательно «распутать» имеющиеся конфликты между нетлайнами;
  • желательно не создавать конфликты внутри каждой дифпары.

Прокомментируем последние два пункта с помощью рис. 14. 


Предположим, что нам надо развести пучок из 4 нетлайнов между SMD-пинами на слое Top напрямую (т.е. без эскиза) на слое Bottom (заметим, что на слое Top полная однослойная трассировка напрямую невозможна из-за противоположного порядка пинов на концах нетлайнов).

Если не учитывать специфику ЭТП и просто создать фанауты для 8 пинов, мы получим разводку, как на рис. 15.


Картинка стала бы более красивой (а суммарная длина треков меньше), если расставить фанауты по-другому (рис. 16).


Качество построенных фанаутов для однослойной трассировки можно оценить, если нарисовать нетлайны между ПО на двух конфигурациях (рис. 17 и 18).



При однослойной трассировке напрямую желательно, чтобы семейство нетлайнов было более-менее параллельным, хотя допускаются незначительные («мягкие») конфликты. В первой конфигурации имеется «жёсткий» конфликт двух нетлайнов, обозначенный жёлтым овалом. Условно говоря, здесь это означает, что данную пару нельзя развести двумя монотонными по всем направлениям треками даже при игнорировании других объектов ПП.

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

Это же относится и к построению дифпарных фанаутов. Очевидно, что для прямой доразводки дифпары из двух вариантов фанаутов (рис. 19 и 20) на нижнем конце предпочтительнее второй.



Литература

  1. Сh. Pfeil. BGA Breakouts and Routing: Effective Design Methods For Very Large BGAs. CreateSpace, 2008, 188 pages.
  2. Кноп К., Лузин С., Лузин М., Сорокин С., Лячек Ю. Расстановка фанаутов в области BGA с нерегулярным расположением контактов // Известия СПбГЭТУ «ЛЭТИ». 2017. № 4. C. 31–34.
  3. Грачёв В., Гладкевич А., Сорока Д., Тимасов Д., Елисеев М., Старков А. «Трассировка пучка треков» – инструмент для творчества // Современная электроника. 2025. № 9. C. 28–31.
© СТА-ПРЕСС, 2026

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

22.04.2026 37 0
Комментарии
Рекомендуем
Электронные системы диагностики, стимуляции и воздействия на человека на примере BAMH и управления –  на примере AE-Skin

Электронные системы диагностики, стимуляции и воздействия на человека на примере BAMH и управления – на примере AE-Skin

Путь будущих разработок в области современной электроники пролегает от визуального отображения окружающего пространства до тактильного. В этой связи представляют интерес система Bioinspired Adaptable Multiplanar mechano-vibrotactile Haptic (BAMH) – пневматически активируемый роботизированный электронный комплекс с интерфейсом из мягкого материала и система AE-Skin, обеспечивающая интерфейс между кожей человека и физическими поверхностями. Принцип её действия достаточно известен и заложен в управлении интерактивными экранами. В первой части статьи рассматриваются особенности новых разработок в области медицинской электроники и перспективы тактильного воздействия на кожу человека для лечения и изменения настроения. Во второй части представлен подробный разбор AE-Skin и примеры её совершенствования во всех сферах жизни человека: от управления посредством электронных тактильных датчиков миниатюрной формы до устройств на основе новых технологий, воспринимающих движения руками без прикосновения и без применения пироэлектрических детекторов, как управляющие сигналы для РЭА.
17.04.2026 СЭ №4/2026 90 0
Современные системы управления электроприводов:  структура и конструкция. Часть 1

Современные системы управления электроприводов: структура и конструкция. Часть 1

Статья посвящена системам управления электроприводов, которые в настоящее время являются основным средством приведения в движение рабочих машин и других технических устройств. Приводятся основные сведения об электроприводах и их системах управления, предназначенных для управления преобразователем электрической энергии и электродвигателем – главными составными частями электропривода. Рассматриваются различные варианты структуры и конструкции систем управления электроприводов. Приводится описание универсального микроконтроллерного блока управления БУПЧ, который является основой систем управления преобразователями частоты для электроприводов большой и сверхбольшой мощности концерна «Русэлпром».
16.04.2026 СЭ №4/2026 153 0

ООО «ИнСАТ»  ИНН 7734682230  erid = 2SDnjeHksEz
ООО «ИнСАТ»  ИНН 7734682230  erid = 2SDnjddDXPx
  Подписывайтесь на наш канал в Telegram и читайте новости раньше всех! Подписаться