制約エディタによるデザインルールの管理
概略
- プロジェクトで Constraints Editor と Constraint Manager のどちらが使用されているかを確認する方法と、利用可能なルール管理ビューを切り替える方法。
- Constraints Editor で設計オブジェクト別のルールと Advanced ルールがどのように整理されるか、およびルールの優先順位と変換の仕組み。
- 設計ルールの作成、編集、検証、保存、インポート、エクスポート、再利用に役立つ実用的な機能。
Constraints Editorは、PCBレイアウトで使用する設計制約ルールを表示、作成、管理するための、もう1つの方法を提供するドキュメントベースのユーザーインターフェースです。このエディターは、優先度の低い順にNets、Diff Pairs、xSignals、Polygons、Components,、Advancedという、選択可能な6つのルールセクションで構成されています。この構成では、最初の5つのセクション(NetsからComponentsまで)は設計オブジェクト別のルールビューであり、Advancedビューセクションは、より単純な設計オブジェクト指向のルールでは表現できない、複雑なルール(通常はクエリを使用)に適用されます。

Constraints Editor – デザインルールを管理するためのもう1つの方法。
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ルールの右クリックメニューからMove Custom Rule to Basicオプションを選択することで、より単純なBasicルールに変換できます(または、メインメニューのTools » Convert » Migrate Advanced Rules to Basicコマンドを使用します)。コマンドを実行すると、Migration of Advanced Rules to Basic ダイアログが表示され、移行可能なBasicルールの数が示された後、移行の確認を求められます。変換時には、Advancedルールのクエリベースの適用範囲が、Basicルールのオブジェクトタイプの条件として解釈されます。

クエリベースのAdvancedルールは、より単純なBasicルールに変換できます。
ルールの優先順位
通常、ルールの優先順位はシステムによって自動的に処理されます。これはインターフェース内のルールビューボタンの配置に示されており、左から右へ優先度順に並び、Netsの優先度が最も低くなっています。
- Advancedルール(またはカスタム作成ルール)は、Basicオブジェクトルールの優先順位よりも優先されます。Advancedビュー内で項目を上下にドラッグすると、手動で順序を変更できます。
- 一方、Basicルールは、ドキュメントインターフェースのオブジェクトセクション(NetsからComponentsまで)で示される設計オブジェクトの種類に基づき、システムによって自動的に優先順位が設定されます。
- 各(Basic)オブジェクトルールセクション内では、優先度はAll(最低)、オブジェクトクラス、オブジェクト(最高)の順になります。したがって、適用範囲が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列の項目にアイコンが表示されます。

適用範囲ライブラリを使用して、カスタムルールの作成を簡略化。
Scopes Libraryダイアログのオプションとコントロール
- Scope - 定義されているすべてのスコープを一覧表示します。
- Expression - 関連するスコープに定義されている式を表示します。
-
- 検索式の記述を支援するQuery Helperダイアログを開きます。
-
- クエリの作成を支援するQuery Builderダイアログを開きます。
- 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オブジェクトタイプを選択した場合、基本的なビアと配線幅のルールが1つの複合エントリに統合されます。また、グリッドレイアウトでは、(ネット)オブジェクトおよびクラスごとに制約を追加することもできます。

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

異なるオブジェクトやそのグループ(ネットやネットクラスなど)に、より具体的な制約を追加します。
現在選択されている制約ルールのバリエーションを追加するには、
ボタンを使用します。以下の例では、追加の5Vネットルールによって、Bottomレイヤーの推奨配線幅が設定されています。
グリッドの各エントリで使用できるルールの種類は、使用可能な列によって決まります。また、使用可能な列は、PropertiesパネルのRule Visibilityリストで有効にした項目によって指定されます。たとえば、Rule VisibilityリストでClearanceエントリを有効にすると、以下に示すように、NetsオブジェクトタイプにClearance列が追加されます。その後、ネットまたはクラスのスコープと適切な距離パラメーターを入力するだけで、該当するクリアランスルールを追加できます。
ルールの検証
PropertiesパネルのRules/Constraints Checks領域で
ボタンをクリックすると、有効なすべてのルールの妥当性を確認できます。この操作では、ルールの重複、スコープが同じで値が異なるルール、クラスメンバー(ネットなど)が重複するルール、スコープを解決できないルールといった、エラーの可能性があるルールが検出されます。各違反タイプのエントリを展開すると、違反しているルールが表示されます。そのルールを選択すると、該当するルールエントリが開きます。

