PCB設計ルールの定義、範囲設定、および管理
Altium Essentials: PCB Design Rules Creation
This content is part of the official Altium Professional Training Program. For full courses, materials and certification, visit Altium Training.
PCBエディターでは、設計要件を定義するためにDesign Rulesの概念を使用します。設計要件は、洗練された target these objects and apply those requirements 方式で適用されます。Design Rulesはまとめて、PCBエディターが従うべき「命令セット」を構成します。ルールは、配線幅、クリアランス、プレーン接続スタイル、配線ビアのスタイルなど、設計のあらゆる側面を対象としており、その多くはオンラインの Design Rule Checker(DRC)によってリアルタイムに監視できます。また、いつでもバッチテストを実行してDRCレポートを生成することもできます。ルールはオブジェクトとは独立して定義されます。
Design Rulesは特定のオブジェクトを対象とし、階層的に適用されます。たとえば、基板全体に対するクリアランスルールがあり、次にあるネットクラスに対するクリアランスルールがあり、さらにそのクラス内のあるパッドに対するルールがある、といった具合です。ルールの優先順位とスコープを使用することで、PCBエディターは設計内の各オブジェクトにどのルールを適用すべきかを判断できます。
ルールは、キーワード駆動の query language を使用してオブジェクトを対象にします。この指定は、NetClass や All のような広範な識別子から、厄介で状況依存の設計要件を正確に対象とする厳密に定義されたクエリまで、幅広く設定できます。
設計ルールを適切に定義しておけば、さまざまで、しばしば厳しい設計要件を持つ基板設計も適切に完了できます。さらに、PCBエディターはルール駆動型であるため、設計の初期段階でルール設定に時間をかけておくことで、ルールシステムが成功を確実にするためにしっかり機能しているという安心感を持ちながら、効率的に設計作業を進めることができます。
PCBルールシステムの基本
ソフトウェアのPCBエディターに組み込まれているルールシステムには、他のPCB編集環境で採用されている多くの設計ルールシステムとは異なる、いくつかの基本的な特長があります。
-
Rules are separate from the objects – ルールはオブジェクトの属性として追加されるのではなく、全体のルールリストに追加されたうえで、そのオブジェクトに適用されるようスコープ設定されます。これにより、ルールを複数のオブジェクトに適用したり、変更したり、別のオブジェクトに適用し直したりすることが容易になります。個々のオブジェクトレベルでルール属性を変更する必要がある方式では、こうした作業は非常に面倒になります。
-
Rules are targeted (scoped) by writing a query – 固定された事前定義済みのルールスコープ群を使用する代わりに、柔軟なクエリシステムを使って、ルールを適用するオブジェクトを定義します。これにより、各Design Ruleの対象を正確に制御できます。
-
Rules for any design situation – 同じ種類のルールを複数定義し、それぞれ異なるオブジェクト群に適用できます。これにより、基板制約の定義を完全に制御できます。たとえば、異なる層上で異なる幅でネットを配線するために、異なる幅ルールを定義できます。
-
Each rule has a priority – 任意の設計オブジェクトは、同じ種類の複数のルールの対象にすることができ、一般的な状況にも、より具体的な状況にも対応できます。ルール間の競合を解決するには、ルールの優先順位が使用されます。システムは最も高い優先順位から最も低い優先順位まで順にルールを確認し、チェック対象のオブジェクトにスコープ式が一致した最初のルールを選択します。
-
There are two types of rules – 単項ルール(オブジェクトに求められる動作を定義するルール)と二項ルール(2つのオブジェクト間の相互作用を定義するルール)があります。
Altium DesignerのDesign Rulesは、このページで説明している PCB Rules and Constraints Editor ダイアログ内で定義および管理されます。設計制約ルールを管理する別の方法として、ドキュメントベースの Constraints Editor([Constraints] ドキュメントタブ)を使用することもできます。
Design Rulesの定義と管理
PCB Rules and Constraints Editor ダイアログは、メインメニューから Design » Rules コマンドを選択することで開きます。
PCB Rules and Constraints Editor ダイアログには2つのセクションがあります。
-
左側のツリーには、さまざまなルールカテゴリが一覧表示されます。カテゴリを展開すると、利用可能な個々のルールタイプが表示されます。ルールタイプを展開すると、そのタイプで現在定義されているすべてのルールが表示されます。
利用可能なルールタイプとその制約について詳しくは、PCB Design Rule Types のページおよびそのサブページを参照してください。
-
ダイアログ右側には、ツリーで現在選択されている項目に応じた情報が表示されます。選択したルールタイプまたはカテゴリについて定義済みルールの概要、システム全体のすべての定義済みルール、または実際のルールが選択されている場合はそのルールの制約が表示されます。
-
ルートフォルダーをクリックすると、すべてのカテゴリにまたがるすべてのDesign Ruleタイプについて定義された個別ルールの一覧概要が、ダイアログのメイン編集領域に表示されます。
-
カテゴリフォルダーをクリックすると、そのカテゴリに関連付けられたすべてのDesign Ruleタイプについて定義された個別ルールの一覧概要が表示されます。
-
ルールタイプフォルダーをクリックすると、そのタイプについて定義された個別ルールの一覧概要が表示されます。
概要一覧では、各ルールについて次の項目が表示されます。
-
Name - ルール名。
-
Priority - ルールの現在の優先順位。
-
Enabled - ルールが現在有効か無効か(クリックで切り替え可能)。 無効なルールは概要一覧でグレー表示されます。
-
Type - ルールのタイプ。
-
Category - そのルールが属するカテゴリ。
-
Scope - ルールのスコープ(つまり、どのオブジェクトに適用されるか)。
-
Attributes - そのルールに対して定義されている制約属性。
フォルダーツリーペイン内の特定ルールの項目をクリックするか、概要一覧内のその項目をダブルクリックすると、その定義を管理するためのコントロールにアクセスできます。
-
Name - ルールの現在の名前。必要に応じて変更できます。
-
Comment - このフィールドには、そのルールに追加されたコメントが表示されます。たとえば、そのルールの用途を示すわかりやすい説明などです。
-
Unique ID - ルールの一意識別子。各ルールはそれ自体が設計オブジェクトであり、したがって実体のあるデータです。IDを使用することで一意性が保証されます。Unique IDが真価を発揮するのは、回路図ドメイン内で作成されたルールの場合です。回路図上のオブジェクトにDesign Ruleパラメータを追加すると、各ルールパラメータに一意のIDが付与されます。同じIDが、PCB内で作成される対応するDesign Ruleにも付与されます。このUnique IDにより、ルールの制約は回路図側またはPCB側のどちらでも編集でき、同期時に変更内容を反映できます。
-
Test Queries - クリックすると Test Queries Result dialog が開きます。このダイアログには、定義したルールの特殊化を考慮したうえで、そのルールの影響を受けるオブジェクト数が表示されます。これにより、クエリに応答するオブジェクトが存在するかを確認できるほか、フィルターとルールの影響を受けるオブジェクト集合が意図どおりかどうかを確認できます。
-
Rule Scoping Controls - この領域には、ルールが適用される、またはルールの対象となるオブジェクトに関して、そのスコープを決定するためのコントロールが用意されています。
-
Constraints - このダイアログ領域には、編集中のルールタイプに適用される制約が表示されます。各種コントロールを使用して、必要に応じてこれらの制約を設定してください。制約領域の上にある F1 を押すと、ドキュメント内の PCB Design Rule Types 領域にある、そのルールタイプのページにアクセスできます。
-

