回路図上でディレクティブを扱う

Altium Training

Altium Essentials: Schematic Updating

This content is part of the official Altium Professional Training Program. For full courses, materials and certification, visit Altium Training.

デザインディレクティブは、設計キャプチャ時に回路図上へ配置されるオブジェクトで、ソフトウェアの他の部分へ渡す指示を指定するための手段を提供します。さまざまなデザインディレクティブが用意されており、次の2つの方法で使用できます。

  • ソース回路図ドキュメントの自動コンパイルに関連付けられたディレクティブ。
  • 回路図シート上で定義された情報をPCBへ渡すために使用されるディレクティブ。

以下のセクションでは、これらの領域と関連するディレクティブについて詳しく見ていきます。

コンパイル関連ディレクティブ

設計は時間とともに進化し、段階的に作成されます。各段階が固まるたびに、設計全体から切り離してその段階だけを確認したいことは珍しくありません。キャプチャ工程の途中段階で個々の回路図ドキュメント(またはプロジェクト全体)をコンパイルすると、まだキャプチャされていない回路や、未完成の回路断片間インターフェース配線が原因で、多数のエラーメッセージが出ることがよくあります。こうしたメッセージには実質的な価値がなく、重要な情報の周囲にノイズを生むだけです。これらのコンパイルエラーを最もすばやく簡単に抑制する方法は、No ERC または Compile Mask ディレクティブを配置することです。

No ERCディレクティブ

No ERCディレクティブは、回路内のノード上に配置して、回路図プロジェクトの検証時に検出されるすべてのElectrical Rule Check警告および/またはエラー違反条件の報告を抑制します。詳細は Validating Your Design Project ページを参照してください。

Compile Maskディレクティブ

No ERCディレクティブは、設計内の少数の違反ピン、ポート、シートエントリ、またはネットを抑制するのに適しています。しかし場合によっては、コンポーネントを含む設計のセクション全体を除外したいことがあります。Compile Maskディレクティブ(Place » Directives » Compile Mask コマンド)を使用するか、Active Bar のディレクティブドロップダウンにあるCompile Maskボタン()をクリックすると、その内部に含まれる設計領域をCompilerから効果的に隠すことができ、まだ未完成でコンパイルエラーを発生させることが分かっている回路に対するエラーチェックを手動で防止できます。これは、アクティブなドキュメントまたはプロジェクトをコンパイルして、設計の他の特定領域の整合性を確認したい一方で、未完成部分に関連するCompiler生成メッセージの「ノイズ」は望まない場合に非常に有用です。

その名のとおり、このディレクティブは、定義されたマスクの境界completely内にあるオブジェクトをCompilerが無視するよう指示します。マスクは、ノートや矩形オブジェクトを配置するのとまったく同じように配置します。

次の画像の回路図例では、LCD1デバイスへの配線がまだ完了していません。この回路図だけをコンパイルすると(Project » Validate PCB Project)、多数の違反メッセージが表示されます(下図)。これらはすべて未完成の回路が原因です。画像にカーソルを合わせると、未完成の回路の周囲にCompile Maskディレクティブを配置した効果を確認できます。これらの違反はCompilerによって無視される一方、回路図上の残りの回路、つまり完全に配線済みの部分はチェックされます。実際にマスクされているオブジェクト、つまりマスクの外接矩形内に完全に収まっているオブジェクトは、グレー表示になる点に注意してください。

画像にカーソルを重ねると、未完成回路によるコンパイラ違反を隠すためにCompile Maskディレクティブを使用した効果が表示されます。
画像にカーソルを重ねると、未完成回路によるコンパイラ違反を隠すためにCompile Maskディレクティブを使用した効果が表示されます。

