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

PCB Rules and Constraints Editor ダイアログ – 設計ルール管理の中枢。
設計ルールの見直し
ソフトウェアで作成されたデフォルトの新規基板には、すべての設計で必要になるわけではないルールが含まれており、さらに多くの設計ルールは設計要件に合わせて調整する必要があります。このため、設計ルールを見直すことは非常に重要です。これは PCB Rules and Constraints Editor で実行できます。左側ツリーの最上部で Design Rules を選択し、すべてのルールについて Attributes 列を上から確認して、値の調整が必要なものをすばやく見つけてください。
新しい基板を作成すると、設計に不要なデフォルト設計ルールが含まれることがあります。不要なルールは、PCB Rules and Constraints Editor の Design Rules エントリまたは特定カテゴリのエントリをクリックし、ルールを無効化することで除外できます(Enabled 列のチェックボックスをオフにします)。
デフォルト基板ではヤード・ポンド法単位が使用されます。基板でメートル法を使用する場合、ソルダーマスク拡張のような多くのルール値が、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 オプションを切り替えます。無効なルールは「グレー表示」されます。disabling design rules の詳細を参照してください。
不要なルールは 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 の場合、複製ルールの優先順位は 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 ダイアログが閉じ、式が PCB 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 パネルでクエリを記述できるのと同様に、各ルールが対象とするオブジェクトを定義するためにもクエリを記述できます。例を挙げると、次のようになります。
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 つのオブジェクトを対象とした場合に、どのルールを使用するかを示すための優先順位を設定できる必要があります。
たとえば、基板で最も一般的に使われる配線幅を指定するには、基板上のすべてのネットに適用される単一のルールを定義します。その後、特定のネット(あるいはネットクラス)については、同じタイプでより高い優先順位を持つ別のルールを追加することで上書きできます。
別の例として、ソルダーマスク要件が挙げられます。この場合、まず基板上のすべてのパッドとビアを対象とする 1 つのマスクルールを定義し、その後、特定の footprint 種別内のパッドについてこのルールを上書きできます。必要であれば、この footprint 固有のルールを、その footprint 内の特定のパッドに対してさらに上書きすることも可能です。
ルール管理における重要な側面の 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 および 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 Rule ファイル(
*.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 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)
-
-
Copy - このボタンを使用して、アクティブページを Windows クリップボードにコピーします。必要に応じて外部アプリケーションへ貼り付けできます。
-
Page Width - このボタンをクリックすると、利用可能なプレビューウィンドウの横幅いっぱいにページが収まるようにサイズ調整されます。ダイアログ(およびプレビューウィンドウ)のサイズを変更すると、ページは全幅が完全に見えるようにリサイズされます。
-
Whole Page - このコマンドを使用すると、利用可能なプレビューウィンドウ内にページ全体が収まるようにサイズ調整されます。
-
Zoom In - このコマンドを使用して、レポートを段階的に拡大します。
-
Zoom Out - このコマンドを使用して、レポートを段階的に縮小します。
回路図上でルールを定義する
設計制約(ルール)は、設定済みルールを持つ Parameter Set ディレクティブを回路図ソースドキュメントに追加することで、PCB レイアウト前に定義できます。設計が PCB ドキュメントに転送された際に作成される対応する PCB 設計ルールのスコープは、パラメータが割り当てられたオブジェクトの性質によって決まります。以下の表は、サポートされている回路図パラメータから PCB ルールスコープへの対応をまとめたものです。
| ルールを追加する対象... | 追加元... | PCB ルールスコープ... |
|---|---|---|
| ワイヤ | Properties パネル(選択した Parameter Set オブジェクトのプロパティを参照時)。Place » Directives » Parameter Set コマンドを使用してワイヤ上に Parameter Set オブジェクト を配置した後。 | Net |
| バス | Properties パネル(選択した Parameter Set オブジェクトのプロパティを参照時)。Place » Directives » Parameter Set コマンドを使用してバス上に Parameter Set オブジェクト を配置した後。 | Net Class |
| ハーネス | Properties パネル(選択した Parameter Set オブジェクトのプロパティを参照時)。Place » Directives » Parameter Set コマンドを使用してハーネス上に Parameter Set オブジェクト を配置した後。 | Net Class |
| ブランケット | Properties パネル(選択した Parameter Set オブジェクトのプロパティを参照時)。Place » Directives » Parameter Set コマンドを使用してブランケットの端に 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 パネル から、特定のルールがどのオブジェクトに適用されるかをすばやく確認することもできます。このパネルには、設計で現在定義されているすべてのルールが一覧表示されます。すべてのルールを表示することも、ルールタイプ別に参照することもできます。ただし、アクティブな設計に対して、そのタイプのルールが少なくとも 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 ドロップダウンを使用して、PCB ドキュメント内で影響を受けるオブジェクトの強調表示方法に応じて Normal、 Mask, 、または Dim を選択します。 If Zoom is checked, the PCB document will also zoom into the affected components.

Test Queries 機能を使用して、ルールのスコーピング式で取得されるオブジェクトをすばやく表示します。




)でクリックした後に Rule Set Already Exists ダイアログが開きます。インポートされたルールセット内のルールを処理するために、次の操作を利用できます。
)で各ルールセットごとに上記いずれかのオプションを選択できます。