PCB Rules and Constraints Editor ダイアログ – Design Rules管理の中枢。
Design Rulesの確認
ソフトウェアで新規作成されたデフォルトのボードには、あらゆる設計で必要となるわけではないルールが含まれており、さらに多くの設計ルールは設計要件に合わせて調整する必要があります。そのため、設計ルールを確認することが非常に重要です。これは PCB Rules and Constraints Editor で行えます。左側のツリーの最上部にある Design Rules を選択し、Attributes 列を下へ確認してすべてのルールを見ていくことで、値の調整が必要なルールをすばやく見つけられます。
新しいボードを作成すると、設計に不要な可能性のあるデフォルト設計ルールが含まれます。不要なルールは、PCB Rules and Constraints Editor 内の Design Rules エントリ、または特定のカテゴリのエントリをクリックし、ルールを無効化することで無効にできます(Enabled 列のチェックボックスをオフにします)。
デフォルトのボードではヤード・ポンド法の単位も使用されます。ボードでメートル法を使用する場合、たとえば Soldermask expansion のような多くのルール値は、4mil のような丸められた値から 0.102mm に変わり、また Minimum Solder Mask Sliver のデフォルト値は 10mil から 0.254mm に変わります。たとえば 0.002mm のような最下位桁は出力生成時には重要ではありませんが、気になる場合は設計ルール内でこれらの設定を編集できます。

設計ルールを確認する際は、必要に応じて列の順序を変更できる点にも注意してください。
デフォルト設計ルール
新しい PCB ドキュメントを作成すると、Design Rule Check システムを正しく機能させるために必要なデフォルトルールがいくつか含まれます。デフォルトルールを削除した場合、PCB Rules and Constraints Editor を閉じると自動的に再作成されます。使用したくない設計ルールがある場合、それらを管理する正しい方法は無効化することです。
ルールを無効化するには、PCB Rules and Constraints Editor ダイアログの右側にあるサマリーリストのいずれかで、そのルールに対応する Enable オプションを切り替えます。無効化されたルールは「グレー表示」されます。設計ルールの無効化 の詳細も参照してください。
不要なルールは Enable オプションを使用して無効化します。 無効化されたルールは「グレー表示」されます。
新しいルールの作成
PCB Rules and Constraints Editor ダイアログ内から新しい設計ルールを追加するには、左側のツリー内で必要なルールタイプに移動して選択し、ルールサマリーリストの下にある New Rule ボタンをクリックするか、必要なルールタイプ上で右クリックしてコンテキストメニューから New Rule を選択します。
新しいルールはフォルダツリーに追加され、そのルールタイプのサマリーリストにも表示されます。ルール名は、新規作成されまだ「適用」されていないことを示すために太字で表示されます。
そのルールのスコープおよび制約属性にアクセスするには、フォルダツリーペイン内のルールのエントリをクリックするか、サマリーリスト内のエントリをダブルクリックします。すると、ダイアログのメイン編集ウィンドウが切り替わり、そのルールのスコープと制約属性を定義するためのコントロールにアクセスできるようになります。

