親ページ: 回路図についての詳細
Altium Designerは、設計指示をソフトウェアの他の部分に伝達される指示をキャプチャする手段として使用します。これらは、回路図シートの範囲内にのみ配置されるオブジェクトです。このような指示の種類がいくつかあり、以下の2つの領域に関連付けられて使用されます:
以下のセクションでは、これらの領域と関連する指示について詳しく見ていきます。
コンパイル関連の指示
デザインは時間とともに進化し、段階的に捉えられます。各段階が確定すると、その段階を他のデザインとは独立してチェックしたくなることがよくあります。キャプチャプロセスの途中で個々の回路図ドキュメント(またはプロジェクト全体)をコンパイルすると、まだキャプチャされていない回路や、まだ不完全な回路フラグメント間のインターフェース配線が原因で、多くのエラーメッセージが表示されることがよくあります。このようなメッセージは実際の情報を覆い隠すだけのノイズであり、実際の価値はありません。これらのコンパイルエラーを最も迅速かつ簡単に抑制する方法は、No ERCやコンパイルマスクの指示を配置することです。
No ERC指示
オブジェクトページ: No ERC
「No ERC」ディレクティブは、回路のノードに配置され、回路図プロジェクトがコンパイルされたときに検出されるすべての電気ルールチェック警告および/またはエラー違反条件を抑制します。意図的にエラーチェックを特定のポイント(たとえば、接続されていないピンなど)で制限しながら、回路の残りの部分の包括的なチェックを実行するために、No ERCディレクティブを使用します。
No ERCディレクティブは、さまざまなスタイルをサポートしており、任意の色で表示できます。この機能を使用して、回路のそのポイントでの設計意図を反映させます。
回路のそのポイントでの機能を最もよく反映するNo ERCスタイルを選択してください。
No ERCディレクティブには、2つの動作モードがあります:
-
Suppress All Violation - このモードでは、可能なすべての警告やエラー条件が抑制されます。このモードでは、ディレクティブは一般的にジェネリックNo ERCディレクティブと呼ばれます。
-
Suppress Specific Violations - このモードでは、選択された警告やエラー条件のみが抑制されます。他の警告やエラーは検出され、報告されます。このモードでは、ディレクティブは一般的に特定No ERCディレクティブと呼ばれます。
抑制されたエラーは、Messagesパネルで表示することができます。これは、Options for Project ダイアログのError ReportingタブでReport Suppressed Errors in Messages Panelオプションを有効にすることで実現します。この機能は、設計の最終段階で、誤って抑制された重大なエラーがないことを確認するために使用できます。
配置
No ERCディレクティブは、いくつかの方法で回路図ドキュメントに配置することができます:
違反を選択してから、回路上のその点に特定のNo ERCディレクティブを配置するためにOKをクリックします。
右クリックのコンテキストメニューを使用して、特定のNo ERCディレクティブを配置します。
Messagesパネルの右クリックコンテキストメニューを使用して、特定のNo ERCディレクティブを配置します。
このコマンドは、メッセージがネット関連のコンパイラ違反である場合にのみ利用可能です。
編集
配置中、およびNo ERCオブジェクトがカーソル上でまだ浮かんでいる間に、以下の編集アクションを実行できます:
-
Tabキーを押して、No ERCダイアログにアクセスします。ここから、No ERCオブジェクトのプロパティをその場で変更できます。
-
Spacebarを押してNo ERCオブジェクトを反時計回りに回転させるか、Shift+Spacebarを押して時計回りに回転させます。回転は90°のステップです。
-
XキーまたはYキーを押して、それぞれX軸またはY軸に沿ってNo ERCオブジェクトをミラーします。
配置された後、No ERCディレクティブはいくつかの方法で変更できます:
No ERC ダイアログを通じて No ERC ディレクティブのプロパティを変更します。特定の違反を抑制するか、すべての違反を抑制するかを素早く切り替えることができます(画像にカーソルを合わせるとダイアログの変更が見られます)。
選択したNo ERCディレクティブのプロパティを、SCHリストまたはSCHインスペクターパネルを通じて変更します。
全体の設計にわたるディレクティブを確認および編集するためにNoERC マネージャーダイアログを使用します。変更されたディレクティブは
強調表示され、変更はECOシステムを通じて適用されます。
無効化
No ERCディレクティブを削除するのではなく、単に無効(コンパイラの目では無効化)にすることができます。この状態は、編集のいずれかの方法を通じて利用可能なディレクティブの Activeプロパティを切り替えることで変更できます。無効なNo ERCディレクティブはワークスペースで灰色で表示されます。
No ERCディレクティブの使用を一時的に停止する必要がある場合は、削除するのではなく、非アクティブにするだけです。
コンパイルマスクディレクティブ
オブジェクトページ: コンパイルマスク
ERCディレクティブは、設計内の違反するピン、ポート、シートエントリ、またはネットの数が少ない場合に抑制するのに適しています。しかし、場合によっては、コンポーネントを含む設計の全セクションを削除したいことがあります。コンパイルマスクディレクティブ(Place » Directives » Compile Maskコマンド)を使用して、デザインの該当エリアをコンパイラから効果的に隠し、まだ完成していない回路に対するエラーチェックを手動で防ぐことができます。これは、アクティブなドキュメントやプロジェクトをコンパイルして、設計の他の特定のエリアの完整性をチェックしたいが、未完成の部分に関連するコンパイラ生成メッセージの「ノイズ」を望まない場合に非常に便利です。
その名前が示すように、このディレクティブは、定義されたマスクの境界内に完全に収まるオブジェクトをコンパイラが無視するよう指示します。メモや矩形オブジェクトを配置するのと同じようにマスクを配置してください。
次の画像に示されている例の回路図を考えてみましょう。ここでは、LCD1デバイスへの配線がまだ完了していません。Project » Compile Documentだけを実行すると、未完成の回路が原因で多数の違反メッセージが表示されます(表示されている通り)。画像にカーソルを合わせると、未完成の回路周りにコンパイルマスクディレクティブを配置した効果がわかります。これらの違反はコンパイラによって無視され、回路図上の他の完全に配線された回路はチェックされます。マスクに完全に含まれるオブジェクトは、マスクの境界矩形内に完全に収まるものであることに注意してください。これらのオブジェクトはグレーアウトして表示されます。
画像にカーソルを合わせると、未完成の回路によるコンパイラ違反を隠すためにコンパイルマスクディレクティブを使用する効果が表示されます。
コンパイルマスクは、展開された(フルフレーム)モードまたは折りたたまれた(小さな三角形)モードで表示できます。これらのモードは、それぞれマスクが有効および無効になっていることに対応しています。配置されたコンパイルマスクの左上隅をクリックすることで、表示モードを切り替えることができます。
コンパイルマスクはX軸またはY軸に沿って回転または反転させることができますが、これは設計回路内の向きには影響しません。
シミュレーション可能な設計への適用
コンパイルマスクディレクティブによってカバーされた設計のすべての要素は、設計コンパイラには見えないため、設計から省略されます。この機能は、設計フローの一部としてシミュレーションが含まれる場合に大いに役立ちます。
電圧源と電流源は回路シミュレーションを行う際に必要な要素ですが、完成したPCB上には存在しません。回路の構造に少し計画を立てることで、通常、シミュレーション専用のコンポーネントを設計の一部分にまとめることができます。その部分は後でコンパイルマスクディレクティブによって簡単に覆うことができます。
回路がシミュレーション用に使用される場合、コンパイルマスクディレクティブは無効にされ、シミュレーション専用のコンポーネントが表示されます。回路が検証され、設計に含める準備ができたら、コンパイルマスクディレクティブを再度有効にして、シミュレーション専用のコンポーネントが設計から除外されます。将来、設計を再度変更する必要がある場合は、コンパイルマスクディレクティブを無効にする(シミュレーション専用のコンポーネントを再度表示する)ことで、迅速に別のシミュレーションパスを実行することができます。
初めに、コンパイルマスクディレクティブは無効になっており、回路がシミュレーションの準備ができています。画像にカーソルを合わせると、コンパイルマスクディレクティブが有効になり、
設計からシミュレーションソースが隠されます。
PCB関連ディレクティブ
オブジェクトページ: パラメータセット
Altium Designerは統合設計環境として、基板のレイアウトに入る前にPCBの要件を定義する機能を提供します。これは、回路図シートに配置されたオブジェクトにパラメータを追加して指定することで達成されます。
特定の回路図設計オブジェクト - 例えばコンポーネント、シートシンボル、ポートなど - については、そのオブジェクトのプロパティの一部として関連するパラメータを追加するだけです。ネットオブジェクト(ワイヤーやバスなど)の場合、パラメータをワイヤーやバスのプロパティとして直接追加することはできません。代わりに、情報を保持するために必要なパラメータは、専用の設計指示を使用して指定されます。
以下の情報は、指示を使用して指定され、設計同期中に適切なPCBベースの定義に転送されます:
回路図に設計指示を含めることで、設計エンジニアは明確な設計制約を指定でき、回路図が設計のマスターレコードであることを保証します。設計の変更は回路図側でのみ行われ、PCBに反映されます。これは、特に複数の人が設計に取り組んでいる場合、特に地理的に離れている場合に特に重要になります。メールの連鎖や電話を通じて互いにコミュニケーションを取ろうとするのではなく、設計をキャプチャする人は、特定の制約がレイアウトフェーズで実際に使用されることを確認できます。
この機能の中心には、パラメータセット指示があります。
パラメータセット指示。
これは、パラメータセットディレクティブがアタッチされているネットを対象とする任意の数のパラメーターを格納するためのコンテナとして機能します。パラメーターがないデフォルトのパラメータセットディレクティブは配置することができ(配置 » ディレクティブ » パラメータセット)、関連するパラメーターを追加できます。ただし、以前にリストされた3つの情報タイプについては、使用できる事前定義されたパラメータセットディレクティブがあります(同じサブメニューから利用可能)。次のセクションでは、これらのパラメーターベースのディレクティブを使用する方法について詳しく見ていきます。
PCBレイアウトディレクティブ
これは、基本的に事前設定されたパラメータセットオブジェクトであり、回路設計内のネットオブジェクトに関連付けることができます。ワイヤー、バス、またはシグナルハーネスにPCBレイアウトディレクティブを配置し、関連するネットに対して一つ以上の設計制約を定義します。回路図からPCBが作成されると、PCBレイアウトディレクティブの情報は関連するPCB設計ルールの作成に使用されます。PCBレイアウトディレクティブによって指定された情報は、それが接続されているネット(またはネットのセット)にのみ適用されます。
このタイプのディレクティブを配置するには、メインメニューからPlace » Directives » PCB Layoutコマンドを選択します。このタイプのディレクティブで定義されるパラメータは、ルールベースのパラメータでなければなりません。新しく配置されたPCBレイアウトディレクティブには、未定義値のデフォルトルールパラメータが存在し、これを変更する必要があります。ルールパラメータは、パラメータに関連するプロパティダイアログからアクセス可能なChoose Design Rule Typeダイアログから定義されます。アクセスには以下が含まれます:
-
PCBレイアウト指令を配置する前にTabキーを押すか、既に配置されたPCBレイアウト指令をダブルクリックして、そのParametersダイアログを表示します。
-
ルールのエントリを選択し(複数存在する場合)、パラメータダイアログで編集ボタンをクリックして、Parameter Propertiesダイアログを開きます。
-
次に、Edit Rule Valuesボタンをクリックして、PCBルールを指定できるChoose Design Rule Typeダイアログにアクセスします。
PCBレイアウトディレクティブでルールの値を編集しています。
Choose Design Rule Typeダイアログを使用して、ディレクティブにルールパラメータとして追加したいルールを選択します。ルールタイプをダブルクリックすると、関連するEdit PCB Rule (From Schematic) ダイアログにアクセスでき、そこからルールの制約を定義できます。
選択したルールの制約を指定します。
パラメータのValueフィールドへの入力は、選択されたルールタイプと指定された制約になります。次の画像は、PCBレイアウトディレクティブのために定義されたいくつかのルールパラメータを示しています。
特定のネットに定義された複数のルール制約、PCBレイアウト(パラメータセット)ディレクティブの提供によるもの。
設計が同期プロセスを通じてPCBに転送されると、ディレクティブ内に含まれる情報に基づいて、関連する設計ルールが作成されます。生成された各ルールの名前にはSchematic
という単語が使用され、そのルールのソースを区別します。
PCB側で生成された設計ルール。
ワイヤーに添付されたPCBレイアウト指示は、Net(例:InNet('LCD_LIGHT'))のルールスコープを持つ設計ルールを生成します。バスやシグナルハーネスに指示が添付されている場合、生成される設計ルールはNetClass(例:InNetClass(LEDS[7..0]))のルールスコープを持ちます。
ブランケットオブジェクトに
PCBレイアウト指示を添付すると、そのブランケットによってカバーされる各個別のネットに対して、そのルールパラメータが適用されます。そのブランケットにネットクラス指示も添付されている場合、PCBレイアウト指示のルールパラメータは各個別のネットではなく、そのネットクラスを対象とします。PCBドキュメントに変更をインポートすると、これにより、スコープがネットクラスを対象とするように設定された、パラメータごとに1つの設計ルールが作成されます。
ルールの同期
ルール指示と対応するPCBルール間の同期は、ユニークIDの使用を通じて維持されます。回路図上のオブジェクトに設計ルールパラメータを追加する際、それぞれにユニークIDが与えられます。同じIDがPCBで作成される対応する設計ルールにも与えられます。このユニークIDを使用することで、回路図またはPCB側でルールの制約を編集し、同期時に変更をプッシュスルーできます。
定義されたルールは、ユニークIDの使用を通じて回路図とPCB間で同期されます。
ネットクラス指令
これは、基本的には事前に設定されたパラメータセットオブジェクトであり、回路設計内のネットオブジェクトに関連付けることができます。ネットクラスディレクティブを使用すると、回路図上でユーザー定義のネットクラスを作成できます。回路図からPCBが作成されると、ネットクラスディレクティブの情報を使用して、PCB上に対応するネットクラスが作成されます。ネットをネットクラスのメンバーにするには、関連するワイヤー、バス、またはシグナルハーネスにネットクラスディレクティブを添付し、ディレクティブのClassNameパラメータを目的のクラスの名前に設定します。
ネットクラスはPCBエディター内から比較的簡単に作成できますが、ネットの論理的な機能やグルーピングは通常、回路図での方がはるかに明確であるため、そのプロセスをそこから推進する方が理にかなっています。
このタイプのディレクティブを配置するには、メインメニューからPlace » Directives » Net Class commandコマンドを選択します。新しく配置されたネットクラスディレクティブには、ClassNameという名前のデフォルトパラメータが含まれており、値は未定義です。このパラメータの値を編集して、ネットクラスの名前を定義します。
重要なプロジェクトオプション要件
スキーマで定義されたネットクラスをPCBに伝播させるためには、PCBプロジェクトのオプションダイアログで以下のオプションを設定する必要があります:
PCBにネットクラス指令を伝播させるためには、二つのプロジェクトオプションを設定する必要があります。まず、Class GenerationタブでGenerate Net Classesオプションを有効にします。画像にカーソルを合わせるとComparatorタブが表示され、Extra Net ClassesオプションをFind Differencesに設定する必要があります。
デザインがPCBに転送される際、同期プロセスを通じて、ディレクティブ内に含まれる情報に基づいて関連するネットクラスが作成されます。 PCB側で生成されたネットクラスの例。
ブランケットオブジェクトにネットクラスディレクティブを添付することで、そのブランケットによってカバーされる個々のネットがメンバーとなるネットクラスを作成できます。そのブランケットにPCBレイアウトディレクティブも添付されている場合、PCBレイアウトディレクティブのルールパラメータは、個々のネットではなく、そのネットクラスを対象とします。PCBドキュメントに変更をインポートすると、スコープがネットクラスを対象とするように設定された、パラメータごとに1つのデザインルールが作成されます。
差動ペアディレクティブ
これは基本的に事前に設定されたパラメータセットオブジェクトであり、回路図上で差動ペアを定義することができます。このタイプのディレクティブを意図されたペアの正と負のネットの両方に添付します。ネット自体はそれぞれ_Pおよび_Nの接尾辞で名付けられていなければなりません。
このタイプのディレクティブを配置するには、メインメニューからPlace » Directives » Differential Pairコマンドを選択します。ディレクティブには単一のパラメータエントリが含まれており、名前:DifferentialPair、値:Trueです。このタイプのディレクティブのペア(正のネット用の1つ、負のネット用の1つ)は、PCBに転送されると単一の差動ペアオブジェクトを生成します。
回路図上での差動ペアディレクティブの配置例。ペアを形成するためには、正のネットと負のネットの両方にディレクティブが必要です。
設計がPCBに転送されると、同期プロセスを通じて、指令のペアごとに1つの差動ペアオブジェクトが作成されます。PCB側で生成された差動ペアオブジェクトの名前は、回路図上のネットペアのルート名になります。たとえば、回路図上のD_NとD_Pに追加された指令は、PCB上でDという名前の差動ペアオブジェクトを生成します。各結果の差動ペアオブジェクトは、デフォルトの差動ペアクラス:<All Differential Pairs>に追加されます。差動ペアオブジェクトの名前はPCB側でのみ変更できます。
生成された差動ペアオブジェクトは、PCBパネルをDifferential Pairs Editorモードで設定することで、迅速に確認できます。
PCB側で差動ペアの作成を確認するには、PCBパネルをDifferential Pairs Editorモードで設定します。
ブランケットディレクティブ
オブジェクトページ: ブランケット
パラメータセットディレクティブは、それがアタッチされている特定のネットにのみ対象を絞ることができますが、ブランケットディレクティブと組み合わせることで、その範囲をブランケット内のすべてのネットに拡大することができます。
このタイプのディレクティブを配置するには、メインメニューからPlace » Directives » Blanketコマンドを選択します。ブランケットを配置する際には、単純な長方形または多角形の形状を定義できます。後者は、シート上の必要なネットオブジェクトをより正確にカバーすることができます。
ブランケットは関心のあるネットを識別します - ブランケットの端にあるどこかにパラメータセットディレクティブ(Place » Directive)を配置して、それらのネットに対する設計要件を適用します。ブランケットディレクティブの下にあるネットに周辺ディレクティブを適用するには、そのネットに関連付けられたオブジェクト - ピン、ポート、ネットラベル、電源ポート、ワイヤー/バス/ハーネスセグメント(両端を含む) - がブランケットの境界内にある必要があります。ネット識別子(例えばネットラベル)の場合、ホットスポットがブランケット内にある必要があります。メンバーネットが期待通りにPCBネットクラスに移行しない場合は、ブランケットの領域を調整してみてください。
ブランケットディレクティブが適用されるネットを確認するには、Underline Connections機能を使用してそれらをハイライト表示します。メインデザインウィンドウの右下にある ボタンをクリックし、必要なブランケットディレクティブの周囲をクリックします。Spacebarを押して、ハイライトペンの色を変更します。アクティブシート上のすべてのハイライトをクリアするには、メインデザインウィンドウの右下にあるClearボタンをクリックします。
ブランケットディレクティブを使用して、ブランケット内のネットにネットクラスディレクティブ(パラメータセットディレクティブ)を適用する例。
ブランケットディレクティブの使用例には以下が含まれます:
-
ブランケットオブジェクトにPCBレイアウト指示を添付して、そのブランケットでカバーされている各個別ネットにルールパラメータが適用されるようにします。
-
ブランケットオブジェクトにネットクラス指示を添付して、そのブランケットでカバーされている個々のネットがメンバーであるネットクラスを作成します。
-
ブランケットオブジェクトに差動ペア指示を添付して、そのブランケットの範囲内の差動ネットに基づいて差動ペアオブジェクトを作成します。
-
ブランケットオブジェクトにネットクラス指示とPCBレイアウト指示の両方を添付します。PCBレイアウト指示のルールパラメータは、各個別ネットではなく、そのネットクラスを対象とします。PCBドキュメントに変更をインポートすると、スコープがネットクラスを対象とするように設定された、パラメータごとに1つのデザインルールが作成されます。
また、周囲のネットクラス指示をコピーして、別のブランケット指示や個々のワイヤー、バス、ハーネスに添付することもできます。その結果、同じネットクラス指示に関連するすべての追加ネットが、生成されたPCBネットクラスに追加されます。
同じパラメータセットディレクティブに複数のパラメータを追加することで、回路図がすっきりとします。
間接的(パラメータベース)ディレクティブ
パラメータセットディレクティブは、パラメータを含むことができない回路図上の設計オブジェクトを対象とする場合に必要ですが、パラメータを含むことができるオブジェクトに対しては、関連する回路図オブジェクトにそれらをパラメータとして追加(および定義)することにより、設計ディレクティブを間接的に適用できます。本質的に、これらはパラメータベースのディレクティブです。
パラメータベースのディレクティブが使用される例としては、特定のコンポーネントの高さを制限する、または設計内のすべてのオブジェクトを対象とするクリアランス制約を追加する、などがあります。制約を定義する必要なパラメータは、PCBレイアウトディレクティブにパラメータが追加されるのと全く同じ方法で、ルールとしてオブジェクトに追加されます。
PCBと同期すると、回路図のオブジェクトに追加されたパラメータベースのディレクティブはPCB設計ルールになります。対応するPCB設計ルールの範囲は、最初にパラメータが割り当てられたオブジェクトの性質によって決定されます。次の表は、PCBレイアウトディレクティブを配置することで定義されるものを含む、サポートされている回路図パラメータからPCBルール範囲へのオプションをまとめたものです。
各ケースにおいて、ルールベースのパラメータを追加する方法は同じです。該当するタブやダイアログから、以下の手順を実行してください。
-
パラメータをルールとして追加する。
-
使用するルールタイプを選択する。
-
選択したルールタイプの制約を設定する。
回路図上のオブジェクトに設計ルールパラメータを追加する際、各ルールパラメータには一意のIDが与えられます。同じIDがPCB上で作成される対応する設計ルールにも与えられます。この一意のIDにより、回路図またはPCB側でルールの制約を編集し、同期時に変更を反映させることができます。
コンポーネントクラスの指定
同様に、コンポーネントクラスは、対象のコンポーネントにClassNameパラメータを追加し、その値を望むクラス名に設定することで、回路図上で定義できます。設計がPCBに転送されると、定義されたコンポーネントクラスが作成されます。
回路図で定義されたコンポーネントクラスがPCBに伝播されるようにするには、PCBプロジェクトのオプションダイアログで以下のオプションを設定する必要があります:
-
ダイアログのClass GenerationタブのUser-Defined Classes領域にあるGenerate Component Classesオプションを有効にします。
-
ダイアログのComparatorタブで、Differences Associated with Components » Extra Component ClassesのチェックモードをFind Differences
に設定します。
コンポーネントクラスをPCBに伝播させるには、2つのプロジェクトオプションを設定する必要があります。まず、Class Generationタブで Generate Component Classesオプションを有効にします。画像にカーソルを合わせるとComparatorタブが表示され、そこでExtra Component ClassesオプションをFind Differencesに設定する必要があります。
ディレクティブの印刷制御
デフォルトでは、すべての設計ディレクティブが回路図シートの印刷時に含まれます。しかし、これは変更することができます:
必要に応じてディレクティブの印刷を制御します。No ERCディレクティブの場合、特定のシンボルスタイルを印刷することを選択し、他を除外することができます。