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 レポートを生成することもできます。ルールはオブジェクトとは独立して定義されます。
設計ルールは特定のオブジェクトを対象とし、階層的に適用されます。たとえば、基板全体に対するクリアランスルールがあり、その次にネットクラスに対するクリアランスルールがあり、さらにそのクラス内のあるパッドに対する別のルールがある、といった具合です。PCB エディターは、ルールの優先順位とスコープを用いて、設計内の各オブジェクトにどのルールを適用すべきかを判断できます。
ルールは、キーワード駆動型の query language を使用してオブジェクトを対象にします。これは、NetClass や All のような広範な識別子から、扱いの難しい状況依存の設計要件を正確に狙い撃ちする厳密に定義されたクエリまで、幅広く指定できます。
設計ルールを適切に定義しておけば、さまざまで、しばしば厳しい設計要件を持つ基板設計も、うまく完了させることができます。さらに、PCB エディターはルール駆動で動作するため、設計の初期段階でルール設定に時間をかけておけば、その後はルールシステムが成功を確実にするためにしっかり機能しているという安心感を持って、設計作業を効率的に進められます。
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 オプションを切り替えます。無効なルールは「グレー表示」されます。設計ルールの無効化 の詳細も参照してください。
不要なルールは 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 領域に読み込まれます。
この機能により、必要なスコープ設定を伴うルール作成が簡素化され、かつ迅速になります。履歴またはお気に入りのクエリ式を呼び出し、それが必要なオブジェクトセットを引き続き対象にしていることを確認し(フィルターを適用)、前節で説明したように、その式をスコープに用いるルールを作成します。
Scoping a 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 オプションを使用して現在のクエリを確認し、必要に応じてクエリキーワードを使って変更してください。
Scoping Options
単純なスコープ設定オプションが用意されており、これによりスコープクエリをすばやく生成できます。最初のドロップダウンフィールドからいずれかのオプションを選択し、必要に応じて後続のドロップダウンリストで 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 オプションを使用して、より複雑なクエリ式を作成します。
Scoping a Rule with the Query Builder
Custom Query オプションを選択した状態で
ボタンをクリックすると、Building Query from Board dialog が開きます。このダイアログでは、条件文の文字列を簡単に構成することで、設計ドキュメント内の特定オブジェクトを対象とするクエリを作成できます。
ダイアログ左側のセクションでは、必要なオブジェクト集合を対象にするために必要な条件を指定します。各条件は Condition Type と Condition Value で構成されます。これらのドロップダウンフィールドには、それぞれ現在のルールタイプのスコープ作成に関連する項目、および選択した条件タイプに対する値が表示されます。
条件を定義すると、現在構築中のクエリのプレビューがダイアログ右側のセクションに表示されます。条件同士は AND および/または OR で結合でき、さらに優先順位も組み込めるため(括弧やインデントを使用)、対象オブジェクト集合をより絞り込めます。必要なクエリ式を定義したら、OK をクリックすると、その式が PCB Rules and Constraints Editor ダイアログのクエリ領域に読み込まれます。