スコープおよび制約を含む、ルールの詳細コントロールにアクセスします。
新しいルールを完全に定義するには、次を行います。
- ルールを識別しやすいように、意味のある名前を付けます。
- ドロップダウンからスコープオプションを選択するか、クエリを入力して(バイナリルールの場合は複数のクエリ)、ルールのスコープを定義します。
- ルールの制約を設定します。
- ルールの優先度を設定します。
Rule Wizard を使用して新しいルールを作成する
新しいルールは Design Rule Wizard を使用して作成することもできます。アクセスは Design » Rule Wizard コマンドを直接使用するか、PCB Rules and Constraints Editor ダイアログ下部の Rule Wizard ボタンをクリックして行います。
Wizard の各ページを使用して新しい設計ルールを作成します。手順は次のとおりです。
- 必要なルールタイプを選択し、わかりやすい名前を付けます(必要に応じてコメントも入力します)。
- ルールのスコープを定義します。Wizard に組み込まれた Query Builder の機能を使って、さらにスコープを詳細化できます。
- ルールの優先度を設定します。

Design Rule Wizard を使用してルール作成を効率化します。
既存ルールの複製
既存ルールと同一のコピーをすばやく作成するには、複製機能を使用します。この機能には次の 2 通りの方法でアクセスできます。
-
左側のツリーを使用して目的の既存ルールに移動し、右クリックしてコンテキストメニューから Duplicate Rule を選択します。
-
左側のツリーで特定のルールタイプに移動し、右側のサマリーリストで複製するルールを選択して、リスト下部の Duplicate Rule ボタンをクリックします。
複製されたルールには、元のルールと同じ名前に接尾辞(例:_1)が追加され、区別されます。その定義(スコープ、制約など)は元のルールと同一です。優先度については、元のルールより 1 つ低い次の優先度が与えられます。したがって、たとえば元のルールの優先度が 1 の場合、複製ルールには 2 の優先度が与えられます。
PCB Filter パネルからルールを作成する
設計ルールは対象となる設計オブジェクトのセットに適用されるようスコープ設定されるため、先にそれらのオブジェクトを特定してから、それらを対象とする設計ルールを作成したほうが簡単で効率的な場合があります。PCB Filter panel には、パネル内で現在定義されているクエリ式をスコープとして使用する設計ルールを作成する機能があります。したがって、クエリ式 might が何を対象としているのかを頭の中で思い描こうとするのではなく、PCB Filter パネルを使用して必要なオブジェクトだけがフィルタされるまでクエリ式をテストおよび調整できます。その後、そのクエリ式を使用するルールを作成すれば、正しいオブジェクトセットを確実に対象にできます。
新しい設計ルールを追加するには、次の手順を行います。
- Create Rule ボタンをクリックします。Choose Design Rule Type ダイアログが表示されます。このダイアログには、PCB ドキュメントで使用可能な各ルールカテゴリとルールタイプが一覧表示されます。
- 作成するルールの種類を選択し、OK をクリックします(またはエントリを直接ダブルクリックします)。
- PCB Rules and Constraints Editor ダイアログが表示されます。選択したタイプのルールが作成され、そのルールのメイン編集ウィンドウが表示され、ルール固有の制約を定義できる状態になります。ルールのスコープオプションは Custom Query に設定され、PCB Filter パネルのクエリ式がそれに応じてクエリ領域に入力されます。
- 必要に応じて、ルール名および制約を変更します。また、必要であれば優先度も変更します(デフォルトでは最優先が割り当てられます)。

PCB Filter パネルから直接新しい設計ルールを作成します。フィルタのクエリ式がルールのスコープとして使用されます。
過去のクエリ式の再利用
時間の経過とともに、さまざまな基板をレイアウトしていく過程で、多くの便利なクエリ式が作成されます。通常は、同じ設計内だけでなく、異なる設計間でも同じクエリを適用し、再利用したくなるでしょう。これを可能にするため、PCB Filter panel は Historical と Favorite の概念をサポートしています。
パネルからクエリを入力して適用すると、そのクエリはクエリの「履歴リスト」に追加されます。さらに、そのクエリは Add To Favorites ボタンをクリックすることでクエリの「お気に入りリスト」に追加できます。パネル内の History ボタンおよび Favorites ボタンを使用すると、Expression Manager dialog 内の同名の各タブにアクセスして、これらのリストを確認できます。

