PCB設計ルールの定義、範囲設定、および管理

現在、バージョン 22.0. をご覧頂いています。最新情報については、バージョン PCB設計ルールの定義、範囲設定、および管理 の 25 をご覧ください。
 

親ページ: プレイアウト段階

PCBエディタは、デザインの要件を定義するためにデザインルールの概念を使用します。これらのルールは、PCBエディタが従うべき「命令セット」を形成します。ルーティング幅、クリアランス、プレーン接続スタイル、ルーティングビアスタイルなど、デザインのあらゆる側面をカバーし、多くのルールはオンラインのデザインルールチェッカー(DRC)によってリアルタイムで監視することができます。

デザインルールは特定のオブジェクトを対象とし、階層的に適用されます。例えば、ボード全体に適用されるクリアランスルールがあり、次にネットのクラスに適用されるクリアランスルールがあり、さらにそのクラスのパッドの1つに適用される別のルールがあるかもしれません。ルールの優先順位とスコープを使用して、PCBエディタはデザイン内の各オブジェクトにどのルールが適用されるかを判断できます。

よく定義された一連の設計ルールを持つことで、さまざまで厳格な設計要件を持つボード設計を成功させることができます。さらに、PCBエディタがルール駆動型であるため、設計の初めにルールを設定する時間を取ることで、ルールシステムが成功を保証するために駆動していることを認識して、設計の仕事に効果的に取り組むことができます。

定義された設計ルールのチェックに関する詳細情報については、設計ルールチェック(DRC)を参照してください。

PCBルールシステムの基本

ソフトウェアのPCBエディタに組み込まれたルールシステムには、他のPCB編集環境で使用されるほとんどの設計ルールシステムとは異なるいくつかの基本的な特徴があります:

  • ルールはオブジェクトとは別に存在します - ルールはオブジェクトの属性として追加されるのではなく、全体のルールセットに追加され、そのオブジェクトに適用されるようにスコープが設定されます。これにより、ルールを複数のオブジェクトに適用したり、異なるオブジェクトに変更または適用したりすることができ、個々のオブジェクトレベルでルール属性を変更する場合の手間を省くことができます。
  • ルールはクエリを記述することでターゲット(スコープ)されます - 固定された事前定義されたルールスコープのセットを使用する代わりに、柔軟なクエリシステムが使用され、ルールが適用されるオブジェクトを定義します。これにより、各設計ルールのターゲットを正確に制御できます。
  • あらゆる設計状況のためのルール - 同じタイプの複数のルールを定義し、異なるオブジェクトセットにターゲットすることができ、ボードの制約の定義を完全に制御できます。例えば、異なるレイヤーで異なる幅のネットをルーティングするために、異なる幅のルールを定義することができます。
  • 各ルールには優先順位があります - 任意の設計オブジェクトは、一般的な状況とより具体的な状況の両方に対応する、同じタイプの複数のルールの対象となることがあります。ルールの競合を解決するために、ルールの優先順位が使用されます。システムは単純に最高優先順位のルールから最低優先順位のルールまで順に確認し、チェックされているオブジェクトに対してスコープ式が一致する最初のルールを選択します。
  • ルールには2種類あります - 単項ルール(オブジェクトの必要な振る舞いを定義するルール)と二項ルール(2つのオブジェクト間の相互作用を定義するルール)。

Altium Designer での設計ルールは、このページで説明されているように、PCB Rules and Constraints Editorダイアログ内で定義および管理されます。設計制約ルールを管理するための別のアプローチとして、ドキュメントベースのConstraints Editor[Constraints]ドキュメントタブ)を使用することができます。

設計ルールの定義と管理

ダイアログには2つのセクションがあります:

  • 左側のツリーには、異なるルールカテゴリがリストされています。カテゴリを展開して、利用可能な個々のルールタイプを表示します。ルールタイプを展開すると、現在定義されているそのタイプのすべてのルールが表示されます。
  • ダイアログの右側は、ツリーで現在選択されている内容に関連する情報を表示します。選択されたルールタイプまたはカテゴリの定義済みルールの概要、システム全体のすべての定義済みルール、または実際のルールが選択されている場合はそのルールの制約条件が表示されます。

デザインルールを管理するための中心的なコマンド、PCB Rules and Constraints Editorダイアログ。
デザインルールを管理するための中心的なコマンド、PCB Rules and Constraints Editorダイアログ。

デフォルトの設計ルール

新しいPCBドキュメントが作成したとき、デザインルールチェックシステムの正しい機能のために存在しなければならないいくつかのデフォルトルールが含まれています。デフォルトルールが削除されると、PCBルールと制約エディタが閉じられたときに自動的に再作成されます。使用したくない設計ルールがある場合、これらのルールを管理する正しいアプローチは、それらを無効にすることです。