Compile Maskは、展開表示(フルフレーム)または折りたたみ表示(小さな三角形)のいずれかで表示できます。これらのモードは、それぞれマスクの有効/無効に対応します。配置済みのCompile Maskの左上隅をクリックすると表示モードを切り替えられます。この機能は、設計フローの一部としてシミュレーションが含まれる場合に役立ちます。詳細はこちら
Compile Maskは回転したりX軸またはY軸に沿ってミラーしたりできますが、内部の設計回路の向きには影響しません。

PCB 関連ディレクティブ

統合設計環境として、Altium Designer では、基板レイアウトを行う前に PCB 要件を定義できます。これは、回路図シート上に配置されたオブジェクトにパラメータを追加し、それを指定することで実現されます。

コンポーネント、シートシンボル、ポートなどの一部の回路図設計オブジェクトでは、関連するパラメータをそのオブジェクトのプロパティの一部として追加します。ワイヤやバスなどのネットオブジェクトでは、パラメータをワイヤやバスのプロパティとして直接追加することはできません。代わりに、情報を保持するために必要なパラメータは、専用の設計ディレクティブを使用して指定します。

次の情報はディレクティブを使用して指定でき、設計同期時に適切な PCB ベースの定義へ転送されます。

  • PCB レイアウト制約
  • 差動ペア
  • ネットクラス

回路図内に設計ディレクティブを含めることで、設計エンジニアは明示的な設計制約を指定でき、さらに回路図が設計のマスターレコードとして維持されます。設計への変更は回路図側でのみ実施し、PCB へ反映できます。これは、複数人が設計に携わっている場合、特に地理的に離れて作業している場合に非常に重要になります。 メールのやり取りや電話連絡を重ねて意思疎通を図るのではなく、設計を作成する担当者が、特定の制約がレイアウト段階で確実に使用されるようにできます。

この機能の中核となるのが Parameter Set directive です。

これは本質的にユーザー定義の Parameter Set オブジェクトであり、回路図設計内のネットオブジェクトに関連付けることができます。PCB Layout ディレクティブをワイヤ、バス、またはシグナルハーネス上に配置して、関連するネットに対する 1 つ以上の設計制約を定義します。回路図から PCB を作成すると、PCB layout ディレクティブ内の情報を使用して、関連する PCB 設計ルールが作成されます。PCB Layout ディレクティブで指定された情報は、そのディレクティブが接続されているネット(またはネットの集合)にのみ適用されます。

Parameter Set ディレクティブ。
Parameter Set ディレクティブ。

これは、Parameter Set ディレクティブが接続されているネットを対象とする任意数のパラメータのコンテナとして機能します。パラメータを持たないデフォルトの Parameter Set ディレクティブは配置でき(Place » Directives » Parameter Set)、必要なパラメータは後から追加できます。以下のセクションでは、これらのパラメータベースのディレクティブの使用方法を詳しく見ていきます。ユーザー定義(Parameter Set)と定義済み(Differential Pair)の両方の parameter set ディレクティブが利用可能です。空の parameter set と定義済み parameter set の唯一の違いは、定義済み parameter set には、以下で説明するようにパラメータが含まれていることです。

 Defining Differential Pairs in Your Schematics ページを参照して、Differential Pair ディレクティブの使用方法の詳細を確認してください。

Moving from Directives to the Constraint Manager

設計要件を定義する元々の方法では、回路図エディタと PCB エディタで別々に扱っていました。回路図エディタでは Directives、PCB エディタでは Design Rules で定義していました。この分離は、設計要件を定義するための独立したエディタである Constraint Manager の導入によって解消され、設計プロセスのどの段階でも設定および編集できるようになりました。1 つのプロジェクトで使用できる方法は 1 つだけです。簡単な確認方法は、Design メニュー内に Constraint Manager エントリがあるかを見ることです。これが存在せず(代わりに PCB エディタの Design メニューに Rules エントリがある場合)、そのプロジェクトでは従来の Design Rules アプローチが使用されています。

