Altium Designerでのスキーマティック上でのディレクティブの使用方法

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 ボタン()をクリックして、そのマスクが含む設計領域をコンパイラから事実上隠します。これにより、まだ完成しておらず、コンパイルエラーを発生させることが分かっている回路に対して、エラーチェックを手動で抑制できます。アクティブなドキュメントやプロジェクトをコンパイルして、設計の他の特定領域の整合性を確認したいが、未完成部分に起因するコンパイラ生成メッセージという「ノイズ」は不要な場合に、非常に有用です。

その名称が示すとおり、このディレクティブは、定義されたマスクの境界 completely 内に収まるオブジェクトをコンパイラに無視させます。マスクは、ノートや矩形オブジェクトと同じ要領で配置します。

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

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

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

PCB 関連ディレクティブ

Altium Designer は統合設計環境として、PCB のレイアウトを行う前に 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 つのプロジェクトでは、どちらか一方のアプローチしか使用できません。簡単な確認方法としては、Design メニュー内に Constraint Manager エントリがあるかどうかを確認します。存在しない場合(代わりに PCB エディタの Design メニューに Rules エントリがある場合)、そのプロジェクトは従来の Design Rules アプローチを使用していることになります。

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

回路図に配置されたディレクティブから、ルール、ネットクラス、ディファレンシャルペア、およびディファレンシャルペアクラスをインポートすることもできます。これは、回路図からアクセスした Constraint ManagerPhysical または Electrical ビューの右クリックメニューから Import from Directives コマンドを使用して行います –  learn more。ディレクティブから Constraint Manager へデータをインポートしてその変更を保存すると、インポートされたディレクティブは回路図デザインスペース上で青色(やや異なるシンボル)で区別されるようになる点に注意してください。これは、ディレクティブから Constraint Manager への一方向の移行が行われたことを示しており、青色のディレクティブは読み取り専用オブジェクト(それ以上の編集は不可)になります。

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

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

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

  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 Rule 用の Edit PCB Rule (From Schematic) ダイアログを示しており、ここではすべての層に対する 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 を適用することで実現しました(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 コマンドを選択し、コマンドページの Tip #2 で指定されているように Parameter Set を Net Class ディレクティブとして定義することで配置できます。回路図から PCB を作成すると、Net Class ディレクティブ内の情報を使用して、PCB 上に対応する Net Class が作成されます。ネットをネットクラスのメンバーにするには、対象となるワイヤ、バス、またはシグナルハーネスに Net Class ディレクティブを接続し、そのディレクティブの ClassName パラメータを目的のクラス名に設定します。この機能を使用するには、プロジェクトオプションダイアログの Class Generation タブGenerate Net Classes オプション (User-Defined Classes 用) を有効にしておく必要があります。

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

Net Class は PCB エディタ内からも作成できますが、ネットの論理的な機能やグループ化は通常、回路図の方がはるかに明確であるため、回路図側からプロセスを駆動する方が理にかなっています。

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

Blanket オブジェクト に 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 の範囲内にある差動ネットに基づいて差動ペアオブジェクトを作成する。
Blanket オブジェクト に 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 ディレクティブのプロパティ内にある Component Class および Parameter オプションを、Add ボタンドロップダウンから使用します。コンポーネントクラスおよびパラメータに関する情報は、PCB 更新時の ECO プロセス中にプロジェクトの PCB ドキュメントへ転送されます。

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

Parameter Set ディレクティブは、パラメータを保持できない Schematic 上のデザインオブジェクトをターゲットにする場合に必要ですが、パラメータを保持できるオブジェクトに対しては、関連する回路図オブジェクトにパラメータとして追加(および定義)することで、デザインディレクティブを間接的に適用できます。要するに、それらは 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 Properties パネルの Sheet Symbol モードで、Source 領域で Local が選択されているときの Parameters タブ。 Component Class
Device Sheet Symbol Properties パネルの Sheet Symbol モードで、Source 領域で Device が選択されているときの Parameters タブ。 Component Class
Managed Sheet Symbol Properties パネルの Sheet Symbol モードで、Source 領域で Managed が選択されているときの Parameters 領域。 Component Class
Sheet Properties パネルの Document Options モードParameters タブ。 All Objects

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

  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 名をカンマで区切って入力します(画像を表示)。

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

デフォルトでは、すべてのデザインディレクティブが回路図シートの印刷に含まれますが、これは変更可能です。

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

AI-LocalizedAI-localized
If you find an issue, select the text/image and pressCtrl + Enterto send us your feedback.
機能の可用性

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

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

従来のドキュメント

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

Content