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

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 から事実上隠します。これにより、まだ未完成でコンパイルエラーを生成すると分かっている回路に対するエラーチェックを、手動で防ぐことができます。これは、アクティブなドキュメントまたはプロジェクトをコンパイルして設計の他の特定領域の整合性を確認したい一方で、設計の未完成部分に関連するコンパイラ生成メッセージの「ノイズ」は見たくない場合に非常に便利です。

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

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

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

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

PCB 関連ディレクティブ

Unified Design Environment として、Altium Designer は、基板レイアウトを行う前に PCB 要件を定義できる機能を提供します。これは、回路図シート上に配置されたオブジェクトへパラメータを追加して指定することで実現されます。

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

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

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

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

この機能の中心にあるのが、Parameter Set directive です。

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

Parameter Set directive。
Parameter Set directive。

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

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

Moving from Directives to the Constraint Manager

設計要件を定義する元々の方法は、回路図エディタと PCB エディタで個別に扱うというものでした。回路図エディタでは Directives、PCB エディタでは Design Rules で定義します。この分離は、設計要件を定義するための別個のエディタである Constraint Manager の導入によって解消され、設計プロセスのどの段階でも要件の設定と編集が可能になりました。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. Parameter Set を配置する前にTabを押すか、すでに配置済みの Parameter Set ディレクティブをダブルクリックして、Propertiesパネルにそのプロパティを表示します。

  2. 次に、パネルのParameters領域にあるProperties ボタンをクリックし、ドロップダウンからRuleを選択して、Select Design Rule Typeダイアログからルールを選びます。

ルールの値を編集する場合。
ルールの値を編集する場合。

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

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

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

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

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

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

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 に記載されているようにパラメータセットをネットクラスディレクティブとして定義することで配置できます。回路図から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 ルールスコープ...
Pin Properties パネルの Pin モードにある Parameters タブ Pad
Port Properties パネルの Port モードにある Parameters タブ Net
Component Properties パネルの Components モードにある Parameters 領域 Component
Sheet Symbol Source 領域で Local を選択した場合の、Properties パネルの Sheet Symbol モードにある Parameters タブ Component Class
Device Sheet Symbol Source 領域で Device を選択した場合の、Properties パネルの Sheet Symbol モードにある Parameters タブ Component Class
Managed Sheet Symbol Source 領域で Managed を選択した場合の、Properties パネルの Sheet Symbol モードにある Parameters 領域 Component Class
Sheet Properties パネルの Document Options モードにある Parameters タブ All Objects

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

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

Component Class の指定

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

回路図で定義した Component Class が 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 Class を PCB に反映するには、Class Generation タブで Generate Component Classes オプションを有効にします。画像にカーソルを合わせると、Comparator タブ が表示され、そこで Extra Component Classes Mode 設定を Find Differences に設定する必要があります。
Component Class を PCB に反映するには、Class Generation タブで Generate Component Classes オプションを有効にします。画像にカーソルを合わせると、Comparator タブ が表示され、そこで Extra Component Classes Mode 設定を Find Differences に設定する必要があります。

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

PCB エディターでは、1 つのコンポーネントを複数の Component Class に所属させることができます。これを回路図で定義するには、回路図コンポーネントパラメータ値内で各 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