ルールを無効にするには、PCB Rules and Constraints Editorダイアログの右側にある要約リストのいずれかで、そのルールの対応する有効オプションを切り替えます。無効にされたルールは「グレーアウト」表示されます。設計ルールの無効化についてもっと学びましょう。

必要ないルールを無効にするには、Enableオプションを使用します。無効にされたルールは「グレーアウト」表示されます。必要ないルールを無効にするには、Enableオプションを使用します。無効にされたルールは「グレーアウト」表示されます。

デフォルトのルール値は内部的にmilsで定義されており、設計に適さない値を持つことがあります。独自のデフォルトルールと値を使用するには、以下の方法があります:

新しいルールの作成

PCB Rules and Constraints Editorダイアログ内から新しい設計ルールを追加するには、左側のツリー内で必要なルールタイプをナビゲートして選択し、ルールのサマリーリストの下にあるNew Ruleボタンをクリックするか、必要なルールタイプを右クリックしてコンテキストメニューからNew Ruleを選択します。

新しいルールはフォルダツリーに追加され、そのルールタイプのサマリーリストにも表示されます。

新しいPCB設計ルールの作成例。
新しいPCB設計ルールの作成例。

新しいルールが追加されると、最初はそのルールの特定のタイプに基づいてデフォルト名が付けられます。その名前のルールが既に存在する場合は、数値のサフィックスが増分された名前(例:Width_1Width_2など)が付けられます。

ルールのスコープと制約属性にアクセスするには、フォルダーツリーペインでそのルールのエントリをクリックするか、要約リストのエントリをダブルクリックします。ダイアログのメイン編集ウィンドウが変更され、そのルールのスコープと制約属性を定義するためのコントロールにアクセスできるようになります。

ルールの詳細な制御にアクセスする方法、範囲と制約を含む。
ルールの詳細な制御にアクセスする方法、範囲と制約を含む。 新しいルールを完全に定義するには:

  • 識別しやすい意味のある名前をルールに付ける。
  • ドロップダウンからスコープオプションを選択するか、クエリを入力して(バイナリルールの場合はクエリを複数入力して)ルールの範囲を定義する。
  • ルールの制約を設定する。
  • ルールの優先度を設定する。

ルールウィザードを使用して新しいルールを作成する

新しいルールは、デザインルールウィザードを使用して作成することもできます。アクセスは、Design » Rule Wizard commandを直接使用するか、PCB Rules and Constraints Editorダイアログの下部にあるRule Wizardボタンをクリックすることで行います。

ウィザードのページを使用して新しいデザインルールを作成します。手順は以下の通りです:

  1. 必要なルールタイプを選択し、意味のある名前(必要に応じてコメントも)を付けます。
  2. ルールの範囲を定義します。ウィザードに組み込まれたQuery Builderのインカーネーションを通じて、さらに範囲を拡張する機会があります。
  3. ルールの優先度を設定します。

Launch main design rules dialogオプションがウィザードの最後のページで有効になっている場合、FinishボタンをクリックするとPCB Rules and Constraints Editorダイアログが開きます。このダイアログを使用して、新しく作成したルールの制約を編集できます。


ルール作成を簡素化するためにデザインルールウィザードを使用します。

既存のルールの複製

既存のルールの同一コピーを迅速に作成するには、複製機能を使用します。この機能には2つの方法でアクセスできます:

  • 左側のツリーを使用して、必要な既存のルールに移動し、右クリックしてコンテキストメニューからDuplicate Ruleを選択します。
  • 左側のツリーで特定のルールタイプに移動し、右側の要約リストで複製するルールを選択してから、リストの下にあるDuplicate Ruleボタンをクリックします。

ルール複製機能を使用して、類似のルールの作成を効率化します。
ルール複製機能を使用して、類似のルールの作成を効率化します。

重複ルールは、元のルールと同じ名前にサフィックス(例:_1)を追加して区別されます。その定義(範囲、制約など)は元のルールと同一です。優先度に関しては、元のルールの次の優先度が与えられます。例えば、元のルールの優先度が1であれば、重複するルールには優先度2が与えられます。

PCB Filterパネルからルールを作成する

設計ルールは特定の設計オブジェクト群に適用されるように設定されるため、まずそれらのオブジェクトを特定してから、それらを対象とする設計ルールを作成する方が簡単(そして速い)です。 PCB Filterパネルは、パネル内で現在定義されているクエリ式を使用してその範囲を使用する設計ルールを作成する機能を提供します。したがって、クエリ式が何を対象とするかを視覚化しようと苦労するよりも、PCB Filterパネルを使用して、必要なオブジェクトのみがフィルタリングされるまでクエリ式をテストして調整します。そのクエリ式を使用してルールを作成することで、正しいオブジェクトセットを対象としていることが保証されます。

