制約エディタによるデザインルールの管理
Constraints Editor はドキュメントベースのユーザーインターフェイスで、PCB レイアウトで使用される設計制約ルールの表示、作成、管理のための別のアプローチを提供します。エディタは優先順位が低いものから高いものへと並ぶ 6 つの選択可能なルールセクション、Nets、Diff Pairs、xSignals、Polygons、Components,、Advanced で構成されています。この構成では、最初の 5 つのセクション(Nets ~ Components)はルールの設計オブジェクトビューを表し、Advanced ビューセクションは、より複雑なルール(通常はクエリを使用)で、より単純な設計オブジェクト指向ルールとして表現できないものに適用されます。

Constraints Editor – 設計ルール管理のための別アプローチ。
Constraints Editor は、PCB Rules and Constraints Editor ダイアログの Switch to Document View ボタンをクリックしてアクセスします。

PCB Rules and Constraints Editor ダイアログから Constraints Editor ビューへ切り替えます。
このエディタを使用する主な利点は次のとおりです。
-
ダイアログではなくドキュメントベースの表示インターフェイスを使用することで、PCB エディタおよび関連機能をアクティブでアクセス可能なまま維持できます。
-
クエリベースのルール適用範囲指定から、適用オブジェクトタイプの一致へ移行することで、制約ルールの作成が簡素化されます。
-
ルールの優先順位は、設計オブジェクトの自然な階層に基づいて自動的に決定されます。
-
一般的な構文、割り当て、適用範囲指定のエラーを検出するための対話型ルール検証チェック。
制約ルールの種類
Constraints Editor では、適用範囲の一致条件により複雑なクエリ式を持つ既存ルールは Advanced Rules(またはカスタムルール)と見なされ、より単純なルールはオブジェクトタイプ Basic Rules として再表現されます。つまり、チェック対象となる設計オブジェクトの種類に基づくルールです。
Advanced(クエリベース)形式のルールの多くは、ルールを Basic Rules リストへドラッグ&ドロップするか、Advanced ルールの右クリックメニューから

クエリベースの Advanced ルールは、より単純な Basic ルールに変換できます。
ルールの優先順位
一般に、ルールの優先順位はシステムによって自動的に処理されます。これはインターフェイス内のルールビューボタンの並びに示されており、左から右へ優先順位順に配置され、Nets が最も低い優先順位になります。
- Advanced(またはカスタム作成)ルールは Basic オブジェクトルールの並びより優先され、Advanced ビュー内でエントリを上下にドラッグすることで手動で並べ替えることができます。
- 一方、Basic ルールは、ドキュメントインターフェイスのオブジェクトセクション(Nets ~ Components)で示される設計オブジェクトタイプに基づき、システムによって自動的に優先順位付けされます。
- 各(Basic)オブジェクトルールセクション内では、優先順位は All(最低)から Object Class、Object(最高)の順に並びます。したがって、All スコープを持ち Basic ルールに変換されたルールは、最も低い優先順位になります。
- Basic ルールに明示的な優先順位を設定するには、ルールを右クリックして Move Basic Rule to Advanced オプションを選択するか(またはメインメニューから Tools » Convert » Migrate Basic Rules to Advanced コマンドを使用)、コマンド実行後に表示される Migration of Basic Rules to Advanced ダイアログで操作します。このダイアログには移行可能な Basic ルール数の情報が表示され、その後移行の確認が求められます。Advanced ビューでその優先順位位置を手動設定してください。これは All スコープを持つルール以外に適用されます。たとえば Nets ビューでは、Net Class または Net スコープが指定されたルールを Advanced ルールへ変換(移動)できます。
新しいカスタム制約ルール
エディタのデフォルト Advanced モード(
ボタンで表示・選択される)で新しいルールを作成する操作は、PCB Rules and Constraints Editor ダイアログでルールを構築する場合と似ています。右クリックのコンテキストメニューから Add Custom Rule を選択するか(または
ボタンやメインメニューの Edit » Add Constraint コマンドを使用)、必要に応じてクエリベースの一致スコープを追加し(
)、制約パラメータを列グリッドまたは下部のグラフィカル表示に入力します。

独自のカスタム制約ルールを作成します。
Advanced/カスタムタイプのルールを繰り返し作成する処理を簡素化するため、Constraints Editor では、クエリベースのオブジェクト一致スコープを Scopes Library ダイアログに保存できます(Object Match 列で
をクリックして Export to Library を選択するか、Properties パネルの Advanced constraints options モードの Scopes Library 領域にある Edit Library ボタンをクリックしてアクセスします)。ライブラリは Properties パネルに表示され、カスタムスコープをインポート、管理、エクスポートして、他のカスタム制約ルールで再利用できます。ライブラリベースのスコープがルールで使用されている場合は、ルールの Object Match 列エントリにアイコンで示されます。

