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.

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

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

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

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

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

Директива No ERC

Директива No ERC размещается на узле цепи, чтобы подавить все предупреждения и/или условия нарушения ошибок Electrical Rule Check, которые обнаруживаются при проверке (validation) проекта схемы. Подробнее см. на странице Validating Your Design Project .

Директива Compile Mask

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

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

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

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

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

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

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

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

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

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

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

Ключевым элементом этой функциональности является директива Parameter Set.

По сути это пользовательские объекты 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) директивы набора параметров. Единственное различие между пустым набором параметров и предопределённым набором параметров в том, что предопределённые наборы параметров уже содержат параметр, как будет описано ниже.

См. страницу Defining Differential Pairs in Your Schematics, чтобы узнать больше об использовании директив Differential Pair.

Moving from Directives to the Constraint Manager

Изначальный подход к определению требований проекта заключался в раздельной работе в редакторах схем и PCB: директивы задавали их в редакторе схем, а Design Rules — в редакторе PCB. Это разделение устранено с появлением Constraint Manager — отдельного редактора для определения требований проекта, который позволяет настраивать и редактировать их на любом этапе процесса проектирования. Для одного проекта можно использовать только один подход; простой способ проверить — посмотреть, есть ли пункт Constraint Manager в меню Design. Если его нет (а вместо него в меню редактора PCB Design есть пункт 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 — это директива проектирования, позволяющая связать проектные спецификации с объектом типа «цепь» (net) в схеме. Например, с помощью parameter set можно объявить две цепи участниками дифференциальной пары. Именно наличие в parameter set параметров с определёнными именами используется программой для определения того, какую директиву проектирования вы размещаете.

Помимо пользовательских директив параметров, директива параметра на основе правил определяется из Choose Design Rule Type dialog, доступного из связанного с параметром режима панели 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 dialog, чтобы выбрать правило, которое вы хотите добавить в директиву как параметр правила. Двойной щелчок по типу правила даст доступ к соответствующему Edit PCB Rule (From Schematic) dialog, в котором можно задать ограничения для правила.

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

Например, на изображении ниже показан Edit PCB Rule (From Schematic) dialog для Max-Min Width Rule, где можно: настроить значения Min/Preferred/Max для всех слоёв, вручную задать каждую ширину для каждого слоя или выбрать использование профиля импеданса (Impedance Profile). Если вы выбираете профиль импеданса и фактическая структура платы уже определена в редакторе 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 Design Rules and constraints) нажмите здесь.

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

 
 
 
 
 

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

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

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

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

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

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

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

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

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

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

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

Прикрепите директиву 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, объект, связанный с этой цепью — вывод (pin), порт (port), метка цепи (net label), порт питания (power port), сегмент проводника/шины/жгута (включая оба конца) — должен попадать в границы 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 Net Class.

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

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

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

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

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

Добавить параметр (как правило) к... Из... Для области действия правила PCB...
Pin вкладка Parameters в режиме Pin панели Properties. Pad
Port вкладка Parameters в режиме Port панели Properties. Net
Component область Parameters в режиме Components панели Properties. Component
Sheet Symbol вкладка Parameters в режиме Sheet Symbol панели Properties, когда в области Source выбрано Local. Component Class
Device Sheet Symbol вкладка Parameters в режиме Sheet Symbol панели Properties, когда в области Source выбрано Device. Component Class
Managed Sheet Symbol область Parameters в режиме Sheet Symbol панели Properties, когда в области Source выбрано Managed. Component Class
Sheet вкладка Parameters в режиме Document Options панели Properties. All Objects

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

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

Задание классов компонентов

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

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

  • Включите параметр Generate Component Classes, расположенный в области User-Defined Classes на вкладке Class Generation диалога.
  • На вкладке Comparator диалога установите параметр 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 Component Class через запятую в значении параметра компонента на схеме (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