新しい設計ルールを追加するには:

  1. Create Ruleボタンをクリックします。 Choose Design Rule Typeダイアログが表示されます。このダイアログには、PCBドキュメントで利用可能なルールカテゴリとルールタイプが一覧表示されます。
  2. 作成するルールのタイプを選択し、OKをクリックします(または、エントリーをダブルクリックします)。
  3. PCB Rules and Constraints Editorダイアログが表示されます。選択したタイプのルールが作成され、ルールに対する特定の制約を定義する準備が整ったメイン編集ウィンドウが表示されます。ルールのスコープオプションはカスタムクエリに設定され、PCB Filterパネルからのクエリ式がそれに応じてクエリ領域に入力されます。
  4. 必要に応じてルールの名前と制約を変更します。また、必要に応じてその優先度を変更します(デフォルトでは最高優先度が与えられます)。


PCB Filterパネルから直接新しい設計ルールを作成する - フィルタークエリ式がルールのスコープとして使用されます。

過去のクエリ式の再利用

時間が経つにつれて、様々なボードのレイアウトを行う過程で、多くの便利なクエリ表現が構築されます。通常、同じデザインだけでなく、異なるデザインにおいても、同じクエリを適用し、再適用したいと思うでしょう。これを可能にするために、PCB Filterパネル履歴およびお気に入りクエリの概念をサポートしています。

パネルからクエリが入力され、適用されると、そのクエリはクエリの「履歴リスト」に追加されます。さらに、そのクエリはAdd To Favoritesボタンをクリックすることで、クエリの「お気に入りリスト」に追加することができます。HistoryおよびFavoritesボタンをパネルで使用して、同じ名前の対応するタブにアクセスし、Expression Managerダイアログ内のこれらのリストを確認します。


適用されたクエリ式の履歴にアクセスし、何度も再利用するお気に入りの式のリストを作成します。

リスト内の式を使用するには、そのエントリをダブルクリックするか、エントリを選択してApply Expressionボタンをクリックします。式マネージャーダイアログが閉じ、式がPCB FilterパネルのFilter領域に読み込まれます。

この機能により、必要なスコープを持つルールの作成が合理化(および迅速化)されます。過去のお気に入りのクエリ式を取得し、それがまだ必要なオブジェクトセットをターゲットにしているかを確認(フィルタを適用)し、その式をスコープとして利用するルールを作成します。これは前のセクションで詳しく説明されています。

デザインルールのスコーピング

Altium DesignerのPCBエディタは、ルール駆動型の環境です。デザイン要件は、ボードの制約を定義する一連の明確に定義されたデザインルールを通じて強制されます。デザインルールは、デザイン内の特定のオブジェクトを対象とします。PCBルールシステムが、特定のルールがどのオブジェクトに適用されるかを知るためには、そのルールのスコープ、つまりその適用範囲を知る必要があります。スコーピング、つまりルールのターゲティングは、PCB Rules and Constraints Editorダイアログで行われます。

デフォルトの設計ルール、または追加された新しいルールは、デフォルトのルール範囲がAllとなり、基板上のすべてのオブジェクトに適用されます。ドロップダウンを使用すると、簡単なルール範囲をすぐに設定できます。

設計ルールの範囲を設定して、設計オブジェクトへの適用を定義します。
設計ルールの範囲を設定して、設計オブジェクトへの適用を定義します。

設計ルールは、事前に定義された可能なターゲットオプションのリストに制限されるのではなく、クエリと呼ばれるものを記述することによって、より厳密に範囲を定めることができます。

クエリを入力するには、最初のWhere the Object MatchesのドロップダウンをCustom Queryに設定します。これにより、現在のドロップダウン設定に基づいてこのルールのルールエンジンが使用しているクエリが表示されます。

クエリは、対象となる設計オブジェクトのセットを定義するソフトウェアへの指示です。クエリはクエリキーワードを使用して記述されます。特定のオブジェクトセットを見つけるためにフィルターパネルでクエリを書くのと同じように、各ルールが対象とするオブジェクトを定義するためにクエリを書くこともできます。例えば以下のようになります:

InNet('VBAT') And OnLayer('Bottom Layer')

このクエリを幅のルールの範囲として使用した場合、VBATネットをルーティングして下層に切り替えると、トラックの幅がそのルールの制約の一部として指定された幅に自動的に変更されます。また、設計ルールチェックを実行すると、下層にあるVBATネットのルーティングは指定された幅でなければ違反としてフラグが立てられます。

ルールの範囲はクエリシステムに基づいています。Custom Queryオプションを使用して現在のクエリを表示し、必要に応じてクエリキーワードを使用して変更します。
ルールの範囲はクエリシステムに基づいています。Custom Queryオプションを使用して現在のクエリを表示し、必要に応じてクエリキーワードを使用して変更します。