適用したクエリ式の履歴にアクセスし、繰り返し再利用するためのお気に入り式の一覧を作成できます。
どちらのリストの式も、項目をダブルクリックするか、項目を選択して Apply Expression ボタンをクリックすることで使用できます。Expression Manager ダイアログは閉じられ、その式が Filter panelPCB Filter の Filter 領域に読み込まれます。
この機能により、必要なスコープを持つルールの作成が簡素化され、効率化されます。履歴またはお気に入りのクエリ式を取得し、それが引き続き必要なオブジェクトセットを対象としていることを確認し(フィルターを適用)、前のセクションで説明したように、その式をスコープに使用するルールを作成します。
Design Rule のスコープ設定
Altium Designer の PCB エディターは、ルール駆動型の環境です。設計要件は、基板に対する制約をまとめて定義する、明確に定義された一連のデザインルールによって適用されます。デザインルールは、設計内の特定のオブジェクトを対象にします。PCB ルールシステムが、あるルールがどのオブジェクトに適用されるかを認識するには、そのルールのスコープ、つまり適用範囲を知る必要があります。Scoping、またはルールのターゲット設定は、PCB Rules and Constraints Editor ダイアログで行います。
デフォルトのデザインルール、または新たに追加されたルールには、デフォルトのルールスコープとして All が設定されており、これは基板上の all objects に適用されることを意味します。ドロップダウンを使用すれば、シンプルなルールスコープをすばやく設定できます。

デザインルールのスコープを設定して、設計オブジェクトへの適用範囲を定義します。
あらかじめ定義されたターゲット候補の一覧に制限されるのではなく、各デザインルールは、Query と呼ばれるものを記述することで、さらに厳密にスコープ設定できます。
クエリを入力するには、最初の Where The Object Matches ドロップダウンを Custom Query に設定します。現在のドロップダウン設定に基づいて、このルールに対してルールエンジンが現在使用しているクエリが表示されます。
クエリとは本質的に、対象とする設計オブジェクトの集合を定義するソフトウェアへの指示です。クエリはクエリキーワードを使用して記述します。Filter panel で特定のオブジェクトセットを見つけるためにクエリを書けるのと同様に、各ルールが対象とするオブジェクトを定義するためにもクエリを書けます。たとえば、次のようになります。
InNet('VBAT') And OnLayer('Bottom Layer')
このクエリを Width rule のスコープとして使用した場合、VBAT ネットを配線していてボトムレイヤーに切り替えると、そのトラック幅はそのルールの制約として指定された幅に自動的に変更されます。また、デザインルールチェックを実行した際には、ボトムレイヤー上の VBAT ネット配線は指定された幅でなければならず、そうでない場合は違反として報告されます。

ルールのスコープ設定はクエリシステムに基づいています。Custom Query オプションを使用すると、現在のクエリを確認し、必要に応じてクエリキーワードを使って変更できます。
スコープ設定オプション
シンプルなスコープ設定オプションが用意されており、これを使うとスコープクエリをすばやく生成できます。最初のドロップダウンフィールドからいずれかのオプションを選択し、必要に応じて後続のドロップダウンリストを使用して、Net、Layer、Footprint、Package などの適切なターゲットを選択します。表示されるスコープ設定オプションは、ルールタイプに応じて最適化されています。

シンプルなスコープ設定オプションを使って、クエリをすばやく作成します。
シンプルなスコープ設定オプションの例を以下に示します。
-
All - すべての設計オブジェクトを対象とするスコープクエリを生成します。
-
Net - 特定のネット内のすべてのオブジェクトを対象とするスコープクエリを生成します。追加のドロップダウンが表示され、利用可能な候補の一覧(No Net を含む)から目的のネットを選択できます。
-
Net Class - 特定のネットクラス内のすべてのオブジェクトを対象とするスコープクエリを生成します。追加のドロップダウンが表示され、利用可能な候補の一覧(All Nets を含む)から目的のネットクラスを選択できます。
-
Layer - 特定のレイヤー上のすべてのオブジェクトを対象とするスコープクエリを生成します。追加のドロップダウンが表示され、利用可能な候補の一覧から目的のレイヤーを選択できます。
-
Net and Layer - 特定のネット内かつ特定のレイヤー上のすべてのオブジェクトを対象とするスコープクエリを生成します。追加の 2 つのドロップダウンが表示され、そこから目的のネットとレイヤーを選択できます。
Custom Query オプションを使用すると、独自の、より複雑である一方でより具体的なクエリを記述できます。ルールスコープ用の独自のクエリを、右側のクエリ領域に直接入力できます。あるいは、論理クエリ式の作成を支援する 2 つの機能、Query Builder と Query Helper も利用できます。これらは、クエリの構文や使用可能なキーワードに自信がない場合に役立ちます。

Custom Query オプションを使用して、より複雑なクエリ式を作成します。
Query Builder を使用したルールのスコープ設定
Custom Query オプションが選択されている場合は、
ボタンをクリックして Building Query from Board dialog を開きます。これにより、条件文の文字列をシンプルに組み立てることで、設計ドキュメント内の特定のオブジェクトを対象とするクエリを作成できます。
ダイアログの左側のセクションでは、必要なオブジェクト群を対象にするために必要な条件を指定します。各条件は、Condition Type とCondition Valueで構成されます。これらのドロップダウンフィールドには、それぞれ現在のルールタイプのスコープ構築に関連する項目と、選択した条件タイプに対応する値が表示されます。
条件を定義すると、現在構築中のクエリのプレビューがダイアログ右側のセクションに表示されます。条件は AND や OR で組み合わせることができ、さらに優先順位も(括弧やインデントを使って)組み込むことで、対象オブジェクトの集合をより絞り込めます。必要なクエリ式の定義が完了したら、OKをクリックすると、その式がPCB Rules and Constraints Editorダイアログのクエリ領域に読み込まれます。