Query Builder を使用すると、一連の条件文を通じて論理クエリ式を作成できます。
Scoping a Rule with the 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 ダイアログのクエリ領域に読み込まれます。
Query Expression Operator Precedence
このセクションを終える前に、論理クエリ式で使用される演算子の優先順位を確認しておく価値があります。というのも、この知識がないと、式が必要なオブジェクトを対象にしない可能性があるためです。
括弧は、各種演算子に対して定義された優先順位の中で最も高い優先度を持ちます。この優先順位に従って、ユーザーが括弧を指定していない場合にソフトウェアがクエリをどのように解釈するかが決まります。優先順位は高いものから低いものへ、次の順序です。
- 括弧
- Not
- ^, *, /, Div, Mod, And
- +, -, Or, Xor
- =, <>, <, >, <=, >=
- &&, ||
Rule Prioritization
ルールの定義および管理のプロセスを簡素化するため、広範な要件をカバーする一般的なルールを定義し、その後、特定の状況ではより具体的なルールでそれらを上書きする、という考え方があります。これを可能にするには、同一タイプの複数ルールが同じオブジェクトを対象にした場合にどれを使用するかを示せるよう、ルールに優先順位を付ける必要があります。
たとえば、基板上で最も一般的に使用する配線幅を指定するには、基板上のすべてのネットに適用される単一のルールを定義します。その後、同じタイプでより高い優先順位を持つ別のルールを追加することで、特定のネット(あるいはネットクラス)に対してそのルールを上書きできます。
別の例として、ソルダーマスク要件があります。この場合、まず基板上のすべてのパッドとビアを対象とする 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 ボタンを使用して、それぞれ優先順位を上または下へ移動できます。
Modifying Existing Rules
もちろん、ルールはいつでも変更できます。実際、最終的に機能するルールセットに到達するには、各所でいくつかの重要な調整が必要になることがよくあります。通常は、対象となる設計オブジェクトが各ルールによって意図どおりに「拾われる」ようにするためのスコープ調整が中心です。PCB Rules and Constraints Editor ダイアログで既存のルールを選択し、そのスコープおよび制約属性を必要に応じて変更してください。
既存のルール定義に加えた変更は、フォルダーツリーペインと該当するサマリーリストの両方で強調表示されます。こうした項目は、ルール名が太字になり、その右側にアスタリスクが表示されることで区別されます。このアスタリスクは、そのルールが新規作成されたものではなく、変更された既存ルールであることを示します(新規ルールはアスタリスクなしの太字で表示されます)。

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

この例では、誤ったスコープクエリ式により無効な設計ルールがシステムによってフラグ付けされています。
Disabling Rules
ソフトウェアの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 panel(選択したパラメータセットオブジェクトのプロパティを参照しているとき)。Place » Directives » Parameter Set コマンドを使用してワイヤ上に Parameter Set object を配置した後に設定します。 | ネット |
| バス | Properties panel(選択したパラメータセットオブジェクトのプロパティを参照しているとき)。Place » Directives » Parameter Set コマンドを使用してバス上に Parameter Set object を配置した後に設定します。 | ネットクラス |
| ハーネス | Properties panel(選択したパラメータセットオブジェクトのプロパティを参照しているとき)。Place » Directives » Parameter Set コマンドを使用してハーネス上に Parameter Set object を配置した後に設定します。 | ネットクラス |
| ブランケット | Properties panel(選択したパラメータセットオブジェクトのプロパティを参照しているとき)。Place » Directives » Parameter Set コマンドを使用してブランケットの端に Parameter Set object を配置した後に設定します。必要な名前のクラスを含めると、ブランケットでカバーされるすべてのネットに対するネットクラスが作成され、それがルールスコープに使用されます。 | ネットクラス |
いずれの場合も、ルールベースのパラメータを追加する方法は同じです。
-
パラメータをルールとして追加する。
-
使用するルールタイプを選択する。
-
選択したルールタイプの制約を設定する。
ルール適用の確認
基板設計によっては、非常に単純なものから非常に複雑なものまで、さまざまなスコープを持つ多数の設計ルールを定義する必要がある場合があります。定義したルールが実際に意図したオブジェクトを対象としているかを確認することをお勧めします。ルール定義の段階で注意を払うことで、不正なルールスコープによって発生する違反を追跡する無駄な時間と労力を削減できます。
ルールスコープを確認する方法は基本的に 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 ドロップダウンを使用して、影響を受けるオブジェクトを PCB ドキュメント内でどのようにハイライト表示するかに応じて Normal、 Mask, 、または Dim を選択します。 Zoom がチェックされている場合、PCB ドキュメントは影響を受けるコンポーネントにもズームインします。

Test Queries 機能を使用して、ルールのスコープ式に含まれるオブジェクトをすばやく表示します。




)で
)を使用して、各ルールセットごとに上記のいずれかのオプションを選択できます。