ルールが単項か二項かによって、それぞれ一つまたは二つのスコープを定義する必要があります。
クエリに構文エラーがある場合、ルールは無効とみなされ、PCB Rules and Constraints Editorダイアログの左側のルールツリーと、ルールが表示される任意のサマリービュー(ルールカテゴリまたはルールタイプ)で赤く強調表示されます。さらに、ルールタイプとルールカテゴリのテキストも左側のルールツリーで赤く表示されます。そのため、無効なルールを含むルールツリーのエリアを折りたたんでいても、階層の上位レベルでそれに気づくことができます。ダイアログを閉じようとすると、警告メッセージも表示されます。構文エラーがあるルールスコープは、オンラインおよびバッチDRC分析プロセスを大幅に遅くする可能性があります。構文的に正しくないルールスコープは必ず解決してください。

スコーピングオプション

簡単なスコーピングオプションが提供されており、迅速にスコープクエリを生成できます。最初のドロップダウンフィールドから1つのオプションを選択し、必要に応じて、次のドロップダウンリストを使用して適切なターゲット(ネット、レイヤー、フットプリント、パッケージなど)を選択します。提示されるスコーピングオプションは、ルールタイプに応じて焦点が当てられています。


簡単なスコーピングオプションを使用して迅速にクエリを作成します。

簡単なスコーピングオプションを使用してルールをスコープすると、クエリが作成されます。最初のドロップダウンフィールドでCustom Queryを選択すると、クエリが表示されます。

Custom Queryオプションを使用すると、より複雑であるが、より具体的なクエリを自分で書くことができます。ルールスコープに対して自分の特定のクエリを右側のクエリ領域に直接入力できます。また、論理的なクエリ式の作成を支援するための2つの機能が用意されています。それらはQuery BuilderQuery Helperです。クエリの構文や利用可能なキーワードが不明な場合に役立ちます。

より複雑なクエリ式を作成するためにCustom Queryオプションを使用します。
より複雑なクエリ式を作成するためにCustom Queryオプションを使用します。

Query Builderは、関連する「ビルディングブロック」を使用してのみ構築できる、敏感な条件タイプと値を使用してクエリを構築するよりシンプルな方法です。完全なキーワード指定と演算子構文を使用した高度なクエリ構築には、Query Helperを使用してください。

Query Builderでルールをスコーピングする

ボタンをクリックして、Building Query from Boardダイアログを開きます。これにより、条件文のシンプルな構成を通じて、設計ドキュメント内の特定のオブジェクトをターゲットにするクエリを作成できます。

ダイアログの左側のセクションは、必要なオブジェクトのセットをターゲットにするために必要な条件を指定するために使用されます。各条件は条件タイプ条件値で構成されています。これらのドロップダウンフィールドは、現在のルールタイプのスコープを構築するのに関連するエントリーで、選択された条件タイプの値でそれぞれに入力されます。

条件が定義されると、現在構築されているクエリのプレビューがダイアログの右側のセクションに表示されます。条件はANDおよび/またはORで結合され、また、(括弧/インデントの使用を通じて)優先順位を組み込むことで、ターゲットのオブジェクトセットを洗練させることができます。クエリの式が必要に応じて定義されたら、OKをクリックすると、式がPCB Rules and Constraints Editorダイアログのクエリ領域にロードされます。

PCB Rules and Constraints Editorダイアログに表示される際、クエリ式の開始と終了に追加の括弧が付けられることに注意してください。

Query Builderを使用して、一連の条件文を通じて論理的なクエリ式を構築します。
Query Builderを使用して、一連の条件文を通じて論理的なクエリ式を構築します。

Query Helperを使用したルールのスコーピング

Custom Queryオプションを有効にした後、 ボタンをクリックして、Query Helperダイアログにアクセスします。基盤となるクエリエンジンはPCBデザインを分析し、利用可能な全オブジェクトとクエリで使用するための一般的なキーワードをリストアップします。

Query Helperを使用することはかなり直感的です、特に以下の画像に示されているように、3つの明確なエリアに分けて考えるとさらにそうです:


複雑なクエリがQuery Helperを使用して定義された例。 これらのエリアは以下の通りです:

  1. Query Region – このダイアログの領域を使用して、クエリ式を作成します。ダイアログにアクセスしたときに、デフォルトでこの領域には現在のルールスコープに影響を与える式が表示されます。この領域内で直接入力することができ、文脈に応じた「プロンプトリスト」がキーワードやオブジェクトの可能性として表示され、支援となります。
  2. Operators – このダイアログの領域では、式の構築時に使用する数学的および論理的な演算子の範囲を提供します。Query領域の現在のカーソル位置にその演算子を追加するには、ボタンをクリックします。
  3. Categories, Keywords and Objects – このダイアログの領域では、使用可能なPCB機能、PCBオブジェクトリスト、およびシステム機能へのアクセスを提供し、これらを使用してクエリ式を作成できます。これら3つのエリア内のサブカテゴリをクリックすると、右側の領域に対応するキーワードやオブジェクトのリストが表示されます。Query領域の現在のカーソル位置にクエリ文字列で使用するキーワードやオブジェクトを見つけ、そのエントリーをダブルクリックすると、エントリーが挿入されます。

