Working with Directives on a Schematic

Altium Training

Altium Essentials: Schematic Updating

This content is part of the official Altium Professional Training Program. For full courses, materials and certification, visit Altium Training.

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

  • Директивы, связанные с автоматической компиляцией исходных документов схемы.
  • Директивы, используемые для передачи информации, заданной на листе схемы, на PCB.

В следующих разделах эти области и связанные с ними директивы рассматриваются подробнее.

Директивы, связанные с компиляцией

Проекты развиваются со временем и создаются поэтапно. После завершения каждого этапа нередко возникает необходимость проверить его изолированно от остальной части проекта. Компиляция отдельного документа схемы (или всего проекта) на промежуточных этапах процесса разработки часто приводит к появлению ряда сообщений об ошибках, вызванных цепями, которые еще не были добавлены, или межсоединениями между фрагментами схемы, которые все еще не завершены. Такие сообщения не несут реальной пользы, поскольку лишь создают шум вокруг действительно важной информации. Самый быстрый и простой способ подавить эти ошибки компиляции — разместить директивы No ERC или Compile Mask.

Директива No ERC

Директива No ERC размещается на узле цепи для подавления всех предупреждений проверки электрических правил и/или условий нарушения ошибок, обнаруженных при проверке проекта схемы. Подробнее см. на странице Validating Your Design Project.

Директива Compile Mask

Директивы No ERC отлично подходят для подавления небольшого числа нарушающих правила выводов, портов, входов листа или цепей в проекте. Но в некоторых случаях может потребоваться исключить целый раздел проекта, включая компоненты. Используйте директиву Compile Mask (Place » Directives » Compile Mask command) или нажмите кнопку Compile Mask () в раскрывающемся списке директив на Active Bar, чтобы фактически скрыть содержащуюся в ней область проекта от Compiler, что позволяет вручную предотвратить проверку ошибок для цепей, которые, возможно, еще не завершены и, как вы знаете, вызовут ошибки компиляции. Это может быть очень полезно, если вам нужно скомпилировать активный документ или проект, чтобы проверить целостность проекта в других конкретных областях, но вы не хотите видеть «шум» сообщений, сгенерированных компилятором и связанных с незавершенными частями проекта.

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

Рассмотрим пример схемы на следующем изображении, где подключение к устройству LCD1 еще не завершено. Компиляция только этой схемы (Project » Validate PCB Project) приведет к многочисленным сообщениям о нарушениях (показаны ниже), каждое из которых вызвано незавершенной цепью. Наведите указатель на изображение, чтобы увидеть эффект от размещения директивы Compile Mask вокруг незавершенной цепи. Эти нарушения будут проигнорированы Compiler, в то время как остальная часть схемы — полностью подключенная — будет проверена. Обратите внимание, что объекты, действительно попавшие под маску, то есть полностью находящиеся внутри ограничивающего прямоугольника маски, будут отображаться серым цветом.

Наведите указатель на изображение, чтобы увидеть эффект использования директивы Compile Mask для скрытия нарушений Compiler, вызванных незавершенной цепью.
Наведите указатель на изображение, чтобы увидеть эффект использования директивы Compile Mask для скрытия нарушений Compiler, вызванных незавершенной цепью.

Маска компиляции может отображаться в развернутом (полная рамка) или свернутом (маленький треугольник) режиме. Эти режимы соответствуют включенному и отключенному состоянию маски соответственно. Переключение режима отображения выполняется щелчком по левому верхнему углу размещенной маски компиляции. Эта функция может быть полезна, когда моделирование включено в процесс проектирования: learn more.
Хотя маски компиляции можно поворачивать или зеркально отражать по оси X или Y, это не влияет на ориентацию содержащейся внутри схемной части проекта.

Директивы, связанные с PCB

Как единая среда проектирования, Altium Designer позволяет задавать требования к PCB до начала трассировки платы. Это достигается путем добавления и задания параметров для объектов, размещенных на листе(ах) схемы.

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

С помощью директив можно задать следующую информацию, которая будет передана в соответствующие определения на стороне PCB при синхронизации проекта:

  • Ограничения компоновки PCB
  • Дифференциальные пары
  • Классы цепей

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