Query Builderを使用すると、一連の条件文によって論理クエリ式を構築できます。
Query Helper を使用したルールのスコープ設定
Custom Queryオプションを選択した場合は、
ボタンをクリックしてQuery Helper dialogにアクセスします。内部の Query Engine が PCB 設計を解析し、使用可能なすべてのオブジェクトと、クエリで使用するための汎用キーワードを一覧表示します。
Query Helperの操作はかなり直感的ですが、以下の画像に示すように 3 つの明確な領域に分けて考えると、さらに理解しやすくなります。

Query Helperを使用して定義した複雑なクエリの例。
これらの領域は次のとおりです。
- Query Region – このダイアログ領域では、クエリ式を作成します。ルールスコープに現在適用されている式は、ダイアログを開いたときにデフォルトでこの領域に表示されます。この領域には直接入力でき、入力を補助するために、候補となるキーワードやオブジェクトのコンテキスト依存の「候補リスト」が表示されます。
- Operators – このダイアログ領域には、式を構築するときに使用する各種の数学演算子および論理演算子が用意されています。ボタンをクリックすると、その演算子が上のQuery領域内の現在のカーソル位置に挿入されます。
- Categories, Keywords and Objects – このダイアログ領域では、クエリ式の作成に使用できる PCB Functions、PCB Object Lists、System Functions にアクセスできます。これら 3 つの領域のいずれかでサブカテゴリをクリックすると、対応するキーワードまたはオブジェクトの一覧が右側の領域に表示されます。クエリ文字列で使用するキーワードまたはオブジェクトを見つけたら、その項目をダブルクリックしてください。すると、その項目が上のQuery領域内の現在のカーソル位置に挿入されます。
式の構文が正しいことを確認するには、
ボタン(ダイアログ左下)を使用します。必要なクエリ式の定義が完了したら、OKをクリックすると、その式がPCB Rules and Constraints Editorダイアログのクエリ領域に読み込まれます。
クエリ式における演算子の優先順位
このセクションを終える前に、論理クエリ式で使用される演算子の優先順位について確認しておくとよいでしょう。こうした知識がないと、式が意図したオブジェクトを対象にできない場合があるためです。
さまざまな演算子に対して定義されている優先順位の中で、括弧が最も高い優先順位を持ちます。この優先順位によって、ソフトウェアがクエリをどのように解釈するかが決まります(ユーザーが括弧を指定していない場合)。この優先順位は、高いものから低いものへ順に次のとおりです。
- 括弧
- Not
- ^, *, /, Div, Mod, And
- +, -, Or, Xor
- =, <>, <, >, <=, >=
- &&, ||
ルールの優先順位付け
ルールの定義と管理のプロセスを簡素化するため、まず広範な要件をカバーする一般的なルールを定義し、その後、特定の状況ではより具体的なルールでそれを上書きする、という考え方を取ります。これを可能にするには、同じタイプの複数ルールが同一オブジェクトを対象にした場合に、どのルールを使用するかを示すため、ルールに優先順位を付けられる必要があります。
たとえば、基板上で最も一般的に使用する配線幅を指定するには、基板上のすべてのネットに適用される単一のルールを定義します。その後、特定のネット(あるいはネットクラス)については、同じタイプでより高い優先順位を持つ別のルールを追加することで、このルールを上書きできます。
別の例としては、ソルダーマスク要件が挙げられます。この場合、まず基板上のすべてのパッドとビアを対象とする 1 つのマスクルールを定義し、その後、特定のフットプリント種別内のパッドについては別ルールで上書きできます。必要であれば、このフットプリント固有のルールを、そのフットプリント内の特定パッドに対してさらに上書きすることも可能です。
ルール管理における重要な点は、すべての優先順位が適切に設定されていることを確実にすることです。新しいルールを作成すると、デフォルトでは最高優先順位になります。優先順位を設定するには、PCB Rules and Constraints Editorダイアログの下部にあるPrioritiesボタンを使用して、Edit Rule Prioritiesダイアログで構成します。

Edit Rule Prioritiesダイアログでルールの優先順位を変更します。
初期状態では、このダイアログには現在PCB Rules and Constraints Editorダイアログで選択されているルールタイプのすべてのルールインスタンスが一覧表示されます。Rule Typeフィールドを使用してルールタイプを変更し、そのタイプに定義されている特定のルールを表示します。定義済みルールは、現在の優先順位順、つまり 1(最高優先順位)から下位へ向かって一覧表示されます。ルール項目を選択し、Increase PriorityボタンおよびDecrease Priorityボタンを使用して、それぞれ優先順位を上または下に移動できます。
既存ルールの変更
もちろん、ルールはいつでも変更できます。実際、最終的に実用的なルールセットに到達するまでには、いくつかの重要な調整が必要になることがよくあります。通常は、対象の設計オブジェクトが各ルールで必要どおりに「拾われる」ようにするため、スコープの調整が中心になります。PCB Rules and Constraints Editorダイアログで既存ルールを選択し、必要に応じてそのスコープや制約属性を変更してください。
既存のルール定義に加えられた変更は、フォルダツリーペインと該当するサマリーリストの両方で強調表示されます。こうした項目は、ルール名が太字になり、その右側にアスタリスクが表示されることで区別されます。このアスタリスクは、そのルールが新規作成ルールではなく、変更された既存ルールであることを示します(新規作成ルールはアスタリスクなしの太字で表示されます)。