Constraint Manager が使用されている場合、parameter set および differential pair ディレクティブを使用して定義されたネットクラス、差動ペア、差動ペアクラス、およびルールは、回路図から PCB を更新しても検出および転送notされません。転送されるのは、Constraint Manager で定義されたネットクラス、差動ペア、差動ペアクラス、およびルールのみです。

なお、回路図からアクセスした Constraint ManagerPhysical または Electrical ビューの右クリックメニューにある Import from Directives コマンドを使用して、回路図に配置されたディレクティブからルール、ネットクラス、差動ペア、および差動ペアクラスをインポートできます。 詳細はこちら。ディレクティブから Constraint Manager へデータをインポートしてその変更を保存すると、インポートされたディレクティブは回路図設計スペース内で青色表示(少し異なるシンボル)で区別されます。これは、ディレクティブから Constraint Manager への一方向の移行が行われたことを示しており、青色のディレクティブは読み取り専用オブジェクトとなります(以後編集はできません)。

Parameter Set ディレクティブの配置

このタイプのディレクティブは、メインメニューから Place » Directives » Parameter Set コマンドを選択するか、デザインスペース内で右クリックして配置します。デフォルトの parameter set ディレクティブを配置する場合、既存のパラメーターはありません。parameter set は、回路図設計内のネットタイプオブジェクトに設計仕様を関連付けることができる設計ディレクティブです。たとえば、parameter set を使用して 2 つのネットを差動ペアのメンバーとして宣言できます。ソフトウェアは、配置しようとしている設計ディレクティブを、parameter set 内に存在する特定の名前のパラメーターによって判別します。

ユーザー定義のパラメーターディレクティブに加えて、ルールベースのパラメーターディレクティブは Choose Design Rule Type ダイアログから定義されます。このダイアログには、パラメーターに関連付けられた Properties パネルモードからアクセスできます。アクセス手順は次のとおりです。

  1. Tab を押してから Parameter Set を配置するか、すでに配置されている Parameter Set ディレクティブをダブルクリックして、Parameter Set mode of the Properties panel を表示します。

  2. 次に、Properties パネルの Parameter Set モードにある Parameters セクションで Add ボタンをクリックし、ドロップダウンから Rule を選択して、Choose Design Rule Type ダイアログからルールを選択します。

ルールの値の編集。
ルールの値の編集。

Choose Design Rule Type ダイアログを使用して、ディレクティブにルールパラメーターとして追加したいルールを選択します。ルールタイプをダブルクリックすると、関連する Edit PCB Rule (From Schematic) ダイアログにアクセスでき、その中でルールの制約を定義できます。

Edit PCB Rule (From Schematic) ダイアログに表示される具体的なプロパティは、選択した設計ルールによって異なり、PCB エディターでそのルールに対して定義されるプロパティと同じです。

たとえば、以下の画像は Max-Min Width RuleEdit PCB Rule (From Schematic) ダイアログを示しており、ここでは、すべてのレイヤーに対する Min/Preferred/Max 設定の構成、各レイヤーごとの各幅設定の手動定義、またはインピーダンスプロファイルの使用を選択できます。インピーダンスプロファイルを選択していて、実際の物理的な基板構造がすでに PCB エディターで定義されている場合は、Load the PCB Layer Stack and calculate the track width values するための基板ファイルも選択できます。

PCB が存在し、レイヤースタックが定義されている場合、計算された幅を回路図に読み込むことができます。PCB が存在し、レイヤースタックが定義されている場合、計算された幅を回路図に読み込むことができます。

上記のルールはネットクラスに適用されました。これは、ネットをクラスにグループ化するために PCB Routing Directive が関連付けられた Blanket Directive を配置し、そのクラスに Max-Min Width Rule を適用することで実現されました(show image)。

各 PCB Design Rule および制約の詳細については、here をクリックしてください。

Measurement Units ドロップダウンフィールドを使用して、Metric または Imperial 単位を選択します。

