Замена выводов, пар и компонентов в проекте
Краткий обзор
- Узнайте, чем отличаются перестановка выводов, перестановка дифференциальных пар и перестановка секций компонентов и в каких случаях применяется каждая из них.
- Посмотрите, как группы перестановки, группы выводов, группы секций, группы пар и идентификаторы последовательности определяют допустимые перестановки в проекте.
- Разберитесь, как Altium Designer учитывает принадлежность к цепям и использует оптимизацию для поддержки перестановок даже при частично разведённых цепях и сложной трассировке выхода из-под компонентов.
Возможность перестановки выводов компонентов в проекте может существенно упростить топологию платы и помочь сократить число слоев печатной платы (а значит, и ее стоимость). К сожалению, у инженера-тополога может не быть всей информации, необходимой для грамотной настройки перестановки выводов, поскольку он не всегда может в полной мере знать замысел разработчика. В идеале автор схемы должен также участвовать в настройке данных для перестановки выводов, чтобы точно учесть замысел и ограничения проекта.
Система перестановки выводов, дифференциальных пар и секций компонентов работает в тесной связке с возможностями интерактивной трассировки и трассировки выводов BGA в Altium Designer. Эта функция обеспечивает все преимущества традиционных систем перестановки выводов, используя при этом подробную информацию Altium Designer о назначении цепей в проекте. При перестановке выводов Altium Designer анализирует цепь, назначенную выбранному выводу, и динамически переназначает ее для этого вывода и всех подключенных к нему медных объектов.
Такая функциональность позволяет переставлять частично разведенные цепи и предварительно разведенные на нескольких слоях участки выхода из-под сложных BGA-компонентов. Также можно переставлять дифференциальные пары, используя сведения о дифференциальных парах выводов ПЛИС.
На уровне печатной платы система включает мощный автоматический оптимизатор, который использует эту информацию для динамического переназначения цепей с целью улучшения трассируемости. Например, система может переназначить соединения для нескольких компонентов, выводы которых уже разведены на нескольких слоях. При назначении учитываются совпадение слоев выхода трасс, кратчайшее манхэттенское расстояние трассировки и минимальное число пересечений на каждом слое.
Возможность перестановки частично разведенных цепей в сочетании с автоматическим оптимизатором позволяет применять иерархическую итерационную стратегию трассировки: сначала выполнять выход из-под компонентов, затем прокладывать трассы до границ заданной области и, наконец, соединять эти участки между собой. В любой момент можно повторно запустить автоматическую перестановку для новой оптимизации с учетом обновленной информации о частично разведенных цепях.
Существует три категории перестановки:
- Перестановка выводов
- Перестановка дифференциальных пар
- Перестановка секций компонента.
Настройка групп перестановки
Для каждой категории перестановки swap groups определяют, что можно и что нельзя переставлять внутри компонента. При перестановке выводов выводы компонента с одинаковым значением pin group можно менять местами друг с другом. Аналогично, при перестановке пар и секций значения pair group и part group определяют возможность перестановки дифференциальной пары или секции соответственно. Группы перестановки компонента настраиваются в диалоговом окне Configure Pin Swapping, показанном на рисунке ниже. Открыть его можно следующими способами:
- В документе печатной платы щелкните компонент правой кнопкой мыши и выберите Component Actions » Configure Pin/Part Swapping.
- В документе схемы щелкните компонент правой кнопкой мыши и выберите Part Actions » Configure Pin Swapping.
- В документе схемы нажмите кнопку Configure Component в нижней части диалогового окна Настройка информации о перестановке в компонентах (Tools » Configure Pin Swapping).
- В документе печатной платы нажмите кнопку Configure Component в нижней части диалогового окна Configure Swapping Information In Components (Tools » Pin/Part Swapping » Configure).
- Дважды щелкните любой из компонентов в диалоговом окне Configure Swapping Information In Components.
Параметры и элементы управления диалогового окна настройки перестановки выводов
Вкладка перестановки выводов
Вывод компонента можно поменять местами с другим выводом того же компонента, если они принадлежат к одной и той же pin group. Используйте эту вкладку диалогового окна для просмотра и организации групп выводов компонента.
- Pin Status — содержит Designator, Pin Name, Net, Bus, Type и Part No. для каждого вывода. Данные можно сгруппировать в соответствии с вашими предпочтениями или требованиями проекта, перетащив заголовки столбцов в область Drag a column header here to group by that column. Также можно изменить порядок столбцов, перетаскивая их заголовки по горизонтали.
- Swap Data — содержит информацию Pin Group для каждого переставляемого вывода. Дважды щелкните ячейку в столбце Pin Group , чтобы переименовать группу.
Контекстное меню
- Show/Hide Columns - используется для настройки видимости столбцов.
- Assign Pin-Swap Groups By — автоматически назначает группы перестановки выводов по Designator, Pin Name, Net, Bus, Type, Part No., Part Mode, or Pin Group. Чтобы назначить группы одновременно для нескольких выводов, выделите их перед щелчком правой кнопкой мыши.
- Add To Pin-Swap Group — используется для создания новых групп перестановки выводов или добавления выводов в существующие группы. Новым группам перестановки выводов автоматически присваиваются числовые имена (например, 1, 2, 3 и т. д.). Чтобы добавить сразу несколько выводов, выделите их перед щелчком правой кнопкой мыши.
- Remove From Pin-Swap Group — используется для удаления выбранных выводов из группы перестановки выводов. Чтобы удалить сразу несколько выводов, выделите их перед щелчком правой кнопкой мыши.
Вкладка перестановки дифференциальных пар

