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

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.

Design Directives は、設計キャプチャ時に回路図上へ配置されるオブジェクトで、ソフトウェアの他の部分へ渡す指示を指定するための手段を提供します。さまざまな Design Directives が用意されており、次の 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 ディレクティブを使用した効果が表示されます。

コンパイルマスクは、展開(フルフレーム)モードまたは折りたたみ(小さな三角形)モードのいずれかで表示できます。これらのモードは、それぞれマスクの有効化状態と無効化状態に対応します。配置済みコンパイルマスクの左上隅をクリックすると、表示モードを切り替えられます。この機能は、設計フローの一部としてシミュレーションが含まれる場合に役立ちます。詳細は learn more を参照してください。
コンパイルマスクは回転したり 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)の両方のパラメータセットディレクティブを利用できます。空のパラメータセットと定義済みパラメータセットの唯一の違いは、後述するように、定義済みパラメータセットにはパラメータが含まれていることです。

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

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 directive を配置する場合、既存のパラメーターはありません。parameter set は、回路図設計内のネットタイプオブジェクトに設計仕様を関連付けることができる設計ディレクティブです。たとえば、parameter set を使用して 2 つのネットを差動ペアのメンバーとして宣言できます。ソフトウェアは、parameter set 内にある特定の名前のパラメーターの存在によって、どの設計ディレクティブを配置しているかを判断します。

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

 
 
 
 
 
  1. Parameter Set を配置する前に Tab を押すか、すでに配置済みの Parameter Set directive をダブルクリックして、Parameter Set mode of the Properties panel を表示します。

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

ルールの値を編集します。
ルールの値を編集します。

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

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

たとえば、以下の画像は Max-Min Width Rule 用の Edit PCB Rule (From Schematic) dialog を示しており、ここでは全レイヤーの 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 コマンドを選択し、その後コマンドページのヒント #2 で指定されているように parameter set を net class ディレクティブとして定義することで配置できます。回路図から PCB が作成されると、Net Class ディレクティブ内の情報を使用して、対応する Net Class が PCB 上に作成されます。ネットをネットクラスのメンバーにするには、関連するワイヤ、バス、または signal harness に Net Class ディレクティブを接続し、そのディレクティブの ClassName パラメータを目的のクラス名に設定します。この機能を使用するには、the Class Generation tab of the Project Options dialog で Generate Net Classes オプション(User-Defined Classes 用)を有効にする必要があります。

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

Net Class は 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 ディレクティブ配下のネットに周囲のディレクティブを適用するには、そのネットに関連付けられたオブジェクト、つまりピン、ポート、ネットラベル、パワーポート、ワイヤ/バス/harness セグメント(両端を含む)のいずれかが 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 オブジェクトを作成する。
Parameter Set ディレクティブをBlanket object にアタッチすると、そのルールパラメーターが、その 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 directives は、パラメータを含められない Schematic 内の設計オブジェクトを対象にする場合に必要ですが、パラメータを含められるオブジェクトについては、関連する回路図オブジェクトにパラメータとして追加(および定義)することで、設計ディレクティブを間接的に適用できます。要するに、これらは parameter-based directives です。

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

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

パラメータ(ルールとして)を追加する対象... 場所... PCB ルールスコープ...
Pin Pin mode of the Properties panelParameters タブ。 Pad
Port Port mode of the Properties panelParameters タブ。 Net
Component Properties パネルの Components modeParameters 領域。 Component
Sheet Symbol Source 領域で Local が選択されている場合の、Properties パネルの Sheet Symbol modeParameters タブ。 Component Class
Device Sheet Symbol Source 領域で Device が選択されている場合の、Properties パネルの Sheet Symbol modeParameters タブ。 Component Class
Managed Sheet Symbol Source 領域で Managed が選択されている場合の、Properties パネルの Sheet Symbol modeParameters 領域。 Component Class
Sheet Properties パネルの Document Options modeParameters タブ。 All Objects

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

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

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

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

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

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

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

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

定義後、クラスは各コンポーネントプロパティの 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