選択したルールの制約の指定。
選択したルールの制約の指定。

Parameters 領域のエントリには、選択したルールタイプと指定された制約が表示されます。次の画像は、Parameter Set ディレクティブに対して定義された幅制約ルールパラメーターを示しています。デザインスペース内にルールを表示するには、Rules 領域内の表示()アイコンをクリックします。

Parameter Set ディレクティブにより、特定のネットに対して複数のルール制約が定義されています。
Parameter Set ディレクティブにより、特定のネットに対して複数のルール制約が定義されています。

設計が同期プロセスを通じてPCBへ転送されると、ディレクティブに含まれる情報に基づいて、関連するデザインルールが作成されます。生成される各ルールの名前には、そのルールの生成元を区別するために Schematic という語が使用されます。

PCB側で生成されたデザインルール。
PCB側で生成されたデザインルール。

同じ Parameter Set ディレクティブに複数のパラメータを追加できるため、回路図をよりすっきりと整理できます。

Net Class ディレクティブの配置

Net Class ディレクティブを使用すると、回路図上でユーザー定義のネットクラスを作成できます。Net Class ディレクティブは、メインメニューから Place » Directives » Parameter Set コマンドを選択し、その後、コマンドページのヒント #2 に記載されているようにパラメータセットを net class ディレクティブとして定義することで配置できます。回路図からPCBが作成される際、Net Class ディレクティブ内の情報を使用して、対応する Net Class がPCB上に作成されます。ネットをネットクラスのメンバーにするには、該当するワイヤ、バス、またはシグナルハーネスに Net Class ディレクティブを接続し、そのディレクティブの ClassName パラメータを目的のクラス名に設定します。この機能を使用するには、the Class Generation tab of the Project Options dialogGenerate Net Classes オプション(User-Defined Classes 用)を有効にする必要があります。

ネットに対して Net Class ディレクティブが定義されている場合、その parameter set オブジェクトによって作成されるPCBデザインルールのルールスコープは、設計がPCBエディタへ転送されたときに Net Class になります。Net Class ディレクティブは、配置済みの Parameter Set ディレクティブにクラスを追加し、その値を必要な PCB Net Class に設定することで作成できます。

Net Classes は PCB エディタ内でも作成できますが、ネットの論理的な機能やグループ分けは通常、回路図上のほうがはるかに明確であるため、そこでプロセスを開始するほうが理にかなっています。

設計が同期プロセスを通じてPCBへ転送されると、ディレクティブに含まれる情報に基づいて、関連するネットクラスが作成されます。

Blanket object に Net Class ディレクティブを接続すると、その Blanket に含まれる個々のネットをメンバーとするネットクラスを作成できます。その Blanket に PCB Layout ディレクティブも接続されている場合、PCB Layout ディレクティブのルールパラメータは、個々のネットではなくそのネットクラスを対象にします。変更を PCB ドキュメントにインポートすると、その結果、ネットクラスを対象とするスコープが設定された単一のデザインルール(パラメータごと)が作成されます。

Blanket ディレクティブの配置

Parameter Set ディレクティブは、接続されている特定のネットのみを対象にできますが、Blanket ディレクティブと組み合わせることで、その適用範囲を Blanket 内のすべてのネットに拡張できます。

このタイプのディレクティブは、メインメニューから Place » Directives » Blanket コマンドを選択して配置します。Blanket を配置する際は、単純な長方形または多角形のいずれかで定義できます。後者では、シート上で必要なネットオブジェクトのカバー範囲をより正確に制御できます。

Blanket は対象となるネットを識別します。これらのネットに設計要件を適用するには、Blanket の境界上の任意の位置に Parameter Set ディレクティブを配置します。Blanket ディレクティブの下にあるネットに周囲のディレクティブを適用するには、そのネットに関連付けられたオブジェクト(ピン、ポート、ネットラベル、電源ポート、ワイヤ/バス/ハーネスのセグメント(両端を含む))が Blanket の範囲内に入っている必要があります。ネットラベルなどのネット識別子については、そのホットスポットが Blanket 内にある必要がある点に注意してください。メンバーネットが期待どおりに PCB Parameter Set に反映されない場合は、Blanket の領域を適宜調整してみてください。