Вкладка Differential Pair Swapping
Перестановка дифференциальных пар определяется значением pair group для дифференциальной пары. Используйте эту вкладку диалогового окна для просмотра и организации групп пар компонента.
- Pin Status — содержит Designator, Pin Name, Net и Type для каждого вывода. Данные можно сгруппировать в соответствии с вашими предпочтениями или требованиями проекта, перетащив заголовки столбцов в область Drag a column header here to group by that column . Также можно изменить порядок столбцов, перетаскивая их заголовки по горизонтали.
- Swap Data — содержит информацию Pair Group для каждой переставляемой пары. Дважды щелкните ячейку в столбце Pair Group , чтобы переименовать группу.
Контекстное меню
- Show/Hide Columns - используется для настройки видимости столбцов.
- Add To Pair-Swap Group — используется для создания новых групп перестановки пар или добавления пар в существующие группы. Новым группам перестановки пар автоматически присваиваются числовые имена (например, 1, 2, 3 и т. д.). Чтобы добавить сразу несколько пар, выделите их перед щелчком правой кнопкой мыши.
- Remove From Pair-Swap Group — используется для удаления выбранных пар из группы перестановки пар. Чтобы удалить сразу несколько пар, выделите их перед щелчком правой кнопкой мыши.
Вкладка перестановки секций
Перестановка секций компонента настраивается с помощью атрибутов part group и sequence ID. Атрибут sequence ID определяет эквивалентность выводов переставляемых секций. Используйте эту вкладку диалогового окна для просмотра и организации групп секций компонентов.
-
Left region — содержит Sub Part и соответствующие Swap Data.
-
Right region — содержит информацию Pin Status и соответствующие Swap Data.
- Pin Status — содержит Designator, Pin Name, Net, Bus и Type для каждого вывода.
- Swap Data — содержит информацию Sequence ID для каждого вывода. Чтобы переименовать, дважды щелкните в столбце Sequence ID .
Контекстное меню
- Add To Part-Swap Group — используется для создания новых групп перестановки секций или добавления секций в существующие группы. Новым группам перестановки секций автоматически присваиваются числовые имена (например, 1, 2, 3 и т. д.). Можно добавить несколько секций одновременно, выделив их перед щелчком правой кнопкой мыши.
- Remove From Part-Swap Group — используется для удаления выбранных секций из группы перестановки секций. Можно удалить несколько секций одновременно, выделив их перед щелчком правой кнопкой мыши.
- Show/Hide Columns — используется для выбора столбцов, отображаемых на вкладке Pin Swapping диалогового окна.
- Assign/Remove Part Sequence Number — атрибут sequence ID определяет эквивалентность выводов взаимозаменяемых секций. Создавайте новые группы sequence ID или добавляйте секции в существующие. Можно одновременно добавить несколько секций в sequence ID или удалить их из группы, выделив их перед щелчком правой кнопкой мыши. Новым группам автоматически присваиваются числовые имена (например, 1, 2, 3 и т. д.). Чтобы переименовать группу, дважды щелкните в столбце Sequence ID .
Группы выводов
Вывод компонента можно поменять местами с другим выводом того же компонента, если они принадлежат одной группе pin group (имеют одинаковое значение pin group). pin group — это атрибут каждого вывода компонента, значением которого может быть любая буквенно-цифровая строка. pin groups для всего компонента задаются в диалоговом окне Настройка перестановки выводов.
Схема с компонентом, содержащим два пятивходовых логических элемента ИЛИ-НЕ с положительной логикой. Все входные выводы каждой секции логически эквивалентны, что создает идеальные условия для перестановки выводов.
Рассмотрим схему на изображении выше, содержащую два пятивходовых элемента ИЛИ-НЕ компонента SNJ54S260. Благодаря особенностям элемента ИЛИ-НЕ цепи INA0–INA4 можно менять местами друг с другом. Аналогично можно менять местами цепи INB0–INB4, однако цепь INAx нельзя поменять местами с цепью INBx.
Ограничения на перестановку для элемента ИЛИ-НЕ задаются в диалоговом окне Configure Pin Swapping. Если назначить цепям INAx группу перестановки 1, а цепям INBx — группу перестановки 2, система будет выполнять перестановки только с соблюдением логики компонента. Пустое значение Pin Group для вывода означает, что этот вывод недоступен для перестановки.
Группы секций и идентификаторы последовательности
Компоненты часто состоят из нескольких функционально эквивалентных секций. Перестановка секций позволяет менять местами цепи таких эквивалентных секций. Снова рассмотрим компонент на изображении выше. Оба элемента ИЛИ-НЕ выполняют одинаковую функцию, поэтому набор цепей (INA0, INA1, INA2, INA3, INA4, OUTA) можно поменять местами с набором цепей (INB0, INB1, INB2, INB3, INB4, OUTB).
Перестановка секций компонента настраивается с помощью атрибутов part group и sequence ID. Оба атрибута являются текстовыми и доступны на вкладке Part Swapping диалогового окна Настройка перестановки выводов, как показано ниже. На изображении ниже также показаны настройки part group и sequence ID для компонента с изображения выше. part group указывает, какие секции можно менять местами друг с другом. Поскольку эти две секции взаимозаменяемы, на изображении ниже их атрибутам part groups присвоено одинаковое значение 1.
Атрибут sequence ID определяет эквивалентность выводов взаимозаменяемых секций. В примере с элементом ИЛИ-НЕ важно, чтобы при перестановке секций входные выводы не менялись местами с выходными. На изображении ниже значения sequence ID заданы так, чтобы OUTA менялся местами с OUTB, INA0 — с INB0, INA1 — с INB1 и так далее.
Настройка групп перестановки секций в диалоговом окне «Настройка перестановки выводов» для компонента с двумя пятивходовыми элементами ИЛИ-НЕ.
Обратите внимание: перестановка секций доступна только для компонентов, спроектированных как набор секций, поскольку она основана на обмене всеми цепями между двумя секциями.
Группы пар
Перестановка дифференциальных пар определяется значением pair group для дифференциальной пары. Атрибут pair group доступен на вкладке Differential Pair Swapping диалогового окна Настройка перестановки выводов. На вкладке Differential Pair Swapping доступны три режима, которые можно выбрать в раскрывающемся списке в левом нижнем углу.
-
Show All Pins — система отображает все выводы компонента.
-
Show Pairs From Directives — система использует директивы дифференциальных пар, размещенные на схеме, для заполнения таблицы дифференциальных пар.
Настройка групп перестановки пар в диалоговом окне «Настройка перестановки выводов».
Управление способом выполнения перестановок на схеме
В редакторе печатных плат перестановка выводов, пар и секций выполняется путем обмена цепями, назначенными контактным площадкам компонентов и соответствующим медным проводникам. При переносе изменений на схему перестановку выводов можно выполнить двумя способами: поменять местами выводы на условном графическом обозначении компонента либо метки цепей на проводах, подключенных к выводам. У каждого подхода есть свои преимущества и недостатки.
Перестановка выводов на схеме возможна всегда, однако в результате конкретный экземпляр условного графического обозначения компонента может перестать соответствовать его определению в библиотеке. В этом случае обозначение нельзя будет обновить из библиотеки, а другие экземпляры того же компонента в проекте будут иметь иное расположение выводов. Поэтому такой подход идеально подходит для простых компонентов, например резисторных сборок.
Перестановку на схеме путем обмена метками цепей можно выполнить только в том случае, если соединения задаются метками цепей и выводы не соединены непосредственно проводами. Преимущество этого подхода в том, что условное графическое обозначение компонента не меняется и впоследствии может быть обновлено из библиотеки. Этот подход лучше всего подходит для сложных компонентов, например ПЛИС, у которых физическое перемещение двух выводов на обозначении может привести к некорректному отображению секций, сгруппированных по банкам ввода-вывода.
Способ выполнения перестановок можно задать, выбрав параметры Adding / Removing Net-Labels или Changing Schematic Pins в разделе Allow Pin Swapping Using these Methods диалогового окна Параметры проекта — Параметры, как показано ниже.
Эти параметры проекта определяют, как перестановки выводов отражаются в документах схемы.
Включение перестановки выводов, пар и секций на печатной плате
На уровне компонента параметры перестановки для конкретного компонента печатной платы настраиваются на панели Properties, которая отображает свойства этого компонента при его выборе в рабочей области проекта. Эти параметры находятся в области Swapping Options на вкладке General .
Параметры перестановки для компонентов печатной платы также можно задать в диалоговом окне Configure Swapping Information in Components , где перечислены все компоненты, используемые в проекте (или библиотеке), и их текущие настройки перестановки. При открытии из редактора печатных плат это диалоговое окно содержит дополнительный столбец Enable in PCB, позволяющий разрешить или запретить перестановку для каждого компонента на плате.
Диалоговое окно Configure Swapping Information in Components можно открыть из редактора схем, редактора библиотек схемных компонентов и редактора печатных плат следующими способами:
- Schematic Editor/Schematic Library Editor — выбрав команду Tools » Configure Pin Swapping в главном меню.
- PCB Editor — выбрав команду Tools » Pin/Part Swapping » Configure в главном меню.
Используйте диалоговое окно Configure Swapping Information in Components, чтобы быстро настроить перестановку для компонентов. В диалоговом окне предусмотрено контекстное меню с широкими возможностями, позволяющее быстро копировать настройки одного компонента в другой или разрешать и запрещать перестановку для нескольких компонентов одним щелчком.
Диалоговое окно Configure Swapping Information In Components .
Параметры и элементы управления диалогового окна настройки перестановки в компонентах
- Component Information — отображает всю соответствующую информацию о перечисленных компонентах: Designator, Comment, Footprint, Library Reference, Pins и Parts.
-
Configure in Schematic
-
Pin Swap Data — отображает количество выводов компонента, добавленных в группу перестановки выводов. Например, [3/2] означает, что 2 из 3 выводов добавлены в группу перестановки выводов. Значок
появляется, если компонент был изменён путём добавления выводов в группу перестановки выводов. Если компонент был изменён путём удаления выводов из группы перестановки выводов, появляется значок
.
-
Part Swap Data — отображает количество секций компонента, добавленных в группу перестановки секций. Например, [3/2] означает, что 2 из 3 секций добавлены в группу перестановки секций. Значок
появляется, если компонент был изменён путём добавления секций в группу перестановки секций. Если компонент был изменён путём удаления секций из группы перестановки секций, появляется значок
.
-
-
Enable in PCB
-
Pin Swap — установите или снимите флажок, чтобы разрешить или запретить перестановку выводов для каждого компонента. Изменение вступит в силу после нажатия OK и закрытия диалогового окна.
- Part Swap — установите или снимите флажок, чтобы разрешить или запретить перестановку секций для каждого компонента. Изменение вступит в силу после нажатия OK и закрытия диалогового окна.
-
- Configure Component — нажмите, чтобы открыть диалоговое окно настройки перестановки выводов и настроить параметры перестановки выводов и секций каждого компонента на плате.
- Only Show Components with Swap Information — установите флажок, чтобы отображать только компоненты, для которых настроена возможность перестановки выводов и/или секций.
Перестановка выводов, пар и секций
Интерактивная перестановка выводов, пар и секций
Интерактивная перестановка позволяет поочерёдно переставлять выводы, дифференциальные пары или секции в редакторе печатных плат. Команды интерактивной перестановки находятся в подменю Tools » Pin/Part Swapping (команды Interactive Pin/Net Swapping, Interactive Differential-Pair Swapping и Interactive Part Swapping). После выбора команды в меню все объекты в рабочей области печатной платы, кроме доступных для перестановки, маскируются (отображаются бледнее). Следите за Status Bar: там появляются подсказки о следующем действии. Шаги, необходимые для выполнения перестановки, отображаются в строке состояния:
-
На первом шаге выберите один из подсвеченных выводов, который станет исходным выводом для перестановки. При перестановке пар или секций будет переставлена дифференциальная пара или секция, к которой относится этот вывод.
-
На втором шаге выберите целевой вывод для перестановки. При перестановке пар или секций этот вывод представляет дифференциальную пару или секцию.
Этапы интерактивной перестановки секций компонента, содержащего два 5-входовых элемента ИЛИ-НЕ, показаны на двух изображениях ниже. Переставлять можно две секции, поэтому можно выбрать любой из пяти выводов каждой из них, как показано на изображении выше. Выбран вывод 8, соответствующий секции U2B. После этого система подсвечивает выводы секции U2A, доступные для перестановки.
Первое изображение, шаг 1 — выберите вывод для перестановки; доступные выводы будут подсвечены. Второе изображение, шаг 2 — выберите целевой вывод.
Автоматический оптимизатор выводов и цепей
Автоматический оптимизатор выводов и цепей — это двухэтапный инструмент. Выберите Tools » Pin/Part Swapping » Automatic Pin/Net Optimizer в меню редактора печатных плат, чтобы выполнить автоматическую оптимизацию.
Автоматический оптимизатор выводов и цепей сначала выполняет быструю однопроходную оптимизацию, пытаясь свести к минимуму число пересечений и длину соединений, однако в результате эти значения могут даже увеличиться. После завершения вам будет предложено запустить итерационный оптимизатор. Он выполняет несколько проходов, пытаясь уменьшить число пересечений и длину соединений.
Передача изменений обратно в схему
При настройке swap groups в диалоговом окне Configure Pin Swapping внесенные изменения сразу применяются к компонентам схемы независимо от того, какой редактор был активен при запуске команды. Однако изменения проекта, внесенные путем перестановки выводов, дифференциальных пар или секций компонентов в редакторе печатных плат, передаются обратно в схему с помощью стандартной процедуры Design Update.
Передача изменений с печатной платы в схему
Перестановки выводов, пар и секций передаются обратно в схему так же, как и другие изменения проекта — путем выбора Design » Update в меню. В зависимости от настройки параметров Allow Pin-Swapping в Project Options - Options dialog перестановки выводов выполняются следующим образом:
- Изменение имен выводов — это изменение переставляет выводы на символе. Фактически выводы на символе не перемещаются, но визуально будет казаться, что два вывода переместились или поменялись местами.
- Перенос выводов в другие цепи — это изменение меняет местами метки цепей на подключенных проводах.
- Изменение идентификатора секции — это изменение меняет индекс секции при перестановке секций компонента.
На первом изображении показано, как перестановка выводов отражается в схеме путем перестановки самих выводов. На втором изображении показано, как та же перестановка отражается путем перемещения меток цепей.
Если схема не обновилась и переставленные выводы или секции не отображаются, нажмите клавишу End, чтобы обновить отображение.
Использование преимуществ новой системы перестановки выводов и секций в проектах с ПЛИС
Помимо очевидных преимуществ интеллектуальной перестановки выводов, пар и секций, возможность переставлять частично разведенные участки цепей открывает новые возможности, идеально подходящие для работы с ПЛИС большой емкости. Динамическое переназначение цепей позволяет использовать многоэтапный процесс проектирования с постепенным уточнением назначений выводов и цепей.
Начальное назначение выводов ввода-вывода
На этом этапе цепи назначаются выводам ПЛИС и других устройств наиболее удобным для работы со схемой способом. Обычно для этого достаточно добавить к выводам ПЛИС метки цепей в порядке нумерации сигналов шины. Для этой задачи идеально подходит функция Smart Paste в редакторе схем.
Начальная оптимизация соединений
Проект можно перенести в редактор печатных плат, где из-за произвольного назначения цепей на уровне схемы будет много пересечений соединений. Запуск команды Tools » Pin/Part Swapping » Automatic Net/Pin Optimizer , которая использует сведения о выводах и цепях для динамического переназначения цепей и улучшения возможностей трассировки, позволит быстро и значительно уменьшить число пересечений. Например, система может переназначить соединения между несколькими BGA-компонентами, у которых уже выполнена трассировка выхода из-под корпуса на нескольких слоях документа печатной платы. На этом этапе результат не обязательно должен быть идеальным: основная цель — сделать соединения на плате более удобными для визуального анализа.
После запуска команды запускается автоматический оптимизатор выводов и цепей. Этот двухэтапный инструмент сначала выполняет быструю однопроходную оптимизацию, пытаясь свести к минимуму число пересечений и длину соединений, однако в результате эти значения могут даже увеличиться. После завершения вам будет предложено запустить итерационный оптимизатор. Он выполняет несколько проходов, пытаясь уменьшить число пересечений и длину соединений. Результаты оптимизации отображаются после завершения работы оптимизатора.
Трассировка выхода из-под корпуса
Теперь для крупных компонентов на плате можно выполнить веерную разводку и трассировку выхода из-под корпуса (щелкните компонент правой кнопкой мыши, чтобы выполнить эти операции выборочно). Это может ухудшить ранее оптимизированные назначения, но на данном этапе это не имеет значения.
Оптимизация соединений после трассировки выхода из-под корпуса
Снова запустите автоматический оптимизатор. На этот раз он будет учитывать уже разведенные участки веерной разводки и трассировки выхода из-под корпуса.
Ручная трассировка
Теперь концы трасс, выходящих из-под корпуса, можно рассматривать как «цели», к которым нужно вести трассировку. При этом можно игнорировать фактические линии соединений: трассировку можно вести от других концов цепей к ближайшей на плате трассе вывода ввода-вывода — с учетом расположения и слоя, — а не к трассе, принадлежащей той же цепи. Соединения при этом не будут совпадать. Вместо этого останется ряд небольших разрывов между трассами, выходящими от выводов ввода-вывода ПЛИС, и трассами, проложенными от других частей платы. На изображении ниже показан простой пример.
Окончательная оптимизация
Снова запустите автоматический оптимизатор, и он назначит разведенные участки цепей ближайшим доступным выводам ввода-вывода с уже выполненной трассировкой выхода из-под корпуса. В результате останется набор очень коротких соединений, которые нужно завершить. Для получения хорошего результата в этой ситуации автоматический оптимизатор использует специальные алгоритмы. Оставшиеся соединения теперь можно развести интерактивно или автоматически.
Ручная перестановка выводов
Используйте инструмент интерактивной перестановки, чтобы выполнить необходимые перестановки конкретных выводов.
Передача изменений обратно в схему
Когда вы будете готовы передать эти назначения выводов обратно в схему, рекомендуется отключить изменение выводов на символах схемы. Это связано с тем, что ПЛИС часто представлены в виде многосекционных компонентов, где каждый банк выводов является отдельной секцией на схеме. Перемещение выводов из одной секции в другую сделает эти символы логически некорректными, поскольку символ банка будет содержать выводы, не относящиеся к этому банку. В такой ситуации правильный подход — выполнять перестановку выводов путем изменения меток цепей.
Повторение по мере необходимости
Этот процесс можно повторять столько раз, сколько потребуется, на любом этапе проектирования.


).