変更された既存ルールの例。変更は、ルール名を太字にし、さらにアスタリスクを付けることで示されます。
無効なルールの表示
システムによってルールが無効と判定された場合、たとえばスコープのクエリ式に問題がある、または許可されていない制約値が設定されている場合、そのルールには無効であることが示されます。そのようなルールは、PCB Rules and Constraints Editorダイアログ内で赤色表示され、左側のルールツリーと、そのルールが表示されるすべてのサマリービュー(ルールカテゴリまたはルールタイプ)の両方で強調表示されます。さらに、左側のルールツリーでは、ルールタイプとルールカテゴリのテキストも赤色で表示されます。したがって、無効なルールを含むルールツリーの領域を折りたたんでいても、階層のより上位レベルでその存在に気付くことができます。ダイアログを閉じようとすると、警告メッセージも表示されます。
構文エラーを含むルールスコープは、Online DRC および Batch DRC の解析を大幅に遅くする可能性があるため、構文的に正しくないルールスコープは必ず解消してください。

システムが無効な設計ルールを検出して示している例。この場合は、スコープのクエリ式に誤りがあります。
ルールの無効化
ソフトウェアのPCBエディターにおけるルール駆動型環境では、基板を適切に制約するために、かなり充実した包括的なルール群を構築することは珍しくありません。さまざまな理由により、それらのルールの一部を無効にしたい場合があります。 たとえば、そのルールが対象の基板には適用されない場合や、Design Rule Checkerの負荷を軽減して(結果として)パフォーマンスを向上させるために一時的に無効にする必要がある場合です。無効化しておけば、将来再び必要になったときに備えて、そのようなルールを保持しておくことができます。
ルールを無効にするには、PCB Rules and Constraints Editorダイアログの右側にある関連するサマリーリストのいずれかで、そのルールに対応するEnableオプションを切り替えます。無効化されたルールは、グレー表示でも示されます。