В основе этой функциональности лежит директива Parameter Set directive.

По сути это определяемые пользователем объекты Parameter Set, которые могут быть связаны с объектом цепи в схеме. Разместите директиву PCB Layout на проводе, шине или сигнальном жгуте, чтобы задать одно или несколько проектных ограничений, относящихся к связанным цепям. Когда по схеме создается PCB, информация из директивы PCB Layout используется для создания соответствующих правил проектирования PCB. Информация, заданная директивой PCB Layout, применяется только к той цепи (или набору цепей), к которой подключена директива.

Директива Parameter Set.
Директива Parameter Set.

Она действует как контейнер для любого количества параметров, относящихся к цепи, к которой присоединена директива Parameter Set. Можно разместить директиву Parameter Set по умолчанию, не содержащую параметров (Place » Directives » Parameter Set), а нужные параметры добавить позже. В следующих разделах подробнее рассматривается использование этих директив на основе параметров. Доступны как пользовательские (Parameter Set), так и предопределенные (Differential Pair) директивы набора параметров. Единственное различие между пустым набором параметров и предопределенным набором параметров состоит в том, что предопределенные наборы параметров уже содержат параметр, как будет описано ниже.

Подробнее об использовании директив Differential Pair см. на странице Defining Differential Pairs in Your Schematics.

Moving from Directives to the Constraint Manager

Изначально требования к проекту задавались раздельно в редакторах схемы и PCB: директивы определяли их в редакторе схем, а Design Rules — в редакторе PCB. Это разделение было устранено с появлением Constraint Manager, отдельного редактора для задания требований к проекту, который позволяет настраивать и редактировать их на любом этапе процесса проектирования. Для конкретного проекта можно использовать только один подход; простой способ проверить это — посмотреть, есть ли пункт Constraint Manager в меню Design. Если его нет (а вместо него в меню Design редактора PCB есть пункт Rules), значит, в проекте используется более старый подход Design Rules.

Если используется Constraint Manager, классы цепей, дифференциальные пары, классы дифференциальных пар и правила, определенные с помощью директив parameter set и differential pair, not не будут обнаружены и переданы при обновлении PCB по схеме. Будут переданы только классы цепей, дифференциальные пары, классы дифференциальных пар и правила, определенные в Constraint Manager.

Обратите внимание, что вы можете импортировать правила, классы цепей, дифференциальные пары и классы дифференциальных пар из директив, размещенных на схемах, с помощью команды Import from Directives в контекстном меню представления Physical или Electrical окна Constraint Manager, открытого из схем — подробнее. Обратите внимание, что после импорта данных из директив в Constraint Manager и сохранения этих изменений импортированные директивы будут выделяться в рабочей области схемы синим цветом (с немного отличающимся символом). Это указывает на то, что произошел односторонний перенос из директив в Constraint Manager, и синие директивы становятся объектами только для чтения (дальнейшее редактирование невозможно).

Размещение директив Parameter Set

Разместите директиву этого типа, выбрав команду Place » Directives » Parameter Set в главном меню или щелкнув правой кнопкой мыши в рабочей области. При размещении директивы набора параметров по умолчанию существующих параметров не будет. Parameter Set — это проектная директива, которая позволяет связывать проектные спецификации с объектом типа цепи в схеме. Например, используйте набор параметров, чтобы объявить две цепи участниками дифференциальной пары. Именно наличие в наборе параметров параметров с определенными именами используется программой для определения того, какую проектную директиву вы размещаете.

Помимо пользовательских директив параметров, директива параметров на основе правил определяется из диалога Choose Design Rule Type, доступного из связанного с параметром режима панели Properties. Доступ выполняется следующим образом:

  1. Нажмите Tab перед размещением Parameter Set или дважды щелкните уже размещенную директиву Parameter Set, чтобы отобразить режим Parameter Set mode of the Properties panel.

  2. Затем нажмите кнопку Add в разделе Parameters режима Parameter Set панели Properties и выберите Rule из раскрывающегося списка, чтобы выбрать правило в диалоге Choose Design Rule Type.

