ESPNQB rankings for all 68 Power 4 teamsESPN DeportesGuardiola rompe su silencio tras cargos contra el Manchester CityInquirerRidon: Prosecution ready for whole-day impeachment trialPunchPolice issue flood alert to parents after Anambra school pupil’s deathThe Jerusalem PostAfter Flydubai incident: Should Israelis prefer flying blue-and-white?Il Sole 24 OreDecreto Pa, via libera del Senato: è legge. Dalle ferie alle assunzioni: cosa cambiaRolling Stone‘AEW Dynamite’ Livestream: Where to Watch the TBS Wrestling Broadcast Online FreeAntara NewsPresident calls for APBN 2027 to maximize public welfareNHK 社会天皇皇后両陛下 熊本地震の被災地訪れ 被災した人たちを見舞うABC News3 shot at workplace in Virginia, gunman at large: Police20 MinutenDas ist über den Flydubai-Copiloten bekanntRFI 中文视频 : 特朗普称人工智能行业可以自我监管
The Daily Newsstand · Free, Always
Wednesday, September 30, 2026

Контроль импеданса прямо в редакторе плат: как мы посчитали линии передачи на собственном 2D BEM-решателе

Translate

 (Delta Design профессиональная 4.2.2 + опция high speed на основе SimPCB)

Почему мы вообще за это взялись?

Если вы проектируете что-то с DDR, PCIe, USB 3.x или гигабитным Ethernet, ваш маршрут контроля импеданса, скорее всего, выглядит так. Сначала Polar Si9000 или Z-planner: подбираем стек, материал, ширину и зазор под целевые 50 и 100 Ом (или другое значение волнового сопротивления в зависимости от требований к интерфейсу). Полученные цифры переносим в САПР и трассируем. Потом, ближе к концу, выгружаем плату через ODB++ в HyperLynx или Sigrity и смотрим, что получилось на самом деле.

Проблема этого маршрута не в том, что он плохой — он рабочий и десятилетиями проверенный. Проблема в разрыве обратной связи. Калькулятор структур считает идеальное сечение: одна ширина, один зазор, один набор слоёв. Реальный проводник по дороге от передатчика к приёмнику меняет слой два-три раза, сужается у контактной площадки, проходит через переходные отверстия, местами расходится в дифпаре на обход препятствия. И всё это вы увидите только тогда, когда плата уже разведена и выгружена во внешний симулятор — то есть в момент, когда переделывать дороже всего.

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

Так появился мастер SimPCB. В релизе 4.2.2 он может выполнять два вида расчёта волнового сопротивления: без потерь и частотный анализ.

Что под капотом?

Решатель ー наш собственный, квазистатический, двумерный, основанный на методе граничных элементов (BEM).

Логика классическая для задач такого типа. Для каждого поперечного сечения линии решается электростатическая задача: находим матрицу погонных ёмкостей C с реальными диэлектриками стека, затем повторяем расчёт, заменив все диэлектрики вакуумом, и получаем C₀. Погонная индуктивность восстанавливается из второй задачи: L = μ₀ε₀·C₀⁻¹. Дальше всё стандартно:

Z₀   = √(L/C)

Tpd  = √(L·C)

Vp   = 1/√(L·C)

εeff = C/C₀

Почему граничные элементы, а не конечные элементы или сетка по объёму? У микрополосковой линии граница открытая — поле уходит в воздух над проводником. Объёмным методам приходится либо ставить искусственную стенку далеко от структуры и раздувать сетку, либо мириться с погрешностью от этой стенки. BEM дискретизирует только границы раздела (поверхности проводников и границы диэлектриков), неизвестных получается на порядок меньше, открытая граница учитывается естественно через ядро задачи. Для нашего сценария — сотни цепей и тысячи сегментов, которые надо пересчитывать на каждой итерации трассировки, — это решающий аргумент по скорости.

Квазистатическое приближение означает, что мы считаем распространение квази-TEM: поперечные размеры структуры малы по сравнению с длиной волны. Для типовых стеков печатных плат это честно работает до десятков гигагерц. Там, где это перестаёт выполняться — резонансы полостей, излучение, сложная трёхмерная геометрия, — нужен полноволновой 3D-решатель, и мы на эту территорию не заходим. Пока не заходим).