サマリーリスト内でグレーのフォントで表示されている、無効化されたルールの例。
ルールの削除
PCB Rules and Constraints Editorダイアログ内で単一のデザインルールを削除するには、次のいずれかの方法を使用します。
- 左側のツリーを使って目的の既存ルールに移動し、右クリックしてコンテキストメニューからDelete Ruleを選択します。
- 左側のツリーで特定のルールタイプに移動し、右側のサマリーリストで削除するルールを選択します。その後、リストの下にあるDelete Rule(s)ボタンをクリックします。
ルール名は太字かつ取り消し線付きで表示され、まだ「適用」されていない削除対象であることが区別されます。
多くのルールタイプでは、新しいPCBドキュメントの作成時にデフォルトルールが作成されます。同様に、それらのルールタイプのいずれかについてすべての個別ルールが削除された場合、次回PCB Rules and Constraints Editorダイアログを開いたときにデフォルトルールが自動的に再追加されます。あるいは、ダイアログの下部にあるCreate Default Rulesボタンをクリックすることで、デフォルトルールを再作成することもできます。
ルールのエクスポートとインポート
デザインルールは、PCB Rules and Constraints Editorダイアログからエクスポートしたり、そこへインポートしたりできます。これにより、異なる設計間でお気に入りのルール定義を保存および読み込みできます。
-
To export – ダイアログ左側のツリー内の任意の場所を右クリックし、Export Rulesを選択します。 Choose Design Rule Type dialogが開き、エクスポートするデザインルールを選択できます。続いて開くExport Rules to Fileダイアログで、.rulファイルの名前と保存場所を指定できます。 エクスポートされたルールは、PCBルールファイル(
*.rul)に保存されます。 - To import – ダイアログ左側のツリー内の任意の場所を右クリックし、 Import Rulesを選択します。 Choose Design Rule Type dialogが開き、インポートするデザインルールを選択できます。続いて開くImport Fileダイアログで、インポートする.rulファイルを参照します。
デザインルールレポート
現在定義されているデザインルールのレポートは、PCB Rules and Constraints Editorダイアログ内から生成できます。レポートは、フォルダーツリーで選択されている項目に応じて、すべてのルールカテゴリ、特定のルールカテゴリ、または特定のルールタイプに対応できます。レポートは、次の方法で生成できます。
- 目的のサマリーリストを開き、右クリックしてコンテキストメニューからReportコマンドを選択するか、リストの下にあるReportボタンをクリックします。
- フォルダーツリー内の該当項目を右クリックし、コンテキストメニューからReportコマンドを選択します。
適切なレポートがすでに読み込まれた状態で、Report Previewダイアログが開きます。このダイアログでは、さまざまなページ/ズームコントロールを使用してレポートを確認し、その後ファイルへエクスポートしたり印刷したりできます。
Options and Controls of the Report Preview Dialog
- Preview Window - このダイアログのメイン領域には、生成されたレポートのプレビューが表示されます。レポートは、ウィンドウ下部の各種コントロールおよび右クリックメニューを使用して操作できます。
- Page x of x - 最初のxは現在表示中のページ番号、2番目のxはレポート全体の総ページ数です。
- All - このボタンをクリックすると、利用可能なプレビューウィンドウ内に収まるようにページサイズが調整されます。ダイアログ(したがってプレビューウィンドウ)のサイズを変更すると、ページ全体が見えるようにサイズも再調整されます。
- Width - このボタンをクリックすると、利用可能なプレビューウィンドウの横幅いっぱいに収まるようにページサイズが調整されます。ダイアログ(したがってプレビューウィンドウ)のサイズを変更すると、ページの全幅が常に表示されるようにサイズも再調整されます。
- 100% - このボタンをクリックすると、ページは実寸(100%)に設定されます。
- % - このフィールドを使用して拡大または縮小します。実寸は100%です。小さい値を入力すると縮小表示されたレポートが表示され、大きい値を入力すると拡大表示されたレポートが表示されます。
- Page Navigation Controls - このコントロール群は、レポートのページ間を移動するための別の手段を提供します。これらのコントロールにより、ドキュメントの最初、前、次、最後のページへそれぞれ移動できます。あるいは、テキストボックスにページ番号を直接入力してEnterを押すこともできます。
-
Export - このボタンをクリックすると、Export Report From Project ダイアログが開き、レポートの保存場所、名前、エクスポート形式を指定して保存できます。 次の形式がサポートされています。
- Microsoft Excel Worksheet (*.xls)
- Adobe PDF (*.pdf)
- Rich Text Format (RTF) (*.rtf)
- Web Page (*.htm, *.html)
- Web Layer (CSS) (*.htm, *.html)
- JPEG Image File (*.jpg)
- Window Bitmap File (*.bmp)
- TIFF Image File (*.tif)
- Print - このボタンをクリックするとレポートを印刷します。標準のPrint ダイアログが表示され、ページ範囲や部数を指定できます。
- Open Report - このボタンをクリックすると、Exportで指定したアプリケーションで生成済みレポートを開きます。このボタンは、Export ボタンをクリックした後にのみ使用可能です。
右クリックコマンド
上記のコマンドの一部は、このダイアログ内の任意の場所を右クリックして表示される右クリックメニューからも利用できます。
-
Print - このボタンを使用してレポートを印刷します。 標準のPrint ダイアログが表示され、そこでページ範囲や部数を指定できます。
-
Export - このボタンをクリックすると、Export Report From Project ダイアログにアクセスでき、保存先、名前、エクスポート形式を指定してレポートを保存できます。 以下の形式がサポートされています:
- Microsoft Excel ワークシート (*.xls)
- Adobe PDF (*.pdf)
- Rich Text Format (RTF) (*.rtf)
- Web ページ (*.htm, *.html)
- Web レイヤー (CSS) (*.htm, *.html)
- JPEG 画像ファイル (*.jpg)
- Windows ビットマップファイル (*.bmp)
- TIFF 画像ファイル (*.tif)
-
Copy - このボタンを使用して、アクティブなページを Windows クリップボードにコピーします。必要に応じて、そこから外部アプリケーションに貼り付けることができます。
-
Page Width - このボタンをクリックすると、利用可能なプレビューウィンドウの横幅に収まるようにページサイズが調整されます。ダイアログ(およびプレビューウィンドウ)のサイズを変更すると、ページは幅全体が常に完全に表示されるようにリサイズされます。
-
Whole Page - このコマンドを使用すると、利用可能なプレビューウィンドウ内に収まるようにページサイズが調整されます。
-
Zoom In - このコマンドを使用して、レポートを段階的に拡大します。
-
Zoom Out - このコマンドを使用して、レポートを段階的に縮小します。
回路図上でのルール定義
設計制約(ルール)は、設定済みルールを持つ Parameter Set ディレクティブを回路図ソースドキュメントに追加することで、PCB レイアウト前に定義できます。設計を PCB ドキュメントへ転送した際に作成される対応する PCB 設計ルールのスコープは、そのパラメータが割り当てられているオブジェクトの種類によって決まります。以下の表は、サポートされている回路図パラメータから PCB ルールスコープへの対応オプションをまとめたものです。
| 次の対象にルールを追加... | 追加元... | PCB ルールスコープ... |
|---|---|---|
| Wire | Properties panel で(選択した parameter set オブジェクトのプロパティを参照中に)、Parameter Set object をワイヤ上に配置した後、Place » Directives » Parameter Set コマンドを使用します。 | Net |
| Bus | Properties panel で(選択した parameter set オブジェクトのプロパティを参照中に)、Parameter Set object をバス上に配置した後、Place » Directives » Parameter Set コマンドを使用します。 | Net Class |
| Harness | Properties panel で(選択した parameter set オブジェクトのプロパティを参照中に)、Parameter Set object をハーネス上に配置した後、Place » Directives » Parameter Set コマンドを使用します。 | Net Class |
| Blanket | Properties panel で(選択した parameter set オブジェクトのプロパティを参照中に)、Parameter Set object をブランケットの境界上に配置した後、Place » Directives » Parameter Set コマンドを使用します。ブランケットでカバーされるすべてのネットに対するネットクラスを作成し、それをルールスコープに使用できるようにするため、必要な名前のクラスを含めてください。 | Net Class |
いずれの場合も、ルールベースのパラメータを追加する方法は同じです。
-
パラメータをルールとして追加します。
-
使用するルールタイプを選択します。
-
選択したルールタイプの制約を設定します。
ルール適用の確認
基板設計によっては、非常に単純なものから非常に複雑なものまで、さまざまなスコープを持つ相当数の設計ルールを定義する必要があります。定義したルールが意図したオブジェクトを確実に対象としているか確認することをお勧めします。ルール定義の段階で注意しておけば、不適切なルールスコープが原因で発生する違反を追跡するための無駄な時間や労力を省けます。
ルールスコープを検証する方法は基本的に 2 つあります。設計オブジェクトを選択して現在それらに適用されているルールを確認する方法、またはルール側から見て、そのスコープに含まれるオブジェクトを確認する方法です。
オブジェクトの観点から
現在の設計内の任意の配置済みオブジェクトについて、そのオブジェクトに適用される単項設計ルールの情報へすばやくアクセスできます。オブジェクト上にカーソルを置き、右クリックして Applicable Unary Rules を選択します。選択したオブジェクトに適用される可能性のあるすべての定義済み設計ルールが解析され、Applicable Unary Rules ダイアログに一覧表示されます。