スコープライブラリを使用して、カスタムルールの作成を簡素化します。
Options and Controls of the Scopes Library Dialog
- Scope - 定義されているすべてのスコープを一覧表示します。
- Expression - 関連付けられたスコープに対して定義された式を表示します。
-
- Query Helper dialog を開き、検索式の作成を支援します。
-
- Query Builder dialog を開き、クエリの作成を支援します。
- Update - Constraints Editor 内のルールを更新するために使用します。このオプションは、変更が行われた場合にのみ使用可能になります。
- Import - 選択したスコープを Constraints Editor にインポートするために使用します。このオプションは、ダイアログで選択したスコープがまだ Constraints Editor に存在しない場合にのみ使用可能になります。
設計オブジェクト制約モード
制約ルール作成において、よりシンプルな設計オブジェクト指向のアプローチを取るには、ルールグリッド上部にある適切なオブジェクトモードボタンを選択して、デフォルトの Advanced モードから切り替えます。概念的には、これらのモードは、破られうる設計ルールの作成よりも、設計オブジェクトをどのように適用できるかを制約(制限)することに重点を置いた、より統合的なルールインターフェイスを提供します。設計オブジェクトボタンの配置順は、基本的な Nets(およびクラス)から統合された Components を経て Advanced モードへと、オブジェクトの複雑さ(およびルール優先度)の増加に対応しています。
Advanced モード(
)では、ルールは種類ごとにグループ化されます。たとえば、以下の画像に示す基本的な Via および Width 制約ルールです。さらにルールを追加したり、クエリ言語要素を含めたりすることで、より詳細なルール指定を作成できます。

Constraints Editor の Advanced モードでは、ルールは種類ごとにグループ化されます。
一方、オブジェクト指向ビュー(Nets ~ Components)では、ルールは設計オブジェクト(例: Nets)またはクラス(例: Net Class)ごとに整理され、その結果、ルールが設計にどう適用されるかを直接把握できます。あるオブジェクトタイプに適用されるルールの概要を確認するには、左列でオブジェクトまたはクラスを選択して関連するすべてのルールを表示するか、All を選択してそのオブジェクトタイプに関連するすべてのルールを表示します。以下の例は、Nets(
)に関連するルールの概要を示しています。

Constraints Editor のオブジェクト指向ビューでは、ルールは設計オブジェクトごとにグループ化されます。
設計オブジェクト指向のアプローチを使用する場合、たとえば下図のように Nets オブジェクトタイプを選択すると、基本的な Via ルールと Width ルールは 1 つの複合エントリに統合されます。グリッドレイアウトでは、(Net)オブジェクトおよびクラスごとに、さらに多くの制約を追加することもできます。

オブジェクト指向ビューでは、選択したオブジェクトタイプの制約が表示されます。
この例でさらに詳細な制約を追加するには、Net または Net Class を選択し、目的の制約ルールの種類に対応するグリッドセルに適切な値を入力するだけです。以下に示すように、Power ネット(そのクラスで定義)にはより大きな Via サイズが許可され、5V 電源レールネットには最大トラック幅の増加が割り当てられています。実質的には、4 つのルールが 1 つのシンプルなグリッドビューにまとめられています。つまり、5V ネットの幅制約、その他すべてのネットの幅制約、Power ネットの Via サイズ制約、その他すべてのネットクラスの Via サイズ制約です。

異なるオブジェクトおよびそのグループ(たとえば、ネットやネットクラス)に対して、より詳細な制約を追加します。
ボタンを使用すると、現在選択されている制約ルールのバリエーションを追加できます。たとえば次の例では、追加の 5V ネットルールにより、Bottom レイヤーの推奨幅が設定されます。

選択した制約のバリエーションを追加できます。
グリッドエントリ内で利用可能なルールタイプは、使用可能な列によって決まります。そして、その列は Properties パネルの Rule Visibility リストで有効になっている項目によって指定されます。たとえば、Rule Visibility リストで Clearance エントリを有効にすると、下図のように Nets オブジェクトタイプに Clearance 列が追加されます。その後、適用可能なクリアランスルールを追加するには、ネットまたはクラスのスコープと適切な距離パラメータを入力するだけです。

オブジェクト指向ビューに表示するルールを選択します。
ルールの検証
すべてのアクティブなルールの有効性は、Properties パネルの Rules/Constraints Checks 領域で
ボタンをクリックして確認できます。この操作により、重複ルール、同一スコープで値が異なるルール、クラスメンバー(ネットなど)が重複するルール、未解決スコープを持つルールなど、問題の可能性があるルールが検出されます。各違反タイプのエントリは展開して違反しているルールを表示でき、選択すると該当するルールエントリが開きます。