Blanket ディレクティブがどのネットに適用されるかを確認するには、Net Colors 機能を使用してそれらをハイライトします。View » Set Net Colors メニューから必要な色を選択し、目的の Blanket ディレクティブの外周をクリックします。特定のネットのハイライトを解除するには、View » Set Net Colors » Clear Net Color コマンドを使用し、色付けを解除したいネットをクリックします。すべての回路図シートからネットの色付けを解除するには、View » Set Net Colors » Clear All Net Colors コマンドを使用します。

Blanket ディレクティブを使用して、Blanket 内のネットに Parameter Set ディレクティブを適用する例。
Blanket ディレクティブを使用して、Blanket 内のネットに Parameter Set ディレクティブを適用する例。

Blanket ディレクティブの使用例には、次のようなものがあります。

  • Blanket オブジェクトに Parameter Set ディレクティブを接続し、そのルールパラメータを、その Blanket に含まれる各個別ネットに適用する。
  • Blanket オブジェクトに Parameter Set ディレクティブを接続し、その Blanket に含まれる個々のネットをメンバーとする Parameter Set を作成する。
  • Blanket オブジェクトに Differential Pair ディレクティブを接続し、その Blanket の範囲内にある差動ネットに基づいて differential pair オブジェクトを作成する。
Blanket object に Parameter Set ディレクティブを接続すると、そのルールパラメータが、その Blanket に含まれる各個別ネットに適用されます。さらに、その Blanket に Parameter Set ディレクティブも接続されており、その Parameter Set に Net Class パラメータもある場合、Parameter Set ディレクティブのルールパラメータは、個々のネットではなくそのネットクラスを対象にします。変更を PCB ドキュメントにインポートすると、その結果、ネットクラスを対象とするスコープが設定された単一のデザインルール(パラメータごと)が作成されます。
外周の Parameter Set ディレクティブをコピーして、別の Blanket ディレクティブや個々のワイヤ、バス、またはハーネスに接続することもできます。その結果、同じ Parameter Set ディレクティブに関連付けられた追加のすべてのネットが、同じ生成済み PCB Net Class に追加されます。

Blanket は、Parameter Set ディレクティブと組み合わせることで、Blanket で定義された領域内に完全に含まれるコンポーネントに対して、コンポーネントクラスやパラメータを適用するためにも使用できます。これを行うには、Blanket に接続された Parameter Set ディレクティブのプロパティにある Add ボタンのドロップダウンから Component Class および Parameter オプションを使用します。コンポーネントクラスおよびパラメータに関する情報は、PCB 更新時の ECO プロセス中に、プロジェクトの PCB ドキュメントへ転送されます。

間接(パラメータベース)ディレクティブ

Parameter Set directives は、パラメータを保持できない回路図上の設計オブジェクトを対象にする場合に必要ですが、パラメータを保持できるオブジェクトについては、関連する回路図オブジェクトにパラメータとして追加(および定義)することで、設計ディレクティブを間接的に適用できます。要するに、これらは parameter-based directives です。

パラメータベースのディレクティブの使用例としては、特定のコンポーネントの高さを制限したり、設計内のすべてのオブジェクトを対象とするクリアランス制約を追加したりすることが挙げられます。制約を定義するために必要なパラメータは、ルールとしてオブジェクトに追加されます。

PCB と同期すると、回路図内のオブジェクトに追加されたパラメータベースのディレクティブは PCB 設計ルールになります。対応する PCB 設計ルールのスコープは、最初にそのパラメータが割り当てられたオブジェクトの種類によって決まります。以下の表は、サポートされている回路図パラメータから PCB ルールスコープへの対応をまとめたものです。