Редактирование значения для правила.
Редактирование значения для правила.

Используйте диалог Choose Design Rule Type, чтобы выбрать правило, которое вы хотите добавить в директиву как параметр правила. Двойной щелчок по типу правила даст вам доступ к соответствующему диалогу Edit PCB Rule (From Schematic), в котором можно определить ограничения для правила.

Конкретные свойства, присутствующие в диалоге Edit PCB Rule (From Schematic), зависят от выбранного проектного правила и будут такими же, как свойства, определенные для этого правила в редакторе PCB.

Например, на изображении ниже показан диалог Edit PCB Rule (From Schematic) для Max-Min Width Rule, где можно: настроить параметры Min/Preferred/Max для всех слоев, вручную определить каждую настройку ширины для каждого слоя или выбрать использование профиля импеданса. Если вы выбираете профиль импеданса и фактическая физическая структура платы уже определена в редакторе PCB, вы также можете выбрать файл платы для Load the PCB Layer Stack and calculate the track width values.

Если PCB существует и стек слоев определен, рассчитанные ширины можно загрузить в схему.Если PCB существует и стек слоев определен, рассчитанные ширины можно загрузить в схему.

Показанное выше правило было применено к классу цепей. Это было достигнуто путем размещения Blanket Directive с присоединенной PCB Routing Directive для объединения цепей в класс, а затем применения к этому классу правила Max-Min Width Rule (show image).

Для получения подробной информации о каждом из правил проектирования PCB и ограничениях нажмите here.

Используйте раскрывающееся поле Measurement Units, чтобы выбрать единицы Metric или Imperial.

Задание ограничений для выбранного правила.
Задание ограничений для выбранного правила.

Запись для области Parameters будет представлять собой выбранный тип правила вместе с указанными ограничениями. На следующем изображении показаны определенные параметры правила ограничения ширины для директивы Parameter Set. Чтобы отобразить правило в рабочей области, щелкните значок видимости () в области Rules.

Несколько ограничений правил, определенных для конкретной цепи, благодаря директиве Parameter Set.
Несколько ограничений правил, определенных для конкретной цепи, благодаря директиве Parameter Set.

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

Сгенерированные правила проектирования на стороне PCB.
Сгенерированные правила проектирования на стороне PCB.

Помните, что в одну и ту же директиву Parameter Set можно добавить несколько параметров, что позволяет сделать схему более аккуратной.

Размещение директив Net Class

Директива Net Class позволяет создавать на схеме пользовательские классы цепей. Директиву Net Class можно разместить, выбрав команду Place » Directives » Parameter Set в главном меню, а затем определив набор параметров как директиву класса цепей, как указано в совете №2 на странице команды. Когда PCB создается на основе схемы, информация в директиве Net Class используется для создания соответствующего класса цепей на PCB. Чтобы сделать цепь членом класса цепей, присоедините директиву Net Class к соответствующему проводу, шине или сигнальному жгуту, затем задайте параметру директивы ClassName имя нужного класса. Для использования этой функции должен быть включен параметр Generate Net Classes (для User-Defined Classes) на вкладке Class Generation диалогового окна Project Options.

Если для цепи определена директива Net Class, то любые правила проектирования PCB, которые также создаются этим объектом набора параметров, будут иметь область действия Net Class при передаче проекта в редактор PCB. Директиву Net Class можно создать из уже размещенной директивы Parameter Set, добавив класс, значение которого должно быть установлено в требуемый класс цепей PCB.

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

Когда проект передается на PCB в процессе синхронизации, будут созданы соответствующие классы цепей на основе информации, содержащейся в директиве.

Присоедините директиву Net Class к объекту Blanket, чтобы создать класс цепей, членами которого будут отдельные цепи, охватываемые этим Blanket. Если к этому же Blanket также присоединена директива PCB Layout, параметры правил директивы PCB Layout будут нацелены на этот класс цепей, а не на каждую отдельную цепь. При импорте изменений в документ PCB это приводит к созданию одного правила проектирования (на каждый параметр) с областью действия, настроенной на этот класс цепей.

Размещение директив Blanket