Что модель учитывает, а что нет?

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

Учитывается:

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

Не учитывается в 4.2.2:

Соседняя медь на том же слое. Отсюда прямое следствие: копланарные структуры (проводник с полигоном рядом на том же слое) сейчас не поддерживаются — для них расчёт даст импеданс изолированной линии, то есть завышенный. Если у вас копланар с боковой землёй, знайте об этом ограничении.

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

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

Переходные отверстия

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

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

Честное ограничение: в расчёте без потерь путь сигнала учитывается не на основе физических явлений, а на основе геометрических соотношений.

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

Два режима расчёта

Без потерь (UF)

Чистая LC-модель. Никакой частоты на входе, никаких потерь: на выходе Z₀ (или Zdiff, Zodd, Zcomm, Zeven для пар), погонные C и L и эффективная диэлектрическая проницаемость, плюс геометрия каждого сегмента.

Это рабочая лошадка для итераций трассировки. Вопрос, на который режим отвечает: попадает ли моя реальная разводка в целевые 50 и 100 Ом с заданным допуском (допуск на импеданс можно задать для любого интерфейса), и где именно не попадает. Считается быстро, запускать можно хоть после каждой правки стека.

Частотный анализ (FA)

Здесь решается уже полная задача с матрицей RLGC на частоте: появляются сопротивление проводника со скин-эффектом, проводимость диэлектрика. Импеданс (Z₀ и Zdiff) перестаёт быть константой и начинает плыть — особенно заметно на нижних частотах, где R сравнимо с ωL, и импеданс уходит вверх и становится комплексным.

Частоту можно задать двумя способами: напрямую (FREQ) или через фронт сигнала (TR), что инженеру обычно ближе, потому что фронт он знает из даташита или из IBIS-модели. Перевод сейчас идёт по формуле:

FREQ = 1 / (10 · TR)

При TR = 300 пс это даёт примерно 333 МГц, при TR = 100 пс — 1 ГГц.

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

Второе временное упрощение: коэффициент диэлектрических потерь сейчас фиксирован на типовом для FR-4 значении Df = 0,02, независимо от материала в стеке. Дальше он будет браться из библиотеки материалов. Практический вывод: пока не стоит полагаться на частотный расчёт для материалов с низким тангенсом потерь — на Megtron или Rogers цифра проводимости диэлектрика будет пессимистичной.

И сразу отвечу на вопрос, который в этом месте возникает: почему мы не выводим потери, если считаем R и G? Расчёт потерь выйдет отдельным видом анализа в следующем релизе.

Можно считать одну точку, а можно развёртку: задаёте минимум, максимум и шаг по TR или по FREQ и получаете семейство кривых по каждой цепи.

Как читать результаты?

Результат — две связанные таблицы.

Верхняя, «Объекты расчёта», — это уровень цепи: по каждой цепи, сигналу или дифпаре выводится либо диапазон (Z₀ от и до, ширина), либо сумма ( C, L, длина). Нижняя — разбор выбранного объекта на примитивы: сегменты трассы, переходные отверстия и, для дифпар, отдельно застёгнутые и расстёгнутые участки. Там уже конкретные значения с координатами (Рис.1).

Цвет строки в верхней таблице берётся по наихудшему примитиву цепи. Зелёный — попали в допуск (по умолчанию ±10% от целевого), жёлтый — в отклонение (±20%), красный — вышли за него (пороговые значения настраиваются). Тут стоит сразу дать практический совет: первые прогоны на плотной плате будут пестрить красным из-за коротких участков — сужений у контактных площадок и фанаута. Смотрите на нижнюю таблицу и на длину сегмента: участок в треть миллиметра с импедансом 70 Ом на фоне 60-миллиметровой трассы физически безразличен, а строку он покрасит (Рис.2).

Рис.2. Задание входных цепей и пороговых ограничений

Рис.2. Задание входных цепей и пороговых ограничений

Обратная связь с редактором работает в обе стороны: при включённой подсветке все посчитанные объекты окрашиваются на плате по той же градации, остальная плата приглушается, а клик по строке в таблице зумит и выделяет нужный сегмент. Именно эта связка и есть весь смысл встроенного расчёта — вы видите не список чисел, а место на плате.