単一の設計オブジェクトに適用可能な設計ルールの例 ― 単項ルール。
ダイアログに表示される各ルールの横には、チェック(
)またはバツ印(
)が付きます。チェックは、同じタイプの適用可能なルールのうち最優先のルールを示し、これが現在適用されているルールです。同じタイプで優先度の低いルールにはバツ印が付き、適用可能ではあるものの、最優先ルールではないため現在は適用されていないことを示します。
同様に、設計内の 2 つの配置済みオブジェクト間に適用される二項設計ルールの情報にもアクセスできます。任意のオブジェクト上にカーソルを置き、右クリックして Applicable Binary Rules を選択します。案内に従って設計内の 2 つのオブジェクトを選択してください。すると Applicable Binary Rules ダイアログが開き、それらのオブジェクト間に適用されるすべての二項設計ルールが表示されます。

2 つの設計オブジェクト間に適用可能な設計ルールの例 ― 二項ルール。
ルールの観点から
PCB Rules And Violations パネルから確認する
PCB Rules And Violations panel から、特定のルールがどのオブジェクトに適用されるかをすばやく確認することもできます。このパネルには、設計で現在定義されているすべてのルールが一覧表示されます。すべてのルールを表示することも、ルールタイプ別に表示することもできます。ただし、対象のタイプのルールがアクティブな設計内に少なくとも 1 つ定義されている必要があります。パネルの Rules 領域で特定のルールをクリックすると、そのルールをフィルタのスコープとしてフィルタリングが適用されます。ルールのスコープに含まれる設計オブジェクトだけがフィルタ表示されます。Mask(または Dim)のハイライト機能を使うことで、ルールの対象となるオブジェクトをすばやく確認できます。

PCB Rules And Violations パネルを使用して、選択したルールがどのオブジェクトに適用されるかを確認する例。
PCB Rules And Violations パネルを使って、ルールがどのオブジェクトに適用されるかを確認する機能は、ルールスコープのクエリを作成する際に特に便利です。ルールはパネルから直接編集できるため、目的のオブジェクトがスコープに含まれるまでクエリを微調整できます。
ルールのスコープおよび制約を編集するには、パネル内のルール項目をダブルクリックするか、右クリックしてコンテキストメニューから Properties を選択します。関連する Edit PCB Rule ダイアログが表示され、そこで変更を行えます。

ルールは PCB Rules And Violations パネルから直接編集できるため、その場でルールスコープや制約をさらに調整できます。
PCB Rules and Constraints Editor ダイアログから確認する
PCB Rules and Constraints Editor ダイアログにはクエリテスト機能があり、特定のルールがどのオブジェクトに適用されるかをすばやく確認できます。テストしたいルールのダイアログ右上にある
ボタンをクリックすると、Test Queries Result ダイアログが表示されます。このダイアログには次の内容が反映されます。
-
Expression result – 式のスコープに含まれるオブジェクト数。
-
Objects applicable to rule – 現在のルールの式およびタイプに基づく適用可能オブジェクト数。
-
Expression and rule priority (単項ルールのみ)– 現在のルールの式、タイプ、および優先度に基づく適用可能オブジェクト数(つまり、より高い優先度のルールがある場合、そのルールのスコープに含まれるオブジェクトはこの値には含まれません)。
-
Rules with highest priorities(単項ルールのみ)– より高い優先度のルールがある場合、それらの一覧がダイアログに表示され、それぞれに適用されるオブジェクト数(つまり、それらの Expression and rule priority 値)も併せて表示されます。
右側のリンクをクリックすると、各ケースで該当するオブジェクトを設計空間上で直接フィルタしてすばやく確認できます。Mask ドロップダウンから Normal、Mask, 、または Dim を選択し、PCB ドキュメント内で影響を受けるオブジェクトをどのようにハイライトするかを指定します。Zoom がチェックされている場合、PCB ドキュメントは対象コンポーネントへもズームします。

Test Queries 機能を使用して、ルールのスコープ式によって抽出されるオブジェクトをすばやく確認します。