パラメータ(ルールとして)を追加する対象... 場所... PCB ルールスコープ...
ピン Properties パネルの Pin モードにある Parameters タブ パッド
ポート Properties パネルの Port モードにある Parameters タブ ネット
コンポーネント Properties パネルの Components モードにある Parameters 領域 コンポーネント
シートシンボル Source 領域で Local が選択されている場合の、Sheet Symbol モードの Properties パネルにある Parameters タブ コンポーネントクラス
デバイスシートシンボル Source 領域で Device が選択されている場合の、Sheet Symbol モードの Properties パネルにある Parameters タブ コンポーネントクラス
Managed Sheet Symbol Source 領域で Managed が選択されている場合の、Sheet Symbol モードの Properties パネルにある Parameters 領域 コンポーネントクラス
シート Document Options モードの Properties パネルにある Parameters タブ すべてのオブジェクト

いずれの場合も、ルールベースのパラメータを追加する方法は同じです。該当するタブまたはダイアログから、次の操作を行います。

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

コンポーネントクラスの指定

同様に、対象コンポーネントに ClassName パラメータを追加し、その値を目的のクラス名に設定することで、回路図上でコンポーネントクラスを定義できます。設計が PCB に転送されると、定義されたコンポーネントクラスが作成されます。

回路図で定義した Component Classes が PCB に反映されるようにするには、Project Options ダイアログで次のオプションを設定する必要があります。

  • ダイアログの Class Generation タブにある User-Defined Classes 領域で、Generate Component Classes オプションを有効にします。
  • ダイアログの Comparator タブで、Differences Associated with Components » Extra Component Classes Mode 設定 を Find Differences に設定します。

上記の Class Generation タブのオプションは、以下の画像に表示されています。画像にカーソルを合わせると、Comparator タブのオプション設定を確認できます。

Component Classes を PCB に反映するには、Class Generation タブで Generate Component Classes オプションを有効にします。画像にカーソルを合わせると、Extra Component Classes Mode 設定を Find Differences に設定する必要がある Comparator タブ が表示されます。
Component Classes を PCB に反映するには、Class Generation タブで Generate Component Classes オプションを有効にします。画像にカーソルを合わせると、Extra Component Classes Mode 設定を Find Differences に設定する必要がある Comparator タブ が表示されます。

定義後、クラスは各コンポーネントプロパティの Properties パネル内にある Properties 領域でロックできます。

PCB エディタでは、1 つのコンポーネントが複数の Component Classes に属することができます。これを回路図で定義するには、回路図コンポーネントのパラメータ値内で、各 PCB Component Class 名をカンマで区切って指定します(show image)。

ディレクティブの印刷制御

デフォルトでは、すべての設計ディレクティブが回路図シートの印刷に含まれます。ただし、これは変更できます。

必要に応じてディレクティブの印刷を制御します。No ERC ディレクティブについては、特定のシンボルスタイルのみを印刷し、他を除外するように設定できます。
必要に応じてディレクティブの印刷を制御します。No ERC ディレクティブについては、特定のシンボルスタイルのみを印刷し、他を除外するように設定できます。

AI-LocalizedAI で翻訳
問題が見つかった場合、文字/画像を選択し、Ctrl + Enter キーを押してフィードバックをお送りください。
機能の可用性

利用できる機能は、所有する Altium ソリューション (Altium DevelopAltium Agile のエディション (Agile Teams、または Agile Enterprise)、または Altium Designer (有効な期間)) によって異なります。

説明されている機能がお使いのソフトウェアに表示されない場合、Altium の営業担当者にお問い合わせください

従来のドキュメント

Altium Designer のドキュメントは、バージョンごとに掲載されなくなりました。Altium Designer の旧バージョンのドキュメントは、Other Installers ページの Legacy Documentation の項目をご覧ください。

Content