Constraints Editor で現在定義されているルールの有効性を確認します。
ルール検証を実行するには、メインメニューから Tools » Run Rules Validation Check コマンドを使用することもできます。
ルール違反
有効化された設計制約ルールは、ライブ Online Design Rule Checking、バッチ処理の Design Rule Checker、または PCB Rules And Violations panel からの選択実行など、さまざまな仕組みを通じて現在の基板設計に適用されます。これらの制約ルールへの違反、つまり指定されたスコープ内の制限を超えた場合は、基板グラフィックス、パネルエントリ、レポート、および Constraints Editor 内のアラートアイコンによって示されます。さらに、Constraints Editor はダイアログではなく設計ドキュメント形式であるため、開いたまま違反を確認、分析、修正することもできます。

Constraints Editor は、違反中のルールに関するフィードバックを提供します。
Properties パネル
Constraints Editor が現在アクティブな場合、Properties パネルには Document Options モード(またはエディタの Advanced モードでは Advanced constraints options モード)が表示されます。
以下の折りたたみ可能なセクションには、使用可能なオプションとコントロールに関する情報が含まれています。
Actions
- Switch to Dialog View – コマンドを実行すると、ビューモードが Document View から Dialog View に変わり、PCB Rules and Constraints Editor ダイアログが開きます。
General
- Show Default Values(Document Options モードのみ)– 有効にすると、適用可能なデフォルト値がエディタのグリッド領域内のすべてのエントリに薄い文字で表示されます。
- Units – 必要に応じて測定単位を選択するために使用します。測定単位は Tools » Measurement Units メニューからも選択できます。
Cross Probe View Settings
- Select – 有効にすると、フィルタリングされたオブジェクトがデザインスペース内で選択されます。
- Zoom – 有効にすると(デフォルト)、フィルタリングされたオブジェクトはデザインスペース内でズームされ、可能な場合は中央に表示されます。フィルタリングされたオブジェクトにズームインするときに使用するズーム倍率は、Zoom Level ボタンで調整できます。
-
Normal/Mask/Dim ドロップダウン – デザインスペース内でフィルタリング済みオブジェクトと未フィルタリングオブジェクトを視覚的に区別するためのオプションを提供します。
- Normal – フィルタリングされたオブジェクトはデザインスペース内で表示され、未フィルタリングオブジェクトの表示は変更されません。
- Mask – フィルタリングされたオブジェクトがデザインスペース内でハイライト表示され、その他のすべてのオブジェクトはモノクロ表示になります。
- Dim – フィルタリングされたオブジェクトがデザインスペース内でハイライト表示され、その他のすべてのオブジェクトは色を保持したまま淡色表示されます。
Rule Visibility
Properties パネルのこの領域は、その Document Options モードでのみ利用できます。
- Grid – エディタのグリッド領域で利用可能なルールタイプを設定するために使用します。
Scopes Library
Properties パネルのこの領域は、その Advanced constraints options モードでのみ利用できます。
- Scope – 定義されているすべてのスコープを一覧表示します。
- Query – 関連するスコープに対して定義されたクエリを表示します。
- Import – 選択したスコープを Constraints Editor にインポートするために使用します。このオプションは、ダイアログで選択したスコープがまだ Constraints Editor に存在しない場合にのみ使用可能になります。
- Export – 選択したスコープを Constraints Editor にエクスポートするために使用します。
- Edit Library – Scopes Library ダイアログを開くために使用します。ここでクエリベースのオブジェクト一致スコープを保存できます。カスタムスコープはインポート、管理、エクスポートして、他のカスタム制約ルールで再利用できます。
Rules/Constraints Checks
-
Check – Design Rule Checking(DRC)を開始するために使用します。制約ルールへの違反(つまり指定されスコープ設定された制限を超えた場合)は、DRC 完了後、違反している個々のルールの最後の列に
として自動的に示されます。違反の総数は、エディタ右上の
の横に表示されます。
DRC を実行するには、メインメニューから Tools » Run DRC Rules Check を使用することもできます。
ルール適用の確認
Constraints Editor にはクロスプローブ機能が含まれており、対応する PCB レイアウト内でネットと接続を視覚的にハイライトすることで、制約ルールのオブジェクトスコープを表示します。エディタのグリッド一覧内の任意のルールへクロスプローブするには、そのエントリを右クリックしてコンテキストメニューから Cross Probe オプションを選択するか、Advanced ルールの
メニューから Cross Probe を選択します。
Properties パネルで Cross Probe View Settings(Zoom および Select オプション)を設定し、PCB エディタの Clear Filter オプションを使用してクロスプローブのハイライトをリセットします。

Constraints Editor から、ルールのスコープ下にあるオブジェクトへクロスプローブします。