ボタン(ダイアログの左下)を使用して、式が文法的に正しいかを確認します。クエリの式が必要に応じて定義された後、OKをクリックすると、式がPCB Rules and Constraints Editorダイアログのクエリ領域に読み込まれます。

Query Helperダイアログを使用してクエリを構築する際、利用可能なリストの中のキーワードをクリックしてF1を押すと、その特定のキーワードに関するドキュメントにアクセスできます。これは、クエリ言語リファレンス内で行われます。

クエリ式の演算子の優先順位

このエリアを離れる前に、論理クエリ式で使用される演算子の優先順位について見ておく価値があります。この知識がなければ、式が必要なオブジェクトを対象としない可能性があります。

括弧は、さまざまな演算子に定義された優先順位の中で最も高い優先順位を持ち、ユーザーが括弧を提供していない場合にソフトウェアによってクエリがどのように解釈されるかを決定します。この優先順位の順序は、最高から最低まで以下の通りです:

  1. 括弧
  2. Not
  3. ^, *, /, Div, Mod, And
  4. +, -, Or, Xor
  5. =, <>, <, >, <=, >=
  6. &&, ||
この優先順位は、Pascal型言語で使用されるものと似ています。曖昧さは、左から右へ作業することで解決されます。括弧は内側から外側へ評価され、同じレベルは左から右へ評価されます。
クエリが正しく解釈されない可能性がある場合は、括弧を使用することを強くお勧めします。括弧をたっぷり使用することで疑問が取り除かれ、結果として得られるクエリが他の人にとって読みやすくなります。

ルールの優先順位付け

ルールを定義し、管理するプロセスを簡素化するために、広範な要件をカバーする一般的なルールを定義し、それらを特定の状況で特定のルールで上書きするという考えがあります。これを可能にするためには、同じタイプの複数のルールによってオブジェクトが対象とされた場合に、どのルールを使用するかを示すために、ルールを優先順位付けすることができる必要があります。

たとえば、ボード上で最も一般的に使用される配線幅を指定するには、ボード上のすべてのネットに適用される単一のルールを定義します。このルールは、特定のネット(またはそのためのネットのクラス)に対して、同じタイプの別のルールを追加することで、優先度が高いものに上書きすることができます。 別の例としては、はんだマスクの要件があります。ここでは、ボード上のすべてのパッドとビアを対象とする1つのマスクルールを定義し、特定のフットプリント種類のパッドに対して上書きすることができます。このフットプリント固有のルールは、必要に応じてそのフットプリント内の特定のパッドに対してさらに上書きすることができます。 ルールを管理する上で重要な側面は、すべての優先度が適切に設定されていることを確認することです。新しいルールが作成されると、デフォルトで最高優先度に設定されます。Prioritiesボタンを使用して、PCB Rules and Constraints Editorダイアログの下部にあるEdit Rule Prioritiesダイアログで優先度を設定します。


Edit Rule Prioritiesダイアログでルールの優先度を変更します。

初めに、ダイアログはPCB Rules and Constraints Editorダイアログで現在選択されているルールタイプのすべてのルールインスタンスをリストアップします。Rule Typeフィールドを使用してルールタイプを変更し、そのタイプに定義されている特定のルールをリストアップします。定義されたルールは現在の優先度順にリストアップされます - 1(最高優先度)から順に下へ。ルールエントリを選択し、Increase PriorityボタンとDecrease Priorityボタンを使用して、それぞれ優先順位の上または下に移動します。

同じタイプの複数のルールを設定できます。設計オブジェクトが同じ範囲を持つ複数のルールによってカバーされる場合があります。この場合、競合が存在します。すべての競合は優先順位の設定によって解決されます。システムは最高優先順位から最低優先順位までルールを通過し、チェックされているオブジェクトに一致するスコープ式を持つ最初のルールを選択します。

既存のルールの変更

もちろん、ルールはいつでも変更できます。実際、最終的な動作ルールセットに到達するには、ここで少し重要な改良がしばしば関与します。これには通常、目的の設計オブジェクトが必要に応じて各ルールによって「選択」されていることを確認するためのスコーピングが含まれます。PCB Rules and Constraints Editorダイアログで既存のルールを選択し、必要に応じてそのスコーピングと制約属性を変更します。

既存のルール定義に加えられた変更は、フォルダツリーペインと該当する要約リストの両方で強調表示されます。そのようなエントリーは、ルール名が太字になり、名前の右側にアスタリスクが表示されることで区別されます。アスタリスクは、ルールが新しく作成されたルールではなく、既存のルールが変更されたことを反映するために使用されます(新しく作成されたルールは、アスタリスクなしで太字で表示されます)。