Constraints Editorで現在定義されているルールの妥当性を確認します。
ルールの検証は、メインメニューの Tools » Run Rules Validation Check コマンドから実行することもできます。
ルール違反
有効な設計制約ルールは、リアルタイムのオンラインデザインルールチェック、バッチ処理のデザインルールチェッカー、またはPCB Rules And Violationsパネルからの選択的な実行など、さまざまな方法で現在の基板設計に適用されます。これらの制約ルールへの違反(指定された適用範囲内で制限値を超えた場合)は、基板上のグラフィック、パネルの項目、レポート、およびConstraints Editorのアラートアイコンによって示されます。さらに、Constraints Editorはダイアログではなく設計ドキュメント形式のため、開いたまま違反を確認、分析、修正することもできます。

Constraints Editorには、違反しているルールに関するフィードバックが表示されます。
Propertiesパネル
Constraints Editorがアクティブなとき、PropertiesパネルにはDocument Optionsモード(エディターがAdvancedモードの場合はAdvanced constraints optionsモード)が表示されます。
以下の折りたたみセクションでは、使用可能なオプションとコントロールについて説明します。
アクション
- Switch to Dialog View – このコマンドを実行すると、表示モードがDocument ViewからDialog Viewに切り替わり、PCB Rules and Constraints Editorダイアログが開きます。
一般
- Show Default Values(Document Optionsモードのみ)– 有効にすると、エディターのグリッド領域のすべての項目に、適用可能なデフォルト値が薄い文字で表示されます。
- Units – 使用する測定単位を選択します。測定単位はTools » Measurement Unitsメニューからも選択できます。
クロスプローブの表示設定
- Select – 有効にすると、フィルタリングされたオブジェクトが設計スペースで選択されます。
- Zoom – 有効(デフォルト)にすると、設計スペースでフィルタリングされたオブジェクトがズーム表示され、可能な場合は中央に配置されます。Zoom Levelボタンを使用して、フィルタリングされたオブジェクトを拡大表示する際のズーム倍率を調整します。
-
Normal/Mask/Dimドロップダウン – 設計スペースで、フィルタリングされたオブジェクトとそれ以外のオブジェクトを視覚的に区別するためのオプションです。
- Normal – フィルタリングされたオブジェクトは設計スペースに表示され、それ以外のオブジェクトの表示は変わりません。
- Mask – フィルタリングされたオブジェクトが設計スペースで強調表示され、それ以外のすべてのオブジェクトはモノクロ表示になります。
- Dim – フィルタリングされたオブジェクトが設計スペースで強調表示され、それ以外のすべてのオブジェクトは元の色を保ったまま暗く表示されます。
ルールの表示
Propertiesパネルのこの領域は、Document Optionsモードでのみ使用できます。
- Grid – エディターのグリッド領域で使用できるルールの種類を設定します。
スコープライブラリ
Propertiesパネルのこの領域は、Advanced constraints optionsモードでのみ使用できます。
- Scope – 定義済みのすべてのスコープを一覧表示します。
- Query – 対応するスコープに定義されたクエリを表示します。
- Import – 選択したスコープをConstraints Editorにインポートします。このオプションは、Constraints Editorにまだ存在しないスコープをダイアログで選択した場合にのみ使用できます。
- Export – 選択したスコープをConstraints Editorにエクスポートします。
- Edit Library – Scopes Libraryダイアログを開きます。このダイアログでは、クエリに基づいてオブジェクトを照合するスコープを保存できます。カスタムスコープをインポート、管理、エクスポートし、他のカスタム制約ルールで再利用できます。
ルール/制約チェック
-
Check – デザインルールチェック(DRC)を開始します。DRCが完了すると、制約ルールへの違反(指定された適用範囲内で制限値を超えた場合)が、違反している各ルールの最後の列に
で自動的に表示されます。違反の総数は、エディター右上の
の横に表示されます。
メインメニューのTools » Run DRC Rules CheckからDRCを実行することもできます。
ルールの適用状況の確認
Constraints Editorにはクロスプローブ機能があり、対応するPCBレイアウト内のネットと接続を視覚的に強調表示して、制約ルールの対象オブジェクトの範囲を示します。エディターのグリッド一覧にある任意のルールに対してクロスプローブを行うには、その項目を右クリックし、コンテキストメニューからCross Probeオプションを選択するか、詳細ルールの
メニューからCross Probeを選択します。
PropertiesパネルでCross Probe View Settings(ZoomおよびSelectオプション)を設定し、PCBエディターのClear Filterオプションを使用してクロスプローブの強調表示をリセットします。

Constraints Editorから、ルールの適用範囲内にあるオブジェクトにクロスプローブします。



