Определение области действия правил
This document is no longer available beyond version 20.2. Information can now be found here: Scoping a Design Rule for version 25
Редактор плат Altium Designer является средой, управляемой правилами. Требованиями к проекту определяются набором правил проектирования, которые в совокупности задают ограничения платы. Правила проектирования применяются к определенным объектам в конструкции. Чтобы система правил знала, к каким объектам следует применять то или иное правило, ей необходимо знать область действия этого правила, т.е. степень его применения. Определение области действия правила осуществляется в диалоговом окне PCB Rules and Constraints Editor.
Определение области действия правила проектирования
Вместо выбора из ограниченного предопределенного списка возможных опций, определение области действия правила осуществляется вводом так называемого запроса (Query). Фактически, запрос является инструкцией для системы, определяющей набор проектных объектов, на которые правило должно действовать. Написание запроса осуществляется с помощью ключевых слов запроса. Точно так же, как запрос вводится в панели Filter для поиска определенного набора объектов, запрос вводится для определения объектов, на которые будет действовать отдельное правило. Пример:
InNet('VBAT') And OnLayer('Bottom Layer')
Если использовать этот запрос в качестве области действия правила Width, то при трассировке цепи и переключении на нижний слой ширина трассы автоматически изменится на ту, которая указана в ограничениях правила. Также при проведении проверки правил проектирования трассировка цепи VBAT на нижнем слое должна иметь указанную ширину, иначе эта трассировка будет помечена нарушением.
Опции определения области действия
Простые опции определения области действия правила доступны для быстрого формирования запросов. Выберите одну из опций в первом выпадающем списке и, если необходимо, используйте последующие выпадающие списки для выбора подходящей цели, например, цепи, слоя, посадочного места, корпуса и т.д. Доступные варианты области действия зависят от типа правила.
Опция Custom Query позволяет создать собственный, возможно, более сложный и более конкретный запрос. Вы можете ввести собственный запрос в качестве области действия правила непосредственно в области запроса справа. Либо вы можете использовать функции, доступные для упрощения составления логического выражения запроса: Query Builder и Query Helper. Эти функции могут быть очень полезными, когда вы не знаете точно синтаксис запроса или доступные для использования ключевые слова.
Определение области действия правила с помощью Query Builder
Нажмите кнопку , чтобы открыть диалоговое окно Building Query from Board, которое позволяет создать запрос для применения к определенным объектам в документе платы путем простого создания строки условных утверждений.
Левая область диалогового окна используется для указания условий, необходимых для определения набора необходимых объектов. Каждое условие составляется из типа условия (Condition Type) и значения условия (Condition Value). В их выпадающих меню приводятся соответственно записи, которые относятся к построению запроса для текущего типа, и значения для условия выбранного типа.
Когда условие определено, в правой области диалогового окна будет отображен предварительный просмотр созданного на текущий момент запроса. Может быть задано множество условий с операторами AND и/или OR, и для них может быть определен приоритет (с помощью скобок/отступов) для более точного определения набора объектов. Когда выражение запроса определено нужным образом, нажмите OK, чтобы загрузить выражение в область запроса диалогового окна PCB Rules and Constraints Editor.
Определение области действия правила с помощью Query Helper
Когда выбрана опция Custom Query, нажмите кнопку , чтобы открыть диалоговое окно Query Helper. Модуль запросов проанализирует конструкцию платы и выведет список всех доступных объектов вместе с универсальными ключевыми словами, которые могут использоваться в запросах.
Работа с диалоговым окном Query Helper достаточно интуитивно понятна, особенно если разбить его на три отдельных раздела, как показано на изображении ниже:
Этими разделами являются:
- Раздел запроса – используйте этот раздел диалогового окна для составления выражения запроса. При вызове диалогового окна, в этом разделе по умолчанию будет доступно выражение, которое используется в данный момент для области действия правила. Вы можете вводить текст непосредственно в этом разделе; в качестве подсказки будет отображаться контекстно-зависимый список возможных ключевых слов.
- Операторы – в этом разделе диалогового окна доступен набор математических и логических операторов для построения выражения. Нажмите кнопку, чтобы добавить соответствующий оператор в текущее положение курсора в выражении запроса в разделе Query выше.
- Категории, ключевые слова и объекты – этот раздел диалогового окна обеспечивает доступ к функциям платы, спискам объектов платы и системным функциям, которые можно использовать для создания выражения запроса. Щелкните ЛКМ по подкатегории в одной из этих трех областей, чтобы отобразить список соответствующих ключевых слов или объектов в разделе справа. Найдите ключевое слово или объект, который нужно использовать в строке запроса, и дважды щелкните ЛКМ по его строке – она будет добавлена в текущее положение курсора в выражении запроса в разделе Query выше.
Используйте кнопку (в нижней левой части диалогового окна), чтобы проверить синтаксическую корректность запроса. Когда выражение запроса определено нужным образом, нажмите OK, чтобы загрузить выражение в область запроса диалогового окна PCB Rules and Constraints Editor.
Приоритет операторов выражений запроса
Перед тем, как идти дальше, следует ознакомиться с порядком приоритетов, который используется для операторов в логических выражениях запросов, поскольку без этого знания выражение может не примениться к нужным объектам.
Скобки имеют самый высокий приоритет в порядке приоритетов, который был задан для различных операторов и который определяет, как запросы будут интерпретироваться системой (там, где пользователь не поставил скобки). Этот порядок, от высшего к низшему, выглядит следующим образом:
- Скобки
- Not
- ^, *, /, Div, Mod, And
- +, -, Or, Xor
- =, <>, <, >, <=, >=
- &&, ||
Создание правила из панели PCB Filter
Поскольку область действия правило задается, чтобы оно работало для целевого набора проектных объектов, может быть проще (и быстрее) сначала определить эти объекты, а затем создать правило проектирования, которое будет работать для них. Панель PCB Filter позволяет создать правило проектирования, в качестве области действия которого будет использоваться выражение запроса, определенное в данный момент в панели. Вместо того, чтобы разбираться с визуализацией того, к чему выражение запроса может быть применено, используйте панель PCB Filter для тестирования и корректировки выражения запроса, пока оно не будет применено только к нужным объектам. Создайте правило, которое использует это выражение запроса, чтобы обеспечить его работу для нужного набора объектов.
Чтобы добавить новое правило проектирования:
- Нажмите кнопку Create Rule. Будет открыто диалоговое окно Choose Design Rule Type, в котором будет приведен список всех категорий и типов правил, доступных в документе платы.
- Выберите тип правила, которое должно быть создано, и нажмите OK (или дважды щелкните ЛКМ непосредственно по строке).
- Будет открыто диалоговое окно PCB Rules and Constraints Editor. Будет создано правило выбранного типа, которое будет отображено в главном окне редактирования для определения ограничений правила. В качестве опции области действия правила будет выбрано Custom Query, и в область запроса будет добавлено выражение из панели PCB Filter.
- Измените название и ограничения правила нужным образом. Также измените приоритет правила, если необходимо (по умолчанию правилу будет задан наивысший приоритет).
Повторное использование прошлых выражений запросов
Со временем при конструировании различных плат может быть создан ряд полезных выражений запросов. Вам может понадобиться повторно применять одни и те же запросы, не только в одном проекте, но и в различных проектах. Для этого панель PCB Filter поддерживает понятие прошлых (Historical) и избранных (Favorite) запросов.
При вводе и применении запроса из панели он будет добавлен в список прошлых запросов. Кроме того, этот запрос может быть добавлен в список избранных запросов нажатием кнопки Add To Favorites. Используйте кнопки History и Favorites в панели для открытия одноименных вкладок диалогового окна Expression Manager с этими списками.
Чтобы использовать выражение из любого из этих списков, дважды щелкните ЛКМ по его строке или выберите строку и нажмите кнопку Apply Expression. Диалоговое окно Expression Manager будет закрыто, и выражение будет загружено в раздел Filter панели PCB Filter.
Эта функциональная возможность упрощает (и ускоряет) создание правил с нужной областью действия – загрузите прошлое или избранное выражение запроса, проверьте, что оно по-прежнему действует на нужный набор объектов (примените фильтр) и создайте правило, использующее это выражение в своей области действия, как описано в предыдущем разделе.
Проверка применения правила
В зависимости от конструкции платы, может понадобиться определенное количество правил проектирования, как с очень простыми, так и с очень сложными областями действия. Рекомендуется проверять правила на предмет того, чтобы они действительно будут работать для нужных объектов. Определение правила с учетом этого может сэкономить время и усилия, которые могут быть затрачены на отслеживание нарушений, вызванных некорректной областью действия правил.
Из диалогового окна PCB Rules and Constraints Editor
Диалоговое окно PCB Rules and Constraints Editor включает в себя возможность проверки запросов, что позволяет быстро увидеть, к каким объектам применено определенное правило. Нажмите кнопку в верхней правой части главного окна редактирования правила, которое вы хотите проверить. Будет открыто диалоговое окно Test Queries Result, которое отобразит количество объектов, попадающих в область действия выражения, сколько из них применимы к текущему правилу и сколько из них применимы исходя из текущего приоритета правила (если существует множество применимых правил проектирования). Щелчком ЛКМ по ссылке справа вы можете быстро применить фильтр, чтобы увидеть соответствующие объекты в проектной области для каждого из случаев.
Из панели PCB Rules And Violations
Вы также можете быстро увидеть, к каким объектам применено определенное правило, из панели PCB Rules And Violations. В панели будет приведен список всех правил, определенных в конструкции. Можно увидеть все правила или определенный тип правил (если хотя бы одно правило этого типа создано для активной конструкции). При щелчке ЛКМ по определенному правилу в разделе Rules панели будет применен фильтр на основе правила в качестве области действия этого фильтра. Будут отфильтрованы только те проектные объекты, которые попадают в область действия этого правила. С помощью подсветки Mask (или Dim) вы можете быстро увидеть объекты, попадающие в область действия правила.
Использование панели PCB Rules And Violations для определения, к каким объектам применяется правило, особенно полезно при создании запроса для области действия правила, поскольку правило можно изменить непосредственно из этой панели и, соответственно, запрос можно поправить, чтобы область запроса была применена к нужным объектам.
Для изменения запроса правила, а также его ограничений, дважды щелкните ЛКМ по строке правила в панели либо щелкните ПКМ и выберите Properties из контекстного меню. Будет открыто соответствующее диалоговое окно Edit PCB Rule, где вы можете внести изменения.