Для дифпар доступны оба режима — дифференциальный (Zdiff, Zodd) и общий (Zcomm, Zeven). Напомню соотношения, чтобы не было классической путаницы: Zdiff = 2·Zodd, Zcomm = Zeven/2. На расстёгнутых участках, где связь между проводниками потеряна, Zodd и Zeven сходятся к Z₀ одиночного проводника — по таблице сегментов это хорошо видно, и это, пожалуй, самый наглядный способ объяснить топологу, почему пару нельзя разводить «как получится» (Рис.3).

Рис.3. Результат анализа дифф. пары

Рис.3. Результат анализа дифф. пары

Расчёты сохраняются в дереве проекта отдельными файлами: можно держать несколько вариантов, возвращаться к ним, добавлять цепи в существующий расчёт (Рис.4).

Рис. 4. Панель «Проекты» с сохраненным результатом анализа

Рис. 4. Панель «Проекты» с сохраненным результатом анализа

Практика: смотрим на реальной плате

Для примера в интерфейсе DDR есть цепь MDDR_DQ2, которая должна быть с волновым сопротивлением 50 Ом (±10%). Есть несколько сегментов данной цепи, которые не соответствуют требованию и фактически равны 40 Ом (Рис.5). 

Рис.5. Пример цепи с несогласованным волновым сопротивлением

Рис.5. Пример цепи с несогласованным волновым сопротивлением

После изменения ширины проводника с 0,2 мм на 0,12 мм (Рис.6) запустим заново моделирование в мастере Анализа целостности сигнала (Рис.7). Практически вся цепь соответствует данному ограничению (50 Ом ±10%), кроме переходных отверстий и небольших фанаутов, соединяющих вывод компонента и переходное отверстие .  

Рис.6. Изменение ширины цепи через панель «Свойства»

Рис.6. Изменение ширины цепи через панель «Свойства»

Рис. 7. Конечный результат после повторного запуска анализа волнового сопротивления

Рис. 7. Конечный результат после повторного запуска анализа волнового сопротивления

Сверка в SimPCB Lite и Ansys

Мы верифицировали решатель по внутренней методике: одни и те же структуры считались нашим BEM-решателем в SimPCB и в Ansys. Результаты сравнивались по первичным RLCG и вторичным Zo и Zdiff параметрам.

Где мы честно не конкуренты?

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

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

Отдельно про Cadence: в Allegro похожий встроенный мастер Analysis Workflows есть, и он развит лучше нашего по числу маршрутов, но переходные отверстия в его расчёте не учитываются. Во встроенных калькуляторах Altium и Mentor расчёт волнового сопротивления живёт на уровне стека, а не на уровне реальной топологии, и для учёта разводки всё равно нужен внешний софт. 

Что дальше?

До конца года мы рассчитываем выпустить временной анализ (оценка формы сигнала), расчёт задержек, расчёт потерь как отдельный вид анализа с учетом шероховатости и реальных характеристик материалов (с учетом коэффициента диэлектрических потерь) и расчёт по постоянному току — то есть начало работ по целостности питания. Плюс те доработки, о которых написано выше: настраиваемый коэффициент перевода фронта в частоту, Df из библиотеки материалов, импеданс отверстия с учётом пути сигнала.

Вопрос к вам

Мы строим дальнейший план по модулю SimPCB, и нам важно услышать практиков, а не только собственные гипотезы.

Первое: какие виды расчётов вам нужны в первую очередь? Потери, перекрёстные помехи, временной анализ с глазковой диаграммой, поддержка IBIS-моделей или достаточно задать сигнал через форму сигнала на первом этапе, целостность питания по постоянному току, что-то ещё?

Второе: какие форматы импорта и экспорта критичны? Мы всерьез рассматриваем экспорт S-параметров в Touchstone (.s2p/.s4p), чтобы результат можно было утащить в свой симулятор. Что ещё должно быть в этом списке — csv для скриптов, импорт в html, что-то из вашего маршрута?

И третье, более общее: на каком шаге вашего реального маршрута встроенный расчёт был бы полезнее всего — при подборе стека, в процессе трассировки, на финальной проверке перед выпуском? 

View the original on Хабр →

KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.