Директивы Parameter Set могут быть нацелены только на конкретную цепь, к которой они присоединены, но в сочетании с директивой Blanket их область действия можно расширить так, чтобы она охватывала все цепи внутри Blanket.

Разместите директиву этого типа, выбрав команду Place » Directives » Blanket в главном меню. При размещении Blanket можно задать либо простую прямоугольную форму, либо многоугольную. Последняя обеспечивает более точный контроль над охватом нужных объектов цепей на листе.

Blanket определяет интересующие цепи — разместите директиву Parameter Set в любом месте на границе Blanket, чтобы применить требования проектирования к этим цепям. Чтобы применить периметральную директиву к цепи под директивой Blanket, объект, связанный с этой цепью — вывод, порт, метка цепи, порт питания, сегмент провода/шины/жгута (включая оба конца) — должен находиться в пределах границ Blanket. Обратите внимание, что для идентификаторов цепей, таких как метки цепей, hotspot должен находиться внутри Blanket. Если входящие в состав цепи не передаются в Parameter Set PCB так, как ожидалось, попробуйте соответствующим образом скорректировать область Blanket.

Чтобы проверить, к каким цепям будет применяться директива Blanket, используйте функцию Net Colors, чтобы подсветить их. Выберите нужный цвет в меню View » Set Net Colors, затем щелкните по периметру нужной директивы Blanket. Чтобы снять подсветку с конкретной цепи, используйте команду View » Set Net Colors » Clear Net Color, затем щелкните по цепи, с которой нужно убрать цвет. Чтобы очистить раскраску цепей на всех листах схемы, используйте команду View » Set Net Colors » Clear All Net Colors.

Пример использования директивы Blanket для применения директивы Parameter Set к цепям внутри Blanket.
Пример использования директивы Blanket для применения директивы Parameter Set к цепям внутри Blanket.

Примеры использования директивы Blanket:

  • Присоединение директивы Parameter Set к объекту Blanket, чтобы параметры ее правил применялись к каждой отдельной цепи, охватываемой этим Blanket.
  • Присоединение директивы Parameter Set к объекту Blanket для создания Parameter Set, членами которого являются отдельные цепи, охватываемые этим Blanket.
  • Присоединение директивы Differential Pair к объекту Blanket для создания объектов дифференциальных пар на основе дифференциальных цепей в пределах этого Blanket.
Присоедините директиву Parameter Set к объекту Blanket , чтобы параметры ее правил применялись к каждой отдельной цепи, охватываемой этим Blanket. Если к этому же Blanket также присоединена директива Parameter Set и этот Parameter Set также имеет параметр Net Class, параметры правил директивы Parameter Set будут нацелены на этот класс цепей, а не на каждую отдельную цепь. При импорте изменений в документ PCB это приводит к созданию одного правила проектирования (на каждый параметр) с областью действия, настроенной на этот класс цепей.
Вы также можете скопировать периметральную директиву Parameter Set и присоединить ее к другой директиве Blanket или даже к отдельным проводам, шинам или жгутам — результатом будет добавление всех дополнительных цепей, связанных с той же директивой Parameter Set, в тот же сгенерированный класс цепей PCB.

Blanket в сочетании с директивой Parameter Set также можно использовать для применения классов компонентов и параметров к компонентам, которые полностью находятся в области, определенной Blanket. Для этого используйте параметры Component Class и Parameter из выпадающего списка кнопки Add в свойствах директивы Parameter Set, присоединенной к Blanket. Информация о классе компонентов и параметре будет передана в документ PCB проекта в процессе ECO при обновлении PCB.

Косвенные (на основе параметров) директивы

Директивы Parameter Set необходимы при нацеливании на объекты проекта в схеме, которые не могут содержать параметры, но для тех объектов, которые могут, директивы проектирования можно применять косвенно, добавляя (и определяя) их как параметры к соответствующему объекту схемы. По сути, это parameter-based directives.

Примеры использования директив на основе параметров включают ограничение высоты конкретного компонента или добавление правила зазора, нацеленного на все объекты в проекте. Требуемый параметр, определяющий ограничение, добавляется к объекту как правило.

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

