Главная страница: Работа между схемой и платой
При передаче проекта из схемы в плату первый раз или при внесении изменений в существующий проект на схеме или на плате, необходимо поддерживать синхронизацию этих двух областей проектирования. Altium NEXUS включает в себя эффективные инструменты синхронизации данных, которые упрощают задачу поддержки синхронизации, что позволяет проектировщику сосредоточиться на творческой составляющей процесса проектирования.
Процесс синхронизации находит и обрабатывает различия схемы и платы.
Синхронизация проекта осуществляется непосредственно между редакторами схем и плат. Система использует модуль сравнения (компаратор), чтобы сравнивать все аспекты проекта и выводить список различий. Проектировщик решает, какую сторону следует изменить, чтобы устранить различия, после чего происходит формирование списка запросов на инженерные изменения (Engineering Change Order, ECO). После применения этих запросов, две стороны проекта становятся синхронизированными.
Существует два подхода к проведению синхронизации:
- Двунаправленная синхронизация, где изменения могут быть внесены одновременно в оба направления, выполняемая с помощью команды Project » Show Differences (как показано выше). Перейдите в раздел Поиск различий, чтобы узнать больше об этом подходе.
- Однонаправленная синхронизация, выполняемая с помощью команд Design » Update PCB и Design » Update Schematic. Перейдите в раздел Проведение непосредственного обновления, чтобы узнать больше об этом подходе.
Что может быть синхронизировано?
Процесс синхронизации обеспечивает соответствие данных о компонентах и связях на схеме и на плате. Помимо этого, процесс обеспечивает синхронизацию прочих ограничений проекта, таких как классы цепей, классы компонентов и правила проектирования.
Добавление настоящих компонентов в редактор плат, реализованное в Altium NEXUS 20.0, означает, что компонент на плате теперь включает в себя всю информацию об этом компоненте. Таким образом, в Altium NEXUS 20.0 при первой синхронизации проекта, созданного в более ранних версиях, в компоненты на плате будет добавлена вся информация о компонентах, которая не поддерживалась ранее.
Настройка опций компаратора
Страница диалогового окна: Options for PCB Project, вкладка Comparator
Настройка того, что именно сравнивается на схеме и на плате, осуществляется на вкладке Comparator диалогового окна Options for PCB Project. Выберите команду Project » Project Options, чтобы открыть диалоговое окно.
![Компаратор следует настройкам, заданным на вкладке Comparator диалогового окна Options for Project. Компаратор следует настройкам, заданным на вкладке Comparator диалогового окна Options for Project.](/documentation/sites/default/files/wiki_attachments/297937/Options_Comparator_AD20.png)
Компаратор следует настройкам, заданным на вкладке Comparator диалогового окна Options for Project.
Основная область диалогового окна включает в себя обширный список типов сравнений, таких как Different Designators (Различные позиционные обозначения) и Changed Net Name (Измененное имя цепи), которые разбиты на пять категорий. Столбец Mode справа включает в себя выпадающее меню для каждого типа, где вы можете выбрать режим сравнения, такой как Find Differences
(Искать различия) или Ignore Differences
(Игнорировать различия). У сравнений текстового типа существует третий вариант, который позволяет проводить сравнение без учета регистра.
В новом проекте по умолчанию задан поиск различий всех типов. Настройте опции необходимым для вашего проекта образом.
- При синхронизации из схемы в плату могут быть синхронизированы все аспекты, касающиеся платы.
- При синхронизации из платы в схему могут быть синхронизированы только изменения позиционных обозначений компонентов, комментариев и посадочных мест. Единственными изменениями цепи, которые могут быть синхронизированы, являются изменения, выполненные при эквивалентной замене выводов или секций – как это будет выполнено, зависит от настроек эквивалентной замены выводов/секций. Чтобы узнать больше, перейдите на страницу Эквивалентная замена выводов и секций.
В нижней части диалогового окна находятся настройки Object Matching Criteria (Критерии сопоставления объектов). Сопоставление является сложным многопроходным процессом, который не исходит от простого точного соответствия строк. Чтобы узнать больше, перейдите в раздел Сопоставление цепей и классов.
Обратите внимание, что опция Ignore Rules Defined in the PCB Only (Игнорировать правила, определенные только в плате) в нижней части диалогового окна позволяет исключить из процесса сравнения правила, которые вы определили в плате.
Синхронизация классов цепей и компонентов
Страница диалогового окна: Options for PCB Project, вкладка Class Generation
Помимо данных о компонентах и связях, вы также можете формировать и синхронизировать классы и правила проектирования при выполнении команды Design » Update PCB. Существует два типа классов, которые могут быть сформированы из схемы и синхронизированы с платой:
- Автоматические классы – происходят из шин/жгутов, компонентов и содержимого листов.
- Определенные пользователем классы – происходят из директив, размещенных проектировщиком.
Настройка формирование этих классов осуществляется на вкладке Class Generation диалогового окна Options for Project (синхронизация управляется опциями на вкладке Comparator).
![Используйте опции на вкладке Class Generation для настройки формирования автоматических и пользовательских классов в процессе синхронизации. Используйте опции на вкладке Class Generation для настройки формирования автоматических и пользовательских классов в процессе синхронизации.](/documentation/sites/default/files/wiki_attachments/297937/Options_Classgeneration_AD20.png)
Используйте опции на вкладке Class Generation для настройки формирования автоматических и пользовательских классов в процессе синхронизации.
Автоматически формируемые классы цепей
Классы цепей формируются автоматически для следующих групп цепей:
-
Generate Net Classes for Buses (Формировать классы цепей для шин) – включите эту опцию, чтобы автоматически формировать класс цепей для каждой шины в проекте. Элементами класса будут отдельные цепи, входящие в шину, для которой этот класс формируется.
Сформированный класс цепей будет назван в соответствии с шиной.
-
Generate Net Classes for Components (Формировать классы цепей для компонентов) – включите эту опцию, чтобы автоматически формировать класс цепей для каждого компонента в проекте. Элементами класса будут цепи, связанные с выводами компонента, для которого этот класс формируется.
Сформированный класс цепей будет назван в соответствии с позиционным обозначением компонента в формате <ПозиционноеОбозначениеКомпонента>_Nets
.
- Generate Separate Net Classes for Bus Sections (Формировать отдельные классы цепей для секций шин) – включите эту опцию, чтобы автоматически формировать отдельный класс цепей для каждой секции шины. Секция шины определяется шиной, которая является частью шины более широкого диапазона, например, шина
D[15..8]
является частью шины D[15..0]
.
-
Generate Net Classes for Named Signal Harnesses (Формировать классы цепей для именованных сигнальных жгутов) – включите эту опцию, чтобы автоматически формировать класс цепей для каждого именованного сигнального жгута в проекте. Элементами класса будут цепи, связанные с сигналами, объединенными именованным сигнальным жгутом, для которого этот класс формируется.
Именованным сигнальным жгутом является тот, на котором размещена метка цепи. Сформированный класс цепей будет назван в соответствии с меткой цепи, размещенной на сигнальном жгуте.
- Таблица формирования классов на уровне листов – в этом разделе вы можете управлять автоматическим формированием компонентов и/или классов цепей на уровне отдельных схемных листов. Здесь приведены все исходные листы схем со следующей информацией о них:
- Sheet Name (Имя листа) – имя документа схемы.
- Full Path (Полный путь) – абсолютный путь к папке, в которой находится документ.
- Component Classes (Классы компонентов) – включите эту опцию, чтобы для этого листа был сформирован класс компонентов.
- Net Classes Scope (Область действия классов цепей) – используйте это поле, чтобы определить, будет ли сформирован класс цепей для этого листа, и если да, то чтобы задать область действия формирования. Выпадающий список этого поля предлагает следующие варианты выбора:
None
(Нет) – не формировать класс цепей для этого листа.
Local Nets Only
(Только локальные цепи) – формировать для этого листа класс цепей, но включающий в себя только цепи, локальные для листа.
All Nets
(Все цепи) – формировать для этого листа класс цепей, включающий в себя все цепи листа (как локальные, так и те, которые идут за пределы листа).
- Structure Classes Generate Structure (Формировать структурный класс) – включите эту опцию, чтобы формировать для этого листа структурный класс.
Включите/отключите формирование классов компонентов или задайте область действия формирования классов цепей сразу для множества листов с помощью контекстного меню столбца. Множество строк можно выделить с помощью стандартных сочетаний клавиш (Ctrl+ЛКМ, Shift+ЛКМ, перетаскивание с зажатой ЛКМ).
Класс компонентов и/или цепей листа верхнего уровня будет назван так же, как и документ схемы. Класс компонентов и/или цепей дочернего листа будет назван в соответствии с обозначением символа листа.
Текст в нижней части раздела динамически меняется в зависимости от задаваемых настроек. В этом тексте приведена сводка о том, какие классы будут сформированы автмоатически.
Автоматически формируемые классы компонентов
Схемы зачастую разбиваются на множество листов, каждый из которых представляет логический блок целого проекта. Для каждого листа схемы проекта вы можете автоматически сформировать класс компонентов, который содержит все компоненты на этом листе, включив соответствующий флажок Component Class. Класс компонентов на плате будет назван в соответствии с обозначением (Designator) символа листа, который ссылается на этот лист схемы. Класс компонентов не будет создан, если лист не содержит компонентов.
Автоматически формируемые комнаты
Комната (Room) – это объект-примитив полигональной формы, который помогает в размещении компонентов. Комнаты создаются автоматически для каждого листа схемы, у которого включен флажок Generate Rooms. В плате каждая комната определяется как правило проектирования с областью действия InComponentClass('<ОбозначениеСимволаЛиста>')
. Комната не будет создана, если лист не содержит компонентов. При первой передаче схемы в плату, компоненты каждого класса располагаются в ряд, после чего вокруг компонентов класса создается комната, как показано ниже.
![Плата после первой синхронизации проекта – для каждого листа была создана комната, и каждой из них был назначен соответствующий листу класс компонентов. Плата после первой синхронизации проекта – для каждого листа была создана комната, и каждой из них был назначен соответствующий листу класс компонентов.](/documentation/sites/default/files/wiki_attachments/301003/Sync_Rooms.png)
Плата после первой синхронизации проекта – для каждого листа была создана комната, и каждой из них был назначен соответствующий листу класс компонентов.
Автоматически формируемые структурные классы
Структурный класс может содержать в качестве своих элементов классы цепей, классы компонентов и структурные классы более низкого уровня иерархии. Структурный класс создается для каждого листа, у которого включена соответствующая опция, и он будет включать в себя классы компонентов и цепей на уровне листа, если эти опции включены для этого листа. Измените структурный класс в редакторе плат, добавив в него другие классы цепей, классы компонентов, структурные классы. Используйте режим Structure Classes панели PCB, чтобы найти компоненты и цепи в определенном структурном классе.
Создание пользовательских классов
Вы также можете создавать пользовательские классы компонентов и цепей путем добавления параметра соответствующему компоненту или цепи. Классы компонентов и цепей в плате будет создан, если на вкладке Class Generation диалогового окна Options for Project включены соответствующие флажки User-Defined Classes.
Пользовательские классы цепей
Страница объекта: Parameter Set
Чтобы добавить цепь (или цепи в шине или в сигнальном жгуте) в класс цепей на плате, необходимо присвоить параметр этой цепи/шине/жгуту. Для этого разместите объект Parameter Set на цепи/шине/жгуте, как показано на изображении ниже (команда Place » Directives » Parameter Set).
В разделе Classes панели Properties введите имя класса цепей, как показано на изображении ниже.
Можно разместить множество объектов Parameter Set в различных местах схемы, чтобы добавить множество отдельных цепей в один класс.
![Чтобы добавить цепь к класс цепей на плате, присоедините объект Parameter Set к цепи на схеме, затем добавьте определение класса в объект Parameter Set. Чтобы добавить цепь к класс цепей на плате, присоедините объект Parameter Set к цепи на схеме, затем добавьте определение класса в объект Parameter Set.](/documentation/sites/default/files/wiki_attachments/301003/Net_Class_Power_Parameterset_AD20_0.png)
Чтобы добавить цепь к класс цепей на плате, присоедините объект Parameter Set к цепи на схеме, затем добавьте определение класса в объект Parameter Set.
Пользовательские классы компонентов
В редакторе схем вы можете указать, чтобы компонент был добавлен в класс компонентов при синхронизации схемы с платой.
Для этого добавьте компоненту параметр с именем ClassName
и нужным названием класса в качестве значением
Использование объекта Blanket для применения директивы ко множеству цепей
Страница объекта: Blanket
Вы также можете добавить множество цепей в класс цепей на плате путем размещения директивы Blanket, которая охватывает все эти цепи. Назначением объекта Blanket является то, что вы можете применить директиву ко всем находящимся под объектом Blanket цепям (опознаваемым по идентификатору цепи, такому как Net Label или Power Port, который находится под объектом Blanket, либо те цепи, конечная вершина которых находится внутри Blanket).
Вместо того, чтобы размещать директиву Parameter Set таким образом, чтобы она касалась провода, вы размещаете ее, чтобы она касалась края объекта Blanket, как показано на изображении ниже. Обратите внимание, что именно значение параметра в объекте Parameter Set определяет имя класса цепи на плате, а не отображаемое имя объекта Parameter Set. В примере на изображении ниже, объект Parameter Set также используется для определения правила проектирования для ширины трассировки.
![Использование директивы Blanket для группирования всех цепей под ней в класс цепей с именем Power. Обратите внимание, что имя объекта Parameter Set используется не для именования класса, а лишь для наглядного представления объекта. Использование директивы Blanket для группирования всех цепей под ней в класс цепей с именем Power. Обратите внимание, что имя объекта Parameter Set используется не для именования класса, а лишь для наглядного представления объекта.](/documentation/sites/default/files/wiki_attachments/301003/Net_Class_Power_ParameterSet_AD20.png)
Использование директивы Blanket для группирования всех цепей под ней в класс цепей с именем Power. Обратите внимание, что имя объекта Parameter Set используется не для именования класса, а лишь для наглядного представления объекта.
Компонент/цепь может принадлежать множеству классов компонентов/цепей в плате.
Синхронизация правил проектирования
Правила проектирования могут быть определены на схеме в помощью объекта Parameter Set. Когда объект Parameter Set выделен, в панели или в диалоговом окне Properties будет отображен раздел Rules. Щелкните ЛКМ по выпадающему списку Add, чтобы добавить правило проектирования. Правило будет применено к цепи / шине / жгуту / объектам под Blanket, которого касается объект Parameter Set.
На изображении ниже правило проектирования для ширины трасс было применено к классу цепей USB_data
(класс цепей также определен в объекте Parameter Set, в разделе Classes выпадающего списка Parameters).
![Объект Parameter Set используется для определения класса цепей и правила проектирования для цепей, которые находятся под объектом Blanket. Обратите внимание, что требуемые единицы измерения настраиваются в нижней части диалогового окна Edit PCB Rule. Объект Parameter Set используется для определения класса цепей и правила проектирования для цепей, которые находятся под объектом Blanket. Обратите внимание, что требуемые единицы измерения настраиваются в нижней части диалогового окна Edit PCB Rule.](/documentation/sites/default/files/wiki_attachments/301003/USB_data_Parameter_Set_AD20_0.png)
Объект Parameter Set используется для определения класса цепей и правила проектирования для цепей, которые находятся под объектом Blanket. Обратите внимание, что требуемые единицы измерения настраиваются в нижней части диалогового окна Edit PCB Rule.
Добавление правила проектирования на схему
- Присоедините объект Parameter Set к цепи / шине / жгуту / объекту Blanket (добавьте определение класса цепей в Parameter Set, если необходимо).
- Нажмите Add, чтобы добавить определение правила в Parameter Set. Будет открыто диалоговое окно Choose Design Rule Type, как показано выше.
- Выберите необходимый тип правила (Rule Type).
- Нажмите кнопку OK, чтобы открыть диалоговое окно Edit PCB Rule.
- Настройте ограничения правила необходимым образом. Обратите внимание, чтобы выбор необходимых для правила единиц измерения осуществляется в нижней части диалогового окна.
На вкладке Comparator диалогового окна Options for Project убедитесь, что включены необходимые сравнения правил, чтобы правила проектирования могли добавляться и обновляться в плате.
Каждое правило проектирования, которое создается из схемы, автоматически называется Schematic <ТипПравила>
. Если необходимо, это имя может быть изменено, поскольку имя не используется для синхронизации правила.
На изображениях выше и ниже правило проектирования определяется в объекте Parameter Set, который присоединен к объекту Blanket. При включении в объект Parameter Set определения класса также будет создан класс цепей, и при наличии определения класса областью действия правила проектирования в плате будет InNetClass('
<ИмяКлассаЦепей
>')
.
Вы можете обратить внимание, что на изображении ниже объект Parameter Set отображается как директива Differential Pair. Это специальный тип объекта Parameter Set, размещенный с помощью команды Place » Directives » Differential Pair.
![Директива Differential Pair используется для определения класса цепей и правила проектирования, которое впоследствии будет применено к целевым дифференциальным парам. Директива Differential Pair используется для определения класса цепей и правила проектирования, которое впоследствии будет применено к целевым дифференциальным парам.](/documentation/sites/default/files/wiki_attachments/301003/Diff_Pair_Class_AD20.png)
Директива Differential Pair используется для определения класса цепей и правила проектирования, которое впоследствии будет применено к целевым дифференциальным парам.
Работа с дифференциальными парами
Директива Differential Pair используется для обозначения цепей, которые принадлежат дифференциальной паре. Системе необходимо, чтобы цепи в паре были названы <Имя>_P
и <Имя>_N
. Дифференциальная пара в плате будет тогда названа <Имя>
.
Пары могут быть определены путем размещения директивы Differential Pair на каждом элементе дифференциальной пары, либо можно разместить объект Blanket, который охватывает имена цепей пары, как на изображении выше.
В примере на изображении выше, согласно объекту Parameter Set для дифференциальных пар будут созданы:
- Восемь дифференциальных пар под названием
V_RX0
, V_TX0
, V_RX1
, V_TX1
, RX0
, TX0
, RX1
, TX1
.
- Класс цепей платы под названием
ROCKET_IO_LINES
.
- Правило проектирования
Differential Pairs Routing
, целевой областью которого является класс цепей платы ROCKET_IO_LINES
.
Настройка опций формирования ECO
Диалоговое окно Options for Project также включает в себя вкладку ECO Generation. На этой вкладке вы можете определить, для каких изменений проекта необходимо формировать ECO. Как правило, все эти опции включены, а для настройки того, какие проектные изменения необходимо синхронизировать между схемой и платой, используется вкладка Comparator диалогового окна.
![Вкладка ECO Generation определяет, для изменений каких типов необходимо создавать ECO. Вкладка ECO Generation определяет, для изменений каких типов необходимо создавать ECO.](/documentation/sites/default/files/wiki_attachments/301003/Options_ECO_AD20.png)
Вкладка ECO Generation определяет, для изменений каких типов необходимо создавать ECO.
Поиск различий
Функциональные возможности синхронизации проекта могут находить и устранять различия в обоих направлениях, т.е. из схему в плату и из платы обратно в схему.
Существует два подхода к поиску и устранению различий:
- Определение направления каждого изменения.
- Применение всех обновлений в одном направлении.
Если нет необходимости в применении изменений одновременно в обоих направлениях, то вам не нужно выбирать документы для сравнения и настраивать направления обновлений для устранения различий. В этом случае, вы можете перейти в раздел Проведение непосредственного обновления.
Система способна устранять различия путем применения изменений одновременно в обоих направлениях. Например, представьте ситуацию, где разработчик изменил номинал конденсатора, а конструктор изменил посадочное место этого же конденсатора. Эти два различия можно устранить за одно обновление путем изменения номинала при обновлении платы из схемы и изменения посадочного места при обновлении схемы из платы.
Когда компаратор сравнивает схему и плату, формируется полный перечень различий – на этом этапе еще не задано, в какую сторону необходимо внести изменения, чтобы синхронизировать проект.
Перечень различий отображается в диалоговом окне Differences between. Чтобы открыть диалоговое окно Difference between и увидеть перечень различий:
- Запустите команду Project » Show Differences, чтобы открыть диалоговое окно Choose Documents to Compare, как показано на изображении ниже. Диалоговое окно Choose Documents to Compare используется для выбора того, какие документы/наборы документов будут сравниваться – как правило, это листы схем и плата. Вы можете использовать это диалоговое окно для сравнения любых документов, поставив флажок Advanced Mode. Например, вы можете сравнить список цепей с платой или одну плату с другой.
![Выберите плату для сравнения с документами схемы. Выберите плату для сравнения с документами схемы.](/documentation/sites/default/files/wiki_attachments/301003/Dlg_ChooseDocumentsToCompare_AD18_0.png)
Выберите плату для сравнения с документами схемы.
- Выберите плату в основной части диалогового окна и нажмите OK, чтобы открыть диалоговое окно Difference between, как показано ниже.
Будет открыто диалоговое окно Differences between. Следующим шагом необходимо выбрать направление обновления для каждого изменения:
- Для отдельного различия щелкните ЛКМ в столбце Update, чтобы отобразить селектор направления, как показано на изображении ниже.
- Для множества различий одного типа щелкните ПКМ по заголовку, например Different Footprints, и выберите нужную команду Update Same Kind.
- Для всех различий щелкните ПКМ в любом месте диалогового окна и выберите нужную команду Update All.
![Для каждого различия необходимо задать направление обновления, чтобы было создано соответствующее ECO для устранения этого различия. Для каждого различия необходимо задать направление обновления, чтобы было создано соответствующее ECO для устранения этого различия.](/documentation/sites/default/files/wiki_attachments/301003/Dlg_DifferencesBetween_SetDirection_AD18_0.png)
Для каждого различия необходимо задать направление обновления, чтобы было создано соответствующее ECO для устранения этого различия.
После того, как направление обновления определено, нажмите кнопку Create Engineering Change Order, чтобы открыть диалоговое окно Engineering Change Order, которое описано ниже.
Проведение непосредственного обновления
Поскольку проектировщик, как правило, знает, каким образом ему нужно применить обновления, и все эти обновления направлены в одну сторону, есть возможность пропустить поиск различий и определение направлений, как это было описано только что.
Вместо команды Show Differences из меню Project вы можете выбрать команду Update из меню Design редактора схем или редактора плат. Редактор, из которого вы запускаете команду, определяет направление, в котором вы хотите провести изменения – из этого редактора в тот редактор. Например, вы можете выбрать команду Design » Update в редакторе схем, чтобы применить все изменения из схемы в плату.
Диалоговое окно Differences between будет пропущено, и вы перейдете сразу к диалоговому окну Engineering Change Order.
Если все изменения следует применить в одном направлении, используйте команду Design » Update.
Устранение различий – Применение ECO
Страница диалогового окна: Engineering Change Order
Устранение различий происходит путем применения запросов на инженерные изменения (Engineering Change Order, ECO). Список ECO приводится в диалоговом окне Engineering Change Order, где каждое ECO отображается в отдельной строке, с собственным флажком Enable.
При использовании диалогового окна Engineering Change Order:
- В открытом диалоговом окне будут включены все изменения. Отключите те изменения, которые вы хотите пока отложить. В диалоговом окне поддерживается множественный выбор – используйте контекстное меню для переключения состояния выделенных ECO.
- Используйте команду Cross Probe для проверки объектов, на которые влияет данное ECO.
- Используйте кнопку Validate Changes, чтобы проверить, какие изменения могут быть выполнены. ECO, как правило, не проходит валидацию из-за недоступности объекта – например, если указанного посадочного места нет в доступных файловых библиотеках или указанной контактной площадки нет в посадочном месте.
- Также ECO может не пройти валидацию, если объект, необходимый для определенного ECO, не присутствует, но был добавлен в процессе обработки текущего перечня ECO. В этом случае, запустите команду Update повторно, чтобы применить это ECO.
![Для каждого проектного изменения формируется ECO. Включите те ECO, которые необходимы. Для каждого проектного изменения формируется ECO. Включите те ECO, которые необходимы.](/documentation/sites/default/files/wiki_attachments/301003/Dlg_Eco_Update_AD18_0.png)
Для каждого проектного изменения формируется ECO. Включите те ECO, которые необходимы.
Диалоговое окно ECO поддерживает множественный выбор. Щелкните ПКМ в диалоговом окне, чтобы получить доступ к командам для включения и отключения выделенных ECO (Enable Selected и Disable Selected) или для перекрестного перехода к объектам, на которые влияет данное ECO (Cross Probe).
Понимание связности между схемой и платой
Сопоставление компонентов с помощью уникальных идентификаторов
Каждый компонент на схеме связан с соответствующим компонентом на плате посредством уникального идентификатора (Unique Identifier, UID). Идентификатор UID присваивается схемному компоненту при его размещении на листе, и это значение передается в компонент на плате при передаче проекта в редактор плат.
Такой способ подходит для простых проектов, но он не применим для многоканальных проектов. В таких проектах, один схемный компонент повторяется в каждом физическом канале, что означало бы, что у повторяемых компонентов на плате был бы один идентификатор UID. В этом случае, идентификатор UID компонента на плате формируется путем сочетания UID родительского объекта Sheet Symbol c UID схемного компонента. Синтаксис UID платы может быть различным, в зависимости от того, как многоканальный проект был создан.
Для многоканальных проектов, созданных путем размещения множества объектов Sheet Symbol, которые все ссылаются на один лист схемы, каждый объект Sheet Symbol имеет уникальный ID, и UID компонента на плате будет иметь формат:
\UIDОбъектаSheetSymbol\UIDСхемногоКомпонента
Для многоканального проекта, созданного с помощью ключевого слова Repeat, доступен только один UID объекта Sheet Symbol, поэтому UID компонента на плате будет также включать в себя индекс канала, в формате:
\ИндексКанала+UIDОбъектаSheetSymbol\UIDСхемногоКомпонента
Идентификаторы UID не отображаются в панелях или диалоговых окнах.
Когда компоненты не связаны
Преимуществом использования идентификаторов UID для сопоставления компонентов на схеме и на плате является то, что позиционные обозначения могут быть несинхронизированными (например, из-за многократного повторного аннотирования платы) без риска того, что несинхронизированными станут схема и плата.
Если компонент присутствует на схеме или на плате, и в другом редакторе отсутствует соответствующий компонент (с тем же UID), произойдет следующее:
- Если дополнительный компонент присутствует только в исходном редакторе, будет сформировано ECO для добавления этого компонента в целевой редактор.
- Если дополнительный компонент присутствует только в целевом редакторе, будет сформировано ECO для удаления дополнительного компонента.
- Если несопоставленные компонента присутствуют в обоих редакторах, системе необходимо указать, как обработать их, поэтому будет открыто диалоговое окно Failed to Match Unique Identifiers.
Диалоговое окно Failed to Match Unique Identifiers
Кнопки диалогового окна предлагают следующие варианты:
- Automatically Create Component Links – нажмите эту кнопку, если вы знаете, что у несопоставленных компонентов уже совпадают позиционные обозначения. На основе позиционных обозначений компонентов система назначит соответствующие идентификаторы UID этим дополнительным компонентам. Для компонентов, которые могут быть сопоставлены по позиционным обозначениям, будут сформированы ECO для прочих различий свойств (таких как несоответствующие параметры). Если компоненты не могут быть сопоставлены по позиционному обозначению, будут сформированы ECO для их добавления/удаления (дополнительные компоненты, присутствующие в исходном редакторе, будут добавлены; дополнительные компоненты, присутствующие в целевом редакторе, будут удалены).
- Manual Component Links – нажмите эту кнопку, если вы знаете, что есть компоненты, которые должны быть сопоставлены, но вы не знаете состояние их позиционных обозначений. Будет открыто диалоговое окно Edit Component Links (описано ниже), где вы можете выбрать каждый исходный и целевой компонент вручную и передать их в список сопоставленных компонентов, присвоив им соответствующие UID. Для синхронизации позиционных обозначений (и любых других несоответствующих свойств компонентов) затем будут сформированы ECO.
- Cancel – нажмите эту кнопку, чтобы сформировать перечень ECO на добавление дополнительных компонентов, которые присутствуют в исходном редакторе, и удаление дополнительных компонентов из целевого редактора.
Сопоставление компонентов вручную
Статус связывания компонентов можно в любой момент проверить и изменить в диалоговом окне Edit Component Links (команда Projects » Component Links в редакторе плат).
Сводка по функциям диалогового окна:
- Несоответствующие компоненты находятся в двух столбцах Un-Matched Components слева, компоненты с соответствующими UID находятся в области Matched Components диалогового окна справа.
- Кнопки со стрелками в центральной части диалогового окна используются для ручного сопоставления (и удаления сопоставления) выбранных компонентов.
- Кнопка Add Pairs Matched By и опции в нижней части диалогового окна используются для изучения списка не сопоставленных в данный момент компонентов и попытки сопоставить их по включенным свойствам (позиционное обозначение, комментарий, посадочное место).
- При нажатии кнопки Perform Update сопоставленным компонентам на плате будет присвоен UID соответствующего схемного компонента.
- После использования этого диалогового окна для сопоставления компонентов вручную хорошей практикой является проверка состояния синхронизации (запустите команду Design » Update).
![Диалоговое окно Edit Component Links используется для поиска и устранения несоответствий идентификаторов UID. Запуск диалогового окна осуществляется из редактора плат. Диалоговое окно Edit Component Links используется для поиска и устранения несоответствий идентификаторов UID. Запуск диалогового окна осуществляется из редактора плат.](/documentation/sites/default/files/wiki_attachments/301003/Dlg_EditComponentLinks_AD18_0.png)
Диалоговое окно Edit Component Links используется для поиска и устранения несоответствий идентификаторов UID. Запуск диалогового окна осуществляется из редактора плат.
При копировании/вставке или вырезании/вставке схемного компонента его идентификатор UID автоматически обновляется – таким образом, у каждого компонента будет использования уникальный идентификатор.
Если вы реорганизуете схему (которая была уже передана в редактор плат) и вам необходимо перенести компоненты на другой лист, не вырезайте/вставляйте их, а выделите их и запустите команду Edit » Refactor » Move Selected Sub-circuit to Different Sheet.
Сопоставление цепей и классов
У цепей и классов есть родитель (цепь или класс) и потомки (элементы этой цепи или класса). Для их сопоставления необходим другой подход, который отличается от механизма идентификаторов, используемого для сопоставления компонентов, для поддержки изменений родителя, потомков или родителей и его потомков. Например, для такого простого случая, как изменение имени цепи на схеме, не нужно удалять эту цепь и все ее выводы из платы, а затем добавлять цепь с новым именем и добавлять выводы в эту новую цепь.
Система включает в себя другие алгоритмы сопоставления цепей и классов по их элементам, а также по их именам. Настройка процесса сопоставления осуществляется на вкладке Comparator диалогового окна Options for Project, в области Object Matching Criteria.
![Согласно настройкам по умолчанию, сначала сопоставляются элементы, затем имена типов объектов. Согласно настройкам по умолчанию, сначала сопоставляются элементы, затем имена типов объектов.](/documentation/sites/default/files/wiki_attachments/301003/Object_Matching_Criteria_AD18_0.png)
Согласно настройкам по умолчанию, сначала сопоставляются элементы, затем имена типов объектов.
Сопоставление объектов этих типов осуществляется следующим образом:
- В процессе синхронизации проекта сначала по умолчанию происходит сопоставление элементов, в соответствии с настройками Min Match % и Min Match Member.
- Если сопоставление элементов не удается, система затем пытается провести сопоставление по имени (если опция Use Name Matching включена).
- Если какое-либо из этих сопоставлений срабатывает, будет открыто диалоговое окно Engineering Change Order.
- Если оба сопоставления не срабатывают (или опции Use Name Matching задано
Never
), будет открыто диалоговое окно Match Manually.
![](/documentation/sites/default/files/wiki_attachments/301003/Match_manually_AD19.png)
- При нажатии No в диалоговом окне Match Manually процесс ручного сопоставления будет пропущен, и вы сразу перейдете в диалоговое окно Engineering Change Order. Поскольку вы не сопоставляли несоответствующие объекты, система предполагает, что исходный и целевой объекты не связаны, поэтому будут сформированы ECO для удаления несоответствующих исходных объектов (Unmatched Reference Objects) из платы и добавления несоответствующих целевых объектов (Unmatched Target Objects) в качестве новых объектов.
- При нажатии Yes в диалоговом окне Match Manually будет открыто диалоговое окно Match, как показано ниже (в заголовке диалогового окна будет отражен тип несоответствующих объектов).
![Диалоговое окно Match используется для сопоставления объектов вручную. Оставьте область справа пустой и нажмите Continue, если вы не уверены. Диалоговое окно Match используется для сопоставления объектов вручную. Оставьте область справа пустой и нажмите Continue, если вы не уверены.](/documentation/sites/default/files/wiki_attachments/300330/Dlg_MatchNetClasses_AD18_0.png)
Диалоговое окно Match используется для сопоставления объектов вручную. Оставьте область справа пустой и нажмите Continue, если вы не уверены.
- В этом диалоговом окне выделите в столбцах Unmatched Reference Objects и Unmatched Target Objects объекты, которые необходимо сопоставить, затем перенесите их в область Matched Pairs диалогового окна. Для этих объектов система сформирует ECO для обновления имен, чтобы они соответствовали, и ECO для удаления/добавления элементов, чтобы они также соответствовали.
- Если вы не уверены, нет необходимости в ручном сопоставлении объектов. Для несоответствующих объектов система предположит, что исходный и целевой объекты не связаны, поэтому будут сформированы ECO, которые удалят несоответствующие исходные объекты (Unmatched Reference Objects) из платы и добавят несоответствующие целевые объекты (Unmatched Target Objects) в качестве новых объектов.
- После сопоставления объектов нажмите кнопку Continue, чтобы открыть диалоговое окно Engineering Change Order.
- При нажатии Cancel процесс обновления будет прекращен.
Сопоставление правил проектирования
Правила проектирования, определенные в схеме, также должны быть связаны с соответствующими правилами в плате. Если бы не было механизма связывания, было бы невозможно изменять правила на схеме и вносить соответствующие изменения в плату. Идентификаторы UID используются для связывания правил проектирования на схеме и правил проектирования в плате.
Идентификатор UID назначается автоматически в объекте Parameter Set, который содержит определение правил на схеме, и он передается в плату в процессе синхронизации проекта.
Правила проектирования используют UID для сопоставления правила проектирования в схеме с правилом проектирования в плате.
Как правило, нет необходимости управлять соответствием правил вручную, пока вы не измените идентификатор UID вручную в диалоговом окне PCB Rules and Constraints в редакторе плат. Если идентификаторы UID не совпадают, система добавит в плату новые правила из схемы, у которых нет соответствующего правила в плате, и удалит из платы правила, у которых нет соответствующих правил в схеме.
Вы можете беспрепятственно изменять компоненты в любом из редакторов и синхронизировать эти изменения в другом редакторе. Изменения цепей, классов и правил можно обновить только из схемы в плате.