変更された既存のルールの例。変更を示すためにアスタリスクが使用され、ルール名が太字になっています。

特定のルールタイプに新しいルールが作成されると、自動的に優先度1が与えられます。そのタイプの他のルールが存在する場合、それらの優先度はそれに応じて1つ下げられます。それらは、スコープ/制約レベルで具体的に変更されていなくても、変更されたとみなされます。そのため、そのタイプの既存のすべてのルールは、変更された状態(太字でアスタリスク付き)で表示されます。

無効なルールのフラグ付け

システムによってルールが無効と検出された場合 - 例えば、スコーピングクエリ式に問題があるか、許可されていない制約の値がある場合 - そのルールは無効としてフラグが立てられます。そのようなルールは、PCB Rules and Constraints Editorダイアログ内の左側のルールツリーと、ルールが表示される任意のサマリービュー(ルールカテゴリまたはルールタイプ)で赤く強調表示されます。さらに、ルールタイプとルールカテゴリのテキストも左側のルールツリー内で赤く表示されます。したがって、無効なルールを含むルールツリーのエリアを折りたたんでいても、階層の上位レベルでそれについて警告されます。ダイアログを閉じようとすると警告メッセージも表示されます。


無効な設計ルールをシステムがフラグする例、この場合は誤ったスコープクエリ式です。

ルールの無効化

ソフトウェアのPCBエディターのルール駆動環境では、ボードを成功裏に制約するためのかなり印象的で包括的なルールの配列を構節することは珍しくありません。途中で何らかの理由で、一部のルールを無効にしたい場合があります。たとえば、それらが問題のボードに適用されないか、Design Rule Checkerの負荷を軽減し(結果としてそのパフォーマンスを向上させるために)、一時的に無効にする必要があるかもしれません。無効にすることは、将来再び必要になった場合に備えて、そのようなルールを保持する良い方法です。

ルールを無効にするには、PCB Rules and Constraints Editorダイアログの右側にある関連する要約リストのいずれかで、そのルールのEnableオプションを切り替えます。無効にされたルールは、'グレーアウト'表示されます。

無効にされたルールの例、要約リスト内で灰色のフォントで表示されます。
無効にされたルールの例、要約リスト内で灰色のフォントで表示されます。

ルールは、PCB Rules And Violationsパネルから直接有効/無効にすることもできます。ルールに関連付けられたOnオプションを切り替えます。これは、PCB ルールと制約エディタダイアログのルールのEnableオプションに反映されます。

ルールの削除

PCB Rules and Constraints Editorダイアログ内で単一の設計ルールを削除するには:

  • 左側のツリーを使用して、必要な既存のルールに移動し、右クリックしてコンテキストメニューからDelete Ruleを選択します。
  • 左側のツリーで特定のルールタイプに移動し、右側の要約リストで削除するルールを選択します。その後、リストの下にあるDelete Rule(s)ボタンをクリックします。

ルール名は、適用されていない削除であることを区別するために、太字の取り消し線で強調表示されます。


単一のルールを削除する。

  • 特定の設計ルールが将来再び使用される可能性があるが、現時点では必要ない場合、そのルールを削除する代わりに無効にすることができます。PCB Rules and Constraints Editorダイアログの右側にある関連する要約リストのEnableオプションを切り替えることでこれを行います。
  • 要約リストビューから複数のルールを一度に削除することができます。これを行うには、削除するルールを選択します(標準のShift+クリックおよびCtrl+クリックのショートカットがサポートされています)、次にリストの下にあるDelete Rule(s)ボタンをクリックします。
  • 設計ルールチェックシステムが機能するためには、特定のルールが存在する必要があります。そのようなルールの一つが削除されると(そのルールタイプが存在しなくなると)、自動的に再作成されます。デフォルトの設計ルールについてもっと学びましょう。

新しいPCBドキュメントが作成されると、多くのルールタイプにデフォルトルールが自動的に作成されます。同様に、それらのルールタイプの特定のルールがすべて削除された場合、PCB Rules and Constraints Editorダイアログに次回アクセスしたときにデフォルトルールが自動的に再追加されます。また、ダイアログの下部にあるCreate Default Rulesボタンをクリックすることで、デフォルトルールを再度作成することもできます。

ルールのエクスポートとインポート

デザインルールは、PCB Rules and Constraints Editorダイアログからエクスポートおよびインポートすることができます。これにより、異なるデザイン間でお気に入りのルール定義を保存および読み込むことができます。

  • エクスポートするには - ダイアログの左側にあるツリー内の任意の場所で右クリックし、Export Rulesを選択します。 Choose Design Rule Typeダイアログが開き、エクスポートするデザインルールを選択できます。ファイルへのルールのExport Rules to Fileダイアログが開き、.rulファイルに名前を付けて、場所を選択できます。エクスポートされたルールはPCBルールファイル(*.rul)に保存されます。
  • インポートするには - ダイアログの左側にあるツリー内の任意の場所で右クリックし、Import Rulesを選択します。 Choose Design Rule Typeダイアログが開き、インポートするデザインルールを選択できます。ファイルのImportダイアログが開き、インポートする.rulファイルを参照します。