Добавьте параметр (как правило) к... Из... Для области действия правила PCB...
Вывод вкладки Parameters панели Properties в режиме Pin. Контактная площадка
Порт вкладки Parameters панели Properties в режиме Port. Сеть
Компонент области Parameters панели Properties в режиме Components. Компонент
Символ листа вкладки Parameters панели Properties в режиме Sheet Symbol, когда в области Source выбран параметр Local. Класс компонентов
Символ листа устройства вкладки Parameters панели Properties в режиме Sheet Symbol, когда в области Source выбран параметр Device. Класс компонентов
Управляемый символ листа области Parameters панели Properties в режиме Sheet Symbol, когда в области Source выбран параметр Managed. Класс компонентов
Лист вкладки Parameters панели Properties в режиме Document Options. Все объекты

В каждом случае метод добавления параметра на основе правила одинаков. На соответствующей вкладке или в диалоговом окне выполните следующие действия:

  1. Добавьте параметр как правило.
  2. Выберите, какой тип правила использовать.
  3. Настройте ограничения для выбранного типа правила.
При добавлении параметров правил проектирования к объектам на схеме каждому параметру правила присваивается уникальный идентификатор. Те же идентификаторы присваиваются соответствующим правилам проектирования, создаваемым на PCB. Благодаря этому уникальному идентификатору ограничения правила можно редактировать как на стороне схемы, так и на стороне PCB, а изменения будут переданы при синхронизации.

Указание классов компонентов

Аналогичным образом классы компонентов можно определить на схеме, добавив к целевым компонентам параметр ClassName и задав в качестве его значения нужное имя класса. Когда проект передается в PCB, определенные классы компонентов будут созданы.

Чтобы классы компонентов, определенные в Schematic, передавались в PCB, в диалоговом окне Project Options должны быть установлены следующие параметры:

  • Включите параметр Generate Component Classes, расположенный в области User-Defined Classes на вкладке Class Generation tab диалогового окна.
  • На вкладке Comparator tab диалогового окна установите параметр Differences Associated with Components » Extra Component Classes Mode в значение Find Differences.

Перечисленный выше параметр вкладки Class Generation показан на изображении ниже. Наведите указатель на изображение, чтобы увидеть настройку параметра вкладки Comparator .

Чтобы передать классы компонентов в PCB, включите параметр Generate Component Classes на вкладке Class Generation. Наведите указатель на изображение, чтобы отобразить вкладку Comparator, где необходимо установить параметр Extra Component Classes Mode в значение Find Differences.
Чтобы передать классы компонентов в PCB, включите параметр Generate Component Classes на вкладке Class Generation. Наведите указатель на изображение, чтобы отобразить вкладку Comparator, где необходимо установить параметр Extra Component Classes Mode в значение Find Differences.

После определения классы можно заблокировать в области Properties панели Properties свойств соответствующего компонента.

В редакторе PCB компонент может принадлежать нескольким классам компонентов. Чтобы определить это в схеме, разделяйте имена каждого класса компонентов PCB запятыми в значении параметра компонента схемы (show image).

Управление печатью директив

По умолчанию все директивы проектирования включаются в печать листов схемы. Однако это можно изменить:

Управляйте печатью директив по мере необходимости. Для директив No ERC можно выбрать печать определенных стилей символов, исключив другие.
Управляйте печатью директив по мере необходимости. Для директив No ERC можно выбрать печать определенных стилей символов, исключив другие.

AI-LocalizedЛокализовано с помощью ИИ
Если вы обнаружили проблему, выделите текст/изображение и нажмитеCtrl + Enter, чтобы отправить нам свой отзыв.
Доступность функциональных возможностей

Набор доступных функциональных возможностей зависит от вашего решения Altium – Altium Develop, редакция Altium Agile (Agile Teams или Agile Enterprise) или Altium Designer (на активной подписке).

Если вы не видите в своем ПО функцию, описанную здесь, свяжитесь с отделом продаж Altium, чтобы узнать больше.

Устаревшая документация

Документация Altium Designer больше не разделена по версиям ПО. Если вам необходим доступ к документации по старым версиям Altium Designer, посетите раздел Устаревшая документация на странице Прочие установщики.

Content