Работа с директивами на схеме

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 размещается на узле цепи, чтобы подавить все сообщаемые предупреждения проверки электрических правил и/или ошибки нарушения правил, обнаруженные при проверке проекта схемы. Подробнее см. на странице Проверка проекта схемы.

Директива Compile Mask

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

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

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

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

Маска компиляции может отображаться либо в развернутом виде (полная рамка), либо в свернутом (маленький треугольник). Эти режимы соответствуют включенному и отключенному состояниям маски соответственно. Переключение режима отображения выполняется щелчком по верхнему левому углу размещенной маски компиляции. Эта функция может быть полезна, когда симуляция включена в состав процесса проектирования: подробнее.
Хотя маски компиляции можно поворачивать или отражать по оси 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: в редакторе схем — с помощью директив, а в редакторе PCB — с помощью Design Rules. Это разделение было устранено с появлением 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 — это директива проектирования, позволяющая связывать проектные спецификации с объектом типа цепи в схеме. Например, Parameter Set можно использовать, чтобы объявить две цепи участниками дифференциальной пары. Именно наличие в наборе параметров параметров с определенными именами используется программой для определения того, какую проектную директиву вы размещаете.

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

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

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

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

Используйте диалог Select 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 ().

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

Используйте раскрывающееся поле 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) на вкладке the Class Generation tab of the Project Options dialog.

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

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

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

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

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

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

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

Blanket определяет интересующие цепи — разместите директиву Parameter Set в любом месте по краю blanket, чтобы применить требования проектирования к этим цепям. Чтобы директива по периметру была применена к цепи под директивой Blanket, объект, связанный с этой цепью — вывод, порт, метка цепи, порт питания, сегмент провода/шины/жгута (включая оба конца) — должен находиться в пределах blanket. Обратите внимание, что для идентификаторов цепей, таких как метки цепей, hotspot должен находиться внутри blanket. Если входящие цепи не передаются в PCB Parameter Set так, как ожидается, попробуйте соответствующим образом скорректировать область 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 object , чтобы параметры ее правил применялись к каждой отдельной цепи, охватываемой этим 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...
Вывод вкладка ParametersParameters в режиме вывода Pin панели Properties. Контактная площадка
Порт вкладка ParametersParameters в режиме порта Port панели Properties. Сеть
Компонент область ParametersParameters в режиме Components панели Properties. Компонент
Символ листа вкладка ParametersParameters в режиме Sheet Symbol панели Properties, когда в области Source выбран вариант Local. Класс компонентов
Символ листа устройства вкладка ParametersParameters в режиме Sheet Symbol панели Properties, когда в области Source выбран вариант Device. Класс компонентов
Управляемый символ листа область ParametersParameters в режиме Sheet Symbol панели Properties, когда в области Source выбран вариант Managed. Класс компонентов
Лист вкладка ParametersParameters в режиме Document Options панели Properties. Все объекты

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

  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.

После определения классы можно заблокировать в области PropertiesProperties панели 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