インポート時に、選択したタイプのルールが既に存在する場合、インポート前に既存のルールをクリアするオプションが表示されます。Yesをクリックすると、そのタイプのすべての既存ルールが削除され、.rulファイル内のルールに置き換えられます。Noをクリックすると、既存のルールが保持されます。ただし、既存のルールとインポートされたルールが同じ名前の場合、インポートされたルールが既存のルールに上書きされます。

設計ルールレポート

現在定義されている設計ルールのレポートは、 PCB Rules and Constraints Editorダイアログ内から生成できます。レポートは、すべてのルールカテゴリ、特定のルールカテゴリ、または特定のルールタイプに対応できます。レポートは以下の方法で生成できます:

  • 必要なサマリーリストにアクセスし、右クリックしてコンテキストメニューからReportコマンドを選択するか、リストの下にあるReportボタンをクリックします。
  • フォルダーツリー内の該当エントリーを右クリックし、コンテキストメニューからReportコマンドを選択します。

Report Previewダイアログが適切なレポートを読み込んだ状態で開きます。このダイアログを使用して、さまざまなページ/ズームコントロールを使ってレポートを検査し、最終的にファイルにエクスポートするか、印刷します。

PCBルールレポートを生成します。

PCBルールレポートを生成します。
PCBルールレポートを生成します。

回路図上でのルール定義

設計制約(ルール)は、設定されたルールを持つパラメータセットディレクティブを回路図ソースドキュメントに追加することにより、PCBレイアウト前に定義することができます。設計がPCBドキュメントに転送されるときに作成される対応するPCB設計ルールの範囲は、パラメータが割り当てられたオブジェクトの性質によって決定されます。次の表は、サポートされている回路図パラメータからPCBルール範囲へのオプションをまとめたものです。

ルールを追加... 元... PCBルールの範囲...
ワイヤー Propertiesパネル(選択したパラメータセットオブジェクトのプロパティを閲覧中)、ワイヤー上にパラメータセットオブジェクトを配置した後、Place » Directives » Parameter Setコマンドを使用。 ネット
バス Propertiesパネル(選択したパラメータセットオブジェクトのプロパティを閲覧中)、バス上にパラメータセットオブジェクトを配置した後、Place » Directives » Parameter Setコマンドを使用。 ネットクラス
ハーネス Propertiesパネル(選択したパラメータセットオブジェクトのプロパティを閲覧中)、ハーネス上にパラメータセットオブジェクトを配置した後、Place » Directives » Parameter Setコマンドを使用。 ネットクラス
ブランケット Propertiesパネル(選択したパラメータセットオブジェクトのプロパティを閲覧中)、ブランケットの端にパラメータセットオブジェクトを配置した後、Place » Directives » Parameter Setコマンドを使用。必要な名前のクラスを含め、ブランケットによってカバーされるすべてのネットのためのネットクラスを作成し、それをルールの範囲として使用します。 ネットクラス

各ケースにおいて、ルールベースのパラメータを追加する方法は同じです:

  1. ルールとしてパラメータを追加します。
  2. 使用するルールタイプを選択します。
  3. 選択したルールタイプの制約を設定します。
回路図上のオブジェクトに設計ルールパラメータを追加する際、各ルールパラメータには一意のIDが与えられます。同じIDがPCB上で作成される対応する設計ルールにも与えられます。この一意のIDにより、回路図またはPCB側でルールの制約を編集し、同期時に変更を反映させることができます。

ルール適用の確認

ボード設計によっては、非常にシンプルなものから非常に複雑なものまで、範囲が広がる多くの設計ルールを定義する必要があります。定義されたルールが確かに意図したオブジェクトを対象としているかを確認することは良い考えです。ルール定義の段階での注意は、誤ったルールスコーピングによって引き起こされる違反を追跡するための無駄な時間と労力を節約することができます。

ルールの範囲を検証する方法には、基本的に2つあります。設計オブジェクトを選択して現在適用されているルールを調査するか、ルールを取り上げて(ソフトウェアの異なる場所で)どのオブジェクトがその範囲に含まれるかを観察します。

オブジェクトの視点から

現在の設計に配置された任意のオブジェクトについて、そのオブジェクトに適用可能な単項設計ルールに関する情報にすぐにアクセスできます。オブジェクトの上にカーソルを置き、右クリックしてから適用可能な単項ルールを選択します。選択されたオブジェクトに適用可能な定義済みの設計ルールが分析され、適用可能な単項ルールダイアログにリストされます。


単一の設計オブジェクトに適用される設計ルール - 単項ルール。

ダイアログにリストされている各ルールの隣には、チェック()またはクロス()が表示されます。チェックは、同じタイプの適用可能なすべてのルールの中で最も優先度が高いルールを示し、これが現在適用されているルールです。同じタイプの低優先度ルールは、適用可能であるが最優先ルールではないため、現在適用されていないことを示すクロスが隣に表示されます。

オブジェクトに適用されるが現在無効になっているルールも、クロスが隣に表示され、取り消し線のハイライトを使用して表示されます。

同様に、デザイン内の2つの配置されたオブジェクトの間に適用されるバイナリ設計ルールに関する情報にもアクセスできます。任意のオブジェクト上にカーソルを置き、右クリックしてから適用可能なバイナリルールを選択します。プロンプトに従ってデザイン内の2つのオブジェクトを選択します。適用可能なバイナリルールダイアログが開き、それらのオブジェクト間に適用されるすべてのバイナリ設計ルールが表示されます。

選択された2つのオブジェクトにバイナリルールが適用されていない場合、バイナリバージョンの適用可能なルールダイアログは開きません。


2つの例示的な設計オブジェクト間で適用される設計ルール – 二項ルール。

ルールの観点から

PCBルールと違反パネルを通じてのチェック

PCB Rules And Violationsパネルから、特定のルールがどのオブジェクトに適用されるかをすぐに確認することができます。このパネルには、設計に現在定義されているすべてのルールがリストされています。すべてのルールを表示することも、少なくとも1つのルールがアクティブな設計に定義されている場合に限り、ルールタイプごとに具体的に閲覧することもできます。パネルのRules領域で特定のルールをクリックすると、そのルールをフィルターの範囲として使用してフィルタリングが適用されます。ルールの範囲に該当する設計オブジェクトのみがフィルタリングされます。Mask(またはDim)ハイライト機能を使用することで、ルールによって対象とされる結果のオブジェクトをすぐに確認することができます。


選択したルールがどのオブジェクトに適用されるかを確認するために、PCBルールと違反パネルを使用する例。

ダイアログの強調表示方法がMaskに設定されている場合は、View ConfigurationパネルView OptionsタブにあるMask and Dim SettingsセクションからアクセスするMasked Objectsスライダーバーを使用して、アクティブなフィルタの範囲に該当しないオブジェクトに適用されるマスキングのレベルを調整します。ハイライト方法がDimに設定されている場合は、このパネルのセクションからも利用できるDimmed Objectsスライダーバーを使用して、アクティブフィルターの範囲に含まれないオブジェクトに適用される暗くするレベルを調整します。

PCB Rules And Violationsパネルを使用して、どのオブジェクトにルールが適用されるかを調査することは、ルールのスコープを作成する際に特に役立ちます。なぜなら、パネルから直接ルールを編集できるため、望ましいオブジェクトがスコープに捕捉されるまでクエリを「調整」することができるからです。

ルールのスコープや制約を編集するには、パネル内のルールのエントリをダブルクリックするか、右クリックしてコンテキストメニューからProperties選択します。関連するEdit PCB Ruleダイアログが表示され、変更を加えることができます。

ダイアログとそのバナーテキストが提供するコントロールは、編集されている設計ルールのタイプによって異なります。


ルールはPCBルールと違反パネルから直接編集でき、その場でルールの範囲指定や制約をさらに洗練させることができます。

PCB Rules and Constraints Editorダイアログを通じてのチェック

PCB Rules and Constraints Editorダイアログには、特定のルールがどのオブジェクトに適用されるかをすぐに確認できるクエリテスト機能が含まれています。テストしたいルールのメイン編集ウィンドウの右上にあるボタンをクリックします。Queries Resultダイアログが表示されます。このダイアログには、式の範囲に含まれるオブジェクトの数、現在のルールに適用可能なオブジェクトの数、および複数の適用可能なルールが存在する場合の現在のルールの優先度に基づいて適用可能なオブジェクトの数が反映されます。右側のリンクをクリックすることで、ワークスペース内で直接、各ケースに適用可能なオブジェクトをすぐにフィルタリングして表示できます。


ルールのスコープ式によってキャプチャされたオブジェクトを、テストクエリ機能を使用してすぐに確認できます。

If you find an issue, select the text/image and pressCtrl + Enterto send us your feedback.
注記

利用できる機能は、Altium 製品のアクセスレベルによって異なります。Altium Designer ソフトウェア サブスクリプション の様々なレベルに含まれる機能と、Altium 365 プラットフォーム で提供されるアプリケーションを通じて提供される機能を比較してください。

ソフトウェアの機能が見つからない場合は、Altium の営業担当者に連絡して 詳細を確認してください。

Content