親ページ: 回路図についてもっと知る
回路図が元々紙に記録された時、それはしばしば大きな製図台を埋め尽くすほどの大きな一枚の紙に描かれ、専用の大判コピー機で複製されました。時代は変わり、現在では回路図はデスクトップPC上で作成され、サーバーに保存され、小型のレーザープリンターで印刷されます。
この変化は、たとえ単純な設計であっても、複数の回路図シートにわたって提示された場合、より容易に表示され理解されることを意味します。設計が特に複雑でない場合でも、複数のシートにわたって整理することには利点があります。
たとえば、設計にはさまざまなモジュラー要素が含まれている場合があります。これらのモジュールを個別のドキュメントとして維持することで、複数の設計者が同時にプロジェクトに取り組むことができます。設計を論理的なモジュールに分割することは、設計の可読性を大幅に向上させることもあります。これは、製品の寿命の後期に回路図を読み解く必要がある人にとって重要な考慮事項です。もう一つの利点は、設計が少ないコンポーネントを持つ複数のシートに構造化されている場合、小型フォーマットの印刷、例えばレーザープリンターを使用できることです。 設計を複数のシートに分散させる場合、決定すべきことが2つあります:
あなたの選択は、各プロジェクトのサイズとタイプ、および個人の好みによって異なります。
この記事では、シート間の構造的な関係、その仕組み、およびマルチシート設計を作成するためのツールや技術に焦点を当てています。接続がどのように作成されるかについて詳しく知りたい場合は、接続の作成に関する記事を参照してください。
フラットデザインか階層デザインか
述べたように、設計者としては、回路図シートの整理方法と、それらのシート間の接続がどのように確立されるかを決定する必要があります。これらは別々の決定ではありません。構造を選択すると同時に、それらのシート間の接続がどのように作成されるかも選択する必要があります。
マルチシート設計の構造を決定するアプローチには、フラットまたは階層的の2つがあります。
フラットデザインと階層型デザインの両方で、子シートを親シートに接続する技術は同じです - それがフラットデザインか階層型デザインかを決定するのは、接続がどのように作成されるかです。
フラットデザイン
フラットデザインを考えるとき、大きな回路図シートがいくつかの小さなシートに切り分けられたかのように考えることができます - フラットデザインでは、すべてのシートが同じレベルに存在します。フラットデザインにおける接続は、任意のシートから他の任意のシートへ直接作成されます - このタイプの接続は水平接続と呼ばれます。
フラットデザインではトップシートの使用はオプションです。もし含まれている場合、デザイン内の各シートに対してシートシンボルを持ちますが、配線を含むことはできません。フラットデザインには任意の数のシートが存在することができます。
最初の画像 - フラットデザインにはトップシートがありません;二番目の画像 - 同じデザインにトップシートがあります。トップシートには配線がないことに注意してください。単にデザイン内のシートを示しています。
上の画像の両方はフラットデザインを示しています。左側のバージョンにはトップシートがなく、右側のバージョンにはトップシートがあります。2つまたは3つの回路図シートしかない小さな設計の場合、トップシートが価値を加えないと判断するかもしれません。シートの数が多くなると、トップシートは論理ブロック(シートシンボル)がシート上にどのように配置されているかから、回路設計の機能性を理解するのに役立ちます。設計内のすべてのシートは、階層がないため、プロジェクトパネルで同じレベルに表示されます。
階層型デザイン
階層設計において重要なのは、プロジェクトにはトップシートが1つだけ含まれることです。他のすべてのソースドキュメントはシートシンボルによって参照されなければなりません。設計検証を行う際には、
複数のトップレベルドキュメント違反チェックを使用して、この条件が満たされていない場合にフラグを立てることができます。さらに、シートシンボルは、それが配置されているシートや、より上位のシートを参照してはならず、そうすると構造内で解決不可能なループが発生します。
階層設計とは、シートシンボルを使用してシート間に親子関係を作り出し、かつ、その接続がシートシンボル内のシートエントリーを通じて行われるもので、一つのシートのポートから別のシートのポートへ直接行われるわけではありません。
フラット設計と同様に、子シートはシートシンボル内でそのファイル名を定義することによって識別されます。階層設計では、その子シートはさらにシートシンボルを含むことができ、下位レベルのシートを参照することで、階層内に別のレベルを作り出します。下の画像は階層設計を示しており、階層には3つのレベルがあります。
階層型設計では、子シート上の信号はポートを介してシートを離れ、親シート上の対応するシートエントリに接続します。親シートには、子信号を別のシートシンボル内のシートエントリに渡すための配線が含まれており、その後、下の画像に示されているように、2番目の子シート上の対応するポートに向かって下降します。
階層型設計では、ツリーに示された構造は、シートシンボルによって作成された親子関係によって決定されます。
この親子シート構造は任意の深さに定義でき、階層設計内に任意の数のシートを持つことができます。
シート間の接続は Net Identifier Scopeによって決定されます。これは、Options for ProjectダイアログのOptionsタブで設定されます。接続を作成する方法について詳しくは、接続の作成記事をご覧ください。ネット識別子スコープには自動オプションが含まれていますが、特殊な接続要件がない限り、このオプションは良い選択です。
階層的な設計のもう一つの利点は、洗練された設計の再利用システムを提供するプラットフォームを提供することです。このシステムは、データの保存方法に応じて、ファイルベースまたはサーバーベースのいずれかの方法で提供されます。
マルチシート設計の作成
プロジェクトに2枚目の回路図シートを追加すると、マルチシート設計が作成されます。トップシートなしでフラットな設計を計画している場合は、プロジェクトに回路図シートを追加し続け、ネット識別子の範囲が正しく設定されていることを確認します。
下位レベルのシートを参照するためにシートシンボルを使用したい場合は、シートシンボルを配置して手動で編集し、下位レベルのシートを正しく参照するようにするか、以下に説明するように、さまざまな組み込みコマンドを使用できます。
子シートの参照
シートシンボルのFilenameプロパティが下位レベルのシートを参照します。このフィールドには、そのファイルの場所へのパスではなく、回路図ファイル名のみを含めるべきです(この場所のデータは実際にはプロジェクトファイルに格納されています)。
このシートシンボルのFilenameプロパティは、子回路図シートにリンクしています。
子回路図は、親回路図と同じフォルダに保存する必要はありません。ファイルが親の保存フォルダより下のフォルダに保存されている場合は、相対ファイル参照が使用されます。ファイルが別の場所に保存されている場合は、絶対ファイル参照が使用されます。このようなプロジェクトでファイルを移動する際は注意が必要です。または、プロジェクトパッケージャーを使用してファイルをZIP化すると、プロジェクトをZIP化する際にファイルパスを解決します。
階層の作成
このソフトウェアには、複数のドキュメントで階層構造を迅速かつ効率的に構築できるようにするコマンドがいくつか含まれています。使用するコマンドは、個人の設計方法論に依存します - これは大まかにトップダウンまたはボトムアップと分類されます。これらのコマンドは、シートエントリの追加、新しい回路図シートの作成、ポートの配置など、プロセスに必要なすべての要素を処理するため、手動で階層を作成するよりも効率的です。
このコマンドを使用して、トップダウン方式で階層を構築します:
このコマンドを使用して、下から上への階層を構築します:
このコマンドを使用して、回路が設計内でどのように配置されるかを再編成します:
もし、コンポーネントを一つのシートから別のシートに移動するための専用コマンドがなぜ必要なのか疑問に思っている場合、これらは提供されています。なぜなら、標準のカット&コピー コマンドは各コンポーネントのユニーク識別子を自動的にリセットするからです。UIDは、回路図コンポーネントをPCBコンポーネントに結びつけます。回路図コンポーネントのUIDがリセットされた場合、設計が同期されるたび(設Design » Updateコマンドが使用されたとき)に、設計者に対してデザインネーターを介してマッチングを試みるよう促されます。必要に応じて、UIDはPCBエディタ内からProject » Component Linksコマンドを使用して再同期化することができます。
► 設計同期についてもっと学ぶ
設計の再構築
メイン記事: 設計リファクタリング
設計のプロセスはしばしば非構造的で有機的であり、デザイナーは同時に設計の複数の部分に対してアイデアを練っているかもしれず、アイデアが進化するにつれてセクションを捉えていきます。それは、始めは整然と配置された回路図が、混雑して整理されていないものになる可能性があることを意味します。回路図デザインを再編成するためにカット、コピー、ペーストを使用することができますが、これが常に最良のアプローチではありません。
なぜカットやコピーを使わないのか?それは、各コンポーネントが配置されると、それには一意の識別子が割り当てられ、この識別子はコンポーネントがカット/コピーされてペーストされるたびに自動的にリセットされるからです。このUID管理は、設計内で使用される各UIDのインスタンスが1つだけであることを保証するために行われます。なぜなら、それは回路図コンポーネントをPCBコンポーネントにリンクする鍵となるフィールドだからです。設計がPCBエディタに転送されていない場合は、カット/コピー/ペーストアプローチで問題ありませんが、転送されている場合は、リファクタリングツールを使用する方が良いです。
サブサーキットを別のシートに移動する
回路の一部を一枚のシートから別のシートに移動する最も簡単な方法は、それを選択してから、Edit » Refactor » Move Selected Sub-circuit to Different Sheet コマンドを実行することです。Choose Destination Document ダイアログが開き、目的のシートを選択してOKをクリックすると、そのシートが表示され、サブ回路がカーソル上に浮かんでいて、配置する準備ができます。
プロジェクト内の異なるシートに選択した回路部分を簡単に移動できるMove Selected Subcircuit to Different Sheetコマンド。
► デザインリファクタリングについてもっと学ぶ。
ポートとシートエントリの同期
設計の再構成の一環としてコンポーネントや配線を移動した場合、各ポートが対応するシートエントリと一致するように、子シートをシートシンボルに再同期する必要があるかもしれません。これは、Synchronize Sheet Entries and Portsコマンドを使用して行います。これは以下のために使用できます:
-
A specific Sheet Symbol - シートシンボルを右クリックしてコンテキストメニューを表示し、Sheet Symbol Actions » Synchronize Sheet Entries and Portsコマンドを選択して、カーソル下のシートシンボルのみを分析します。
-
All Sheet Symbols in the design - Design » Synchronize Sheet Entries and Portsコマンドを選択して、設計内のすべてのシートシンボルを分析します。ダイアログには、ダイアログの下部にあるOnly Show unmatched sheet symbolsオプションに従って、設計内の各シートシンボルに対するタブが含まれます。
これらのコマンドの両方について、Synchronize Ports to Sheet Entriesダイアログが開きます。このダイアログでは、既に一致したポート/シートエントリがダイアログの右側にリストされ、一致していないポートとシートエントリがダイアログの左側の2つの列にリストされます。
Synchronize Ports to Sheet Entriesダイアログは、子シート上のポートがシートエントリと一致するようにするために使用されます。
この設計では、シートエントリ/ポートの不一致があるシートシンボルが2つあることを示す2つのタブに注目してください。
ダイアログの左側に表示される不一致に焦点を当て、最初の列にシートエントリを選択し、次に2列目に正しいポートを選択し、次にダイアログの中央にある必要なボタンをクリックして、それらが同期されるように更新します(そして、ダイアログの右側のリストに移動します)。
ボタンの機能は次のとおりです:
-
- シートエントリのプロパティを使用し、それを選択したポートに適用します。
-
- ポートのプロパティを使用し、それを選択したシートエントリに適用します。
左側の列で複数のシートエントリが選択されている場合、ソフトウェアは各シートエントリを第二列の隣接するポートと同期します。隣接するポート(またはシートエントリ)がない場合は、新しいものが作成されます。
コマンドが新しいシートエントリーやポートを追加する場合、完了時にそれらを回路図シート上で正しく配置する必要があります。
マルチチャネル設計
電子設計において、回路の繰り返しセクションが含まれることは珍しくありません。それはステレオアンプであるかもしれませんし、64チャネルのミキシングデスクであるかもしれません。このタイプの設計は、マルチチャネル設計として知られる機能セットによって完全にサポートされています。
ビデオマルチプレクサーの2つのデコーダーチャネルは、マルチチャネル設計構造を使用することで、デコーダーチャネルが一度だけキャプチャされます。
マルチチャネル設計では、繰り返される回路を一度キャプチャし、その後、ソフトウェアに必要な回数だけ繰り返すよう指示します。設計が自動的にコンパイルされると、ユーザー定義のチャネル命名スキームに従って、必要な回数だけ全てのコンポーネントと接続性がメモリ内で展開されます。
キャプチャした論理設計は実際にはフラット化されず、ソースは常にマルチチャネルの回路図として残ります。それをPCBレイアウトに転送すると、物理的なコンポーネントとネットは必要な回数だけ自動的にステップアウトされます。回路図とPCBの間で作業するために利用可能な標準のクロスプロービングおよびクロスセレクティングツールに完全にアクセスできます。また、PCBエディターには、1つのチャネルの配置とルーティングを他のすべてのチャネルに複製するツールがあり、1つのチャネル全体を簡単に移動および再配置する機能があります。
動的コンパイル
関連記事: 設計のコンパイルと検証
設計の接続モデルは、動的コンパイルを通じて各ユーザー操作の後にインクリメンタルに更新されます。プロジェクトを手動でコンパイルする必要はありません。これは自動的に行われます。設計プロジェクトの場合、自動コンパイルプロセスは3つの機能を実行します:
-
設計階層をインスタンス化します。
-
すべての設計シート間のネット接続を確立します。
-
設計の内部統一データモデル(UDM)を構築します。
これにより、行われた設計変更がナビゲーターおよびプロジェクトパネルに即座に反映されることが保証されます。
プロジェクトのコンパイルされたモデルは、統一データモデル(UDM)として参照されます。UDMには、設計内のすべてのコンポーネントの詳細な説明と、それらが互いにどのように接続されているかが含まれています。
UDMとコンパイラ設定の間の論理的、電気的、およびドラフトのエラーをチェックするためには、プロジェクトを検証する必要があります。このコマンドは、メインメニューからProject » Validate Projectコマンドを選択するか、プロジェクトパネルでプロジェクトのエントリを右クリックして、コンテキストメニューからValidate Projectコマンドを選択することでアクセスできます。
コンパイラによって検出された違反は、Messagesパネルに警告および/またはエラーとしてリストされます。コンパイラは、ソースドキュメントの違反をチェックする際に、プロジェクトタイプに適用される場合、Options for ProjectダイアログのError Reportingおよび Connection Matrixブで定義されたオプションを使用します。
Altium Designer 20.0より前のバージョンでは、Unified Data Modelを構築するためにプロジェクトを手動でコンパイルする必要がありました。それ以降、デザインデータモデルはユーザー操作ごとに動的コンパイルを通じてインクリメンタルに更新され、Dynamic Data Model(DDM)と呼ばれるものが作成されます。プロジェクトの手動コンパイルは一切関与せず、すべて自動的に行われます。デザインの接続モデルも、動的コンパイルのおかげでユーザー操作ごとにインクリメンタルに更新されます。
Unified Data Model
マルチチャネル設計を理解するには、デザインデータの管理方法を理解することが役立ちます。ソフトウェアの基本要素の一つがUnified Data Model(UDM)です。プロジェクトが自動的にコンパイルされると、一つの統合されたモデルが作成され、それがデザインプロセスの中心に位置します。モデル内のデータには、ソフトウェア内のさまざまなエディターやサービスを使用してアクセスし、操作することができます。さまざまなデザイン領域ごとに別々のデータストアを使用するのではなく、UDMはデザインのすべての側面、コンポーネントとその接続性を含むすべての情報を収容するように構造化されています。
統一データモデルにより、すべての設計データがすべてのエディターに利用可能となり、マルチチャネル設計のような高度な機能を提供するのに役立ちます。
UDMは、階層的な設計システムと組み合わせて、マルチチャネル設計機能を提供するために活用されます。「チャネル」とは、シートシンボル内の回路を指し、このシートシンボルの下には単一のシートがあるか、またはプロジェクト構造の全体の枝が含まれている場合があり、他のサブシートが含まれています。また、チャネル内にチャネルを作成することもでき、2レベルのマルチチャネル設計では、上位のチャネルをバンクと呼び、下位のものをチャネルと呼びます。
この完全な、PCB準備完了の記述がメモリ内に存在するため、コンポーネント指定子やネットのような繰り返されるオブジェクトを扱う体系的な方法がある限り、回路の一部を繰り返すことが可能です。体系的な命名は、Options for Projectダイアログのマルチチャネルタブで定義されており、以下で説明されています。
マルチチャネル設計の作成
設計がマルチチャネルであるとは、回路の一部が繰り返されることを意味します。これはシートシンボルレベルで行われ、以下のいずれかの方法で行います:
-
同じ子スキーマを参照する複数のシートシンボルを配置するか、または
-
必要な回数だけ子スキーマを繰り返すように単一のシートシンボルを設定する
最初の画像 - 4つのシートシンボルがすべて同じ子シート(PortIO.SchDoc)を参照しています。二番目の画像 - InputChannel.SchDocが8回、OutputChannel.SchDocが2回、Repeatキーワードを使用して繰り返されています。
上記の画像には、マルチチャネル設計を作成するための2つのアプローチが示されています。最初の画像では、同じ子シート(PortIO.SchDoc
)を参照する4つのシートシンボルがあります。2番目の画像では、InputChannel.SchDoc
が8回繰り返され、OutputChannel.SchDoc
が2回繰り返されており、これはシートシンボルのDesignatorフィールドにRepeatキーワードが存在することによります。
プロジェクト内の繰り返されるコンポーネントのデザインネータとネット名は、標準的な命名規則を適用することで解決されます。例えば、一つの命名規則は、繰り返されるコンポーネントとネット識別子(ネットラベルおよびポート)にチャネルインデックスを追加することです。これは、以下の画像のハイライトで示されています。
プロジェクトを開いたときに、回路図の下部に表示されるタブに注目してください。Editorタブには、あなたがキャプチャした論理設計が含まれています。他のコンパイルされたタブ(COUT1およびCOUT2)も表示され、これらはPCBエディターに転送される物理設計を表しています。物理チャネルごとにタブがあります。
コンパイルされたプロジェクトで、論理ビューのタブとPCBに転送される各物理チャネルのタブが表示されます。繰り返される指定子とネット識別子の管理方法に注目してください。
Repeatキーワード
述べたように、チャネルは同じ子シートを参照する複数のシートシンボルを配置するか、シートシンボルの指定子フィールドにRepeat
キーワードを含めることによって繰り返されます。Repeatキーワードが使用されると、シートシンボルは重ねられたシートシンボルのセットとして描画されます。
Repeat文はチャネル指定子とチャネルの数を定義します。シートシンボルが重ねられたシンボルのセットとして描かれていることに注目してください。これは繰り返されるチャネルを示しています。
各チャネルは、シートシンボルのDesignatorから来るチャネル指示子によって識別されます。複数のシートシンボルを配置してデザインがチャネル化される場合、チャネル指示子は各シートシンボルに定義されたDesignatorの値です。デザインがRepeatキーワードの使用によってチャネル化される場合、チャネル指示子はRepeat
キーワードによって定義されたChannelIdentifier+ChannelIndex
です。
Repeatキーワードが使用される場合の指示子フィールドの構文は以下の通りです:
Repeat(<ChannelIdentifier>,<ChannelIndex_1>,<LastChannelIndex_n>)
インデックス範囲は1から始める必要があり、0(ゼロ)から始めることはサポートされていません。
マルチチャネル命名
一度キャプチャして繰り返すことができる概念 - マルチチャネル設計 - は、ソフトウェアの統合データモデル(UDM)を基に構築されています。繰り返されるコンポーネントは、以下に示すように、Options for ProjectダイアログのMulti-Channelタブで設定される体系的な命名スキームを使用して名付けられます。
このダイアログには、部屋の命名を制御するために使用される上部セクションと、それらの部屋内のコンポーネントの命名を制御するために使用される下部セクションが含まれています。部屋レベルでは、2つのフラットな命名スタイルと3つの階層的な命名スタイルがあり、通常、設計にチャネル内のチャネルがある場合にのみ、階層的な命名スタイルを選択する必要があります。それ以外の場合は、フラットな部屋の命名スタイルの方が短くて理解しやすいです。
コンポーネントの命名には、$Component$ChannelAlpha
または $Component_$ChannelIndex
オプションが最も短く、最も解釈しやすいコンポーネントの指定を提供します。また、available keywordsを使用して、独自の指定子命名スキームを構築することも可能です。
繰り返されるコンポーネント(およびネット)は、Project OptionsダイアログMulti-Channelタブで選択された体系的な命名スキームを適用することによって管理されますの。
-
コンポーネントだけでなく、コンポーネント命名スキームは、各チャネル内のネットを一意に識別するために使用されます。このスキームは、ネットラベルやポートを含むネット識別子の名前を変更するために使用されます。
-
これらの名前が回路図シート上に表示される方法については、下記のコンパイルされた名前の表示セクションで説明されています。
ルームの役割
ルームは、PCBデザインオブジェクトであり、ボード上のエリアを定義するために使用され、次の2つの方法で使用できます:
-
Contain objects - 部屋は任意の多角形の形状のオブジェクトとして配置されますが、実際には設計ルールとして作成されます。ルームの定義の一部は、そのルーム内に含まれる必要があるオブジェクト(通常はコンポーネント)を指定することです。そのルームが移動すると、ルーム内のすべてのコンポーネントも移動します。
-
To scope other design rules - 自身がルールであると同時に、ルームは他の設計ルールの範囲を定めるためにも使用できます。例えば、ある配線幅の設計ルールがネットのクラスのための配線幅を定義している場合、より高い優先度を持つ設計ルールがルームの範囲でそのクラスのネットに適用される異なる幅を指定することができます。
ルームはマルチチャネル設計に非常に適しています。設計が回路図エディタからPCBエディタに転送される際に、Project OptionsダイアログのClass Generationタブのオプションに基づいて、各シートシンボルごとに自動的に作成されます。そのチャネル内のコンポーネントをクラスタリングするだけでなく、そのルーム内のコンポーネントの命名にルームを使用することができます。ルームとそのボード設計プロセスにおける役割については、この記事のマルチチャネルPCB設計セクションでさらに詳しく説明されています。
フラットなコンポーネント番号システムを好む場合は、ボードレベルのアノテーションを実行することで、体系的な命名スキームを置き換えることが可能です。ボードレベルのアノテーションとは、コンポーネントの指定子が完全なコンパイル済み設計(物理設計)にのみ適用されるため、PCBになることを目的とした設計にのみ適用されるためです。
マルチチャネル設計における接続性
マルチチャネル設計の場合、Net Identifier ScopeをAutomatic
、Hierarchical
、またはStrict Hierarchical
に設定します。マルチチャネル設計は階層的でなければならず、ソフトウェアはこの構造モデルを使用して、設計がコンパイルされるときにメモリ内でチャネルをインスタンス化します。
繰り返されるチャネルに接続するネットには、ソフトウェアがサポートする必要がある2つの異なる接続要件があります。ネットは次のいずれかになります:
-
すべてのチャネルに共通、または
-
各チャネルでユニーク。
これに対するサポートレベルは、チャネルを定義するために使用された方法(複数のシートシンボル、またはRepeatキーワードを介して)に依存します。設計が複数のシートシンボル(各チャネルに個別のシートシンボル)を使用する場合、ネットの接続性は、設計者によって配置された配線によって明示的に定義されます。
この設計ではRepeatキーワードを使用して複数のチャネルを作成しています。
設計でRepeatキーワードを使用する場合、以下の接続規則が適用されます。
全チャネルへのネットの渡し方 |
あるネットを全てのチャネルで利用可能にするには、シートエントリに接続するだけです。上の画像で示されているように、Monitor ネットが InputChannel.SchDoc シートシンボルに接続されています。ネット Effects 、MB1 、MB2 も全てのチャネルで利用可能になります。バス内のネットも同様に扱われます。バスがシートエントリに接続されると、そのバスの各要素が全てのチャネルで利用可能になります。 |
特定のチャネルへのネットの渡し方 |
バスから単一のネットを各チャネルに割り当てるには、シートエントリで Repeat キーワードを使用します。上の画像で、シートエントリの名前が Repeat(Headphone) となっている Headphone バスが示されています。この場合、ネット Headphone1 はチャネル CIN1 に、Headphone2 はチャネル CIN2 に接続され、以降も同様です。Repeat キーワードを使用してチャネルを作成した場合、個々のネットをただ一つのチャネルにのみ渡すことはできません。これが必要な場合は、各チャネルごとに個別のシートシンボルを配置する必要があります。 |
ネットの名前の付け方
最終的に、PCB上の各ネットは1つの名前しか持つことができません(1つのPCBネットに2つの名前を付けることはできません)。複数の名前が付けられたネットは、プロジェクト内で単一の名前を持つようにソフトウェアによって自動的に解決されます。これは、ネットがあなたにとって意味のある方法でラベル付けされるように、マルチチャネル設計で命名オプションを設定することが重要です。ネット命名オプションは、Options for ProjectダイアログのOptionsタブのNetlist Optionsセクションにあります。
マルチチャネル設計でこれらのオプションを設定する良い方法は、Higher Level Names Take Priorityオプションを有効にし、チャネル化された子シートに接続するすべてのネットにネットラベルを配置することです。
例として、以下の画像を考えてみてください。両方のシートシンボルがPCB_Decoder.SchDoc
シートを指しているため、この回路にはU_PCB_DecoderAとU_PCB_DecoderBとして識別される2つのチャネルがあります。
シートシンボルには、JTAG境界スキャンチェーンのTest Data InラインであるTDI
というシートエントリが含まれています。TDO
(テストデータアウト)はDecoderAから次のデバイスのTDIに接続され、そのデバイスはDecoderBチャネルにあります。
2つのデコーダーチャネルは、同じ回路図、PCB_Decoder.SchDocを参照する2つのシートシンボルを配置することで作成されます。
プロジェクトを開くと、回路図ビューの下部にU_PCB_DecoderAおよびU_PCB_DecoderBのチャネルタブが表示されます。これらのタブは、PCBエディタに渡される物理設計を示しています。下記の画像では、デコーダ回路の回路図がキャプチャされたとおりにエディタタブの左側に表示され、その回路図のための2つの物理チャネル、U_PCB_DecoderAおよびU_PCB_DecoderBが続きます。
元のキャプチャされた回路図では、ネットは設計者によってTDI
とラベル付けされました(最初の画像)。ソフトウェアがDecoderAタブで上位レベルのネット名TDO_CONTROLLER
を適用したことに注目してください(2番目の画像)。これは、この設計で優先されるように設定された上位レベルのネット名です。DecoderBには上位レベルの名前が定義されていないため、元のネット名TDI
はこのチャネルでTDI_2
として識別されています(3番目の画像)。これは、プロジェクト オプションダイアログの Multi-Channelタブで定義された命名規則に従っています(コンポーネント命名規則は、各チャネル内のコンポーネントとネットの両方を識別するために使用されます)。
PCB_Decoder.SchDoc 回路図:最初の画像 - キャプチャされた回路図;二番目と三番目の画像 - 二つのチャネルのコンパイルされたビュー。
コンパイルされた名前の表示
マルチチャネル設計におけるネットの追跡と分析は、繰り返されるが一意である必要があるネットを識別するために名前を変更する必要があるため、混乱することがあります。これを支援するために、コンパイルされたオブジェクト名の表示を制御するためのいくつかのオプションがあります。これには、コンポーネントのデザイネータ、ネットラベル、ポートが含まれます。また、シートとドキュメント番号に関するオプションもあり、これらは印刷タイプの出力を生成する準備ができたときに重要になります。
コンパイルされたオブジェクト名の表示は、PreferencesダイアログのSchematic - Compilerページで設定され、以下の画像に示されています。
コンパイルされたオブジェクト名の表示を設定します。上付き文字はコンポーネント指定子の設計に役立ちます。
通常、設計指定子とネットラベルが表示されるようにしたいでしょう。問題を診断している場合は、ポートが便利です。シート番号と文書番号も重要で、正しく設定されている必要があります。コンポーネントとシートの番号付けに関する情報へのリンクは、Design Annotationセクションで見つけることができます。
Display superscript if necessaryオプションを選択すると、現在のドキュメントビューには、非表示ビューのオブジェクト識別子が上付き文字として含まれます。これらをご自身の好みに合わせて設定してください。
マルチチャネル設計のチャネル2(CIN2)のビューです。元の論理回路図の指定子とネット名が上付き文字として表示されていることに注目してください。
チャネル(物理)タブで一部の回路図要素が薄く表示されるのはなぜですか?デフォルトでは、チャネルタブで編集可能なオブジェクトを標準の表示強度で表示し、編集不可能なオブジェクトを薄く表示します。この薄く表示する設定は、PreferencesダイアログのSystem - Navigationページで設定します。オブジェクトを薄く表示する利点は、チャネルタブでネットラベルを移動するなど、サポートされていない編集アクションを試みるのを防ぐのに役立ちます。必要に応じて薄く表示するレベルを設定してください。
複数のネット名エラーの解決
回路図エディタのエラーチェックオプションは、複数の名前を持つネットのすべてのインスタンスにフラグを立てるようにデフォルト設定されています。これは、たとえばネットがシートシンボルに入るときに名前を意図的に変更する場合などに発生する可能性があります。そのシート内で異なる名前を使用したいと考える場合です。下の画像には、このような例がいくつか示されており、左出力と右出力がトップシートでバスにまとめられていますが、シートエントリ内ではLeft
とRight
と呼ばれています。
バスが使用されているのは、2つの出力チャネルを単一のシートシンボルで表現でき、Repeatキーワードを使用できるためです。左右のチャネルに別々のワイヤーを使用した場合、設計者は左出力チャネルと右出力チャネルのために別々のシートシンボル(どちらも同じ子回路図シートを指している)を配置し、それぞれの出力をそれぞれの出力シートシンボルに配線する必要がありました。
複数のネット識別子をどのように扱うかソフトウェアに指示する必要があります。これを行うには、次のいずれかを行う必要があります:
オレンジで囲まれた小さな三角形に注目してください。これは、MB1およびMB2ネット上の重複するネット名エラーを無効にするために配置された特定のNo ERCマーカーです。
設計注釈
設計キャプチャプロセスの重要な部分は、設計に注釈を付けることです。つまり、各コンポーネントと各回路図シートに一意の識別子を付けることです。これは、マルチチャネル設計では二段階のプロセスです。まず、配置したコンポーネントと描いたシートを番号付けする必要があります。次に、繰り返されるチャネルによってインスタンス化されるコンポーネントとシートも番号付けされる必要があります。
► コンポーネントの注釈付けについてもっと学ぶ
► シートの番号付けについてもっと学ぶ
マルチチャネルPCB設計
回路図エディタからPCBエディタに設計を転送するとき、プロジェクトオプションでルーム作成が有効になっている場合、各シートのコンポーネントはPCB配置ルームにクラスタ化されます。
マルチチャネル設計でルームを使用する大きな利点は、PCBエディタが一つのルーム(チャネル)から他のルーム(チャネル)への配置と配線の複製をサポートしていることです。ルームは単一のオブジェクトとして移動することもでき、PCB上でのチャネルの配置プロセスを簡素化します。
回路図エディタからPCBエディタに設計が転送された後の8つの入力チャンネルと2つの出力チャンネル、赤いエリアがルームです。
PCBルームの役割
ルームは、ボード上のエリアを定義するために使用されるPCBデザインオブジェクトで、次の2つの方法で使用できます:
-
Contain objects - ルームは任意の多角形オブジェクトと同様に配置されますが、実際には配置デザインルールとして作成されます。ルームの定義の一部は、そのルーム内に含まれる必要があるオブジェクト(通常はコンポーネント)を指定することです。そのルームが移動されると、ルーム内のすべてのコンポーネントも移動します。
-
To scope other design rules - 自身がルールであると同時に、ルームは他のデザインルールの範囲を指定するためにも使用できます。例えば、ある配線幅デザインルールがネットのクラスのための配線幅を定義し、次に優先度の高いデザインルールがルームの範囲でそのクラスのネットに適用される異なる幅を指定することができます。
ルームはマルチチャネルデザインで非常にうまく機能します。回路図エディタからPCBエディタへのデザインが転送される際に、
Options for Projectダイアログの
Class Generationタブのオプションに基づいて自動的に作成され、各シートシンボルに対して1つのルームが作成されます。そのチャネルのコンポーネントをクラスタリングするだけでなく、そのルーム内のコンポーネントの命名にルームを使用することができます。
便利なルーム操作コマンド
-
Design » Rooms - このサブメニューには、ルームの定義と変更に役立つ多くのコマンドがあります。
-
Design » Rooms » Copy Room Formats - このコマンドを使用して、あるルーム(チャネル)の配置と配線を他のルーム(チャネル)に複製します。
-
Design » Rooms » Move Room - カーソルの下に他のデザインオブジェクトがない場所でクリックして保持することで、ルームを移動できます。カーソルは、最も近いコンポーネントパッドまたはルームの頂点(どちらが近いか)にスナップします。デザインオブジェクトをクリックせずにクリックして保持できない場合は、このコマンドを使用します。
-
Edit » Select » Room Connections - このコマンドを使用して、パッドから始まりルーム内で終わるすべての銅セグメントを選択します。
コンポーネントがどのようにリンクされているか
各回路図コンポーネントは、一意の識別子(UID)を介してそのPCBコンポーネントにリンクされます。UIDは、回路図コンポーネントがシート上に配置されたときに割り当てられ、設計がPCBエディタに転送されるとPCBコンポーネントに割り当てられます。この方式は単純な設計には適していますが、同じ回路図コンポーネントが各物理チャネルで繰り返されるマルチチャネル設計をサポートするには不十分です(したがって、PCBコンポーネントは同じUIDを持ちます)。
これに対応するために、PCBコンポーネントのUIDは、親シートシンボルのUIDと回路図コンポーネントのUIDを組み合わせて作成されます。マルチチャネル設計がどのように作成されたかによって、PCB UIDの構文がわずかに変わります。
同じ回路図シートを参照する複数のシートシンボルを配置することによって作成されたマルチチャネル設計の場合、各シートシンボルは一意のIDを提供できるので、PCB UIDの形式は以下の通りです:
\SheetSymbolUID\SchComponentUID
Repeatキーワードを使用して作成されたマルチチャネル設計の場合、利用可能なシートシンボルUIDは1つだけなので、PCB UIDにはChannelIndexも含まれ、形式は以下の通りです:
\ChannelIndex+SheetSymbolUID\SchComponentUID
コンポーネントのリンクは、Edit Component Linksダイアログ(PCBエディタのProject » Component Linksコマンド)を介して管理されます。このダイアログで変更が適用されると、PCB UIDは回路図のUIDと一致するように更新されます。
上記の説明は、コンポーネントがどのようにリンクされているかを説明しています。Altium Designerの新しいバージョン(18.0以降)では、パネルやダイアログでUIDが表示されなくなったことに注意してください。
PCB上でのデザインエータの表示
マルチチャネル設計では、デザインエータの文字列を配置するのが難しい場合があります。これは、文字列が非常に長くなることがあるためです。短い名前を結果とする命名オプションを選択することと同様に、もう一つのオプションは、元の論理的なコンポーネントの指定をそのまま表示することです。例えば、C30_CIN1
はC30
として表示されます。これには、ボード上に別のチャネルを示すための何らかの注記が追加される必要があります。例えば、コンポーネントのオーバーレイ上に各チャネルを囲むボックスを描くなどです。
PCBエディタのPropertiesパネル(View » Panels » Properties)のOtherセクションので、論理指定子と物理指定子の表示を選択できます。マルチチャネル設計のコンポーネントに論理指定子を表示することを選択した場合、これらはPCBおよび印刷物やガーバーファイルなど、生成されるあらゆる出力に表示されます。ただし、ユニークな物理指定子は、部品表を生成する際に常に使用されます。
► コンポーネントの注釈付けについてもっと学ぶ
フラットなコンポーネント番号システムを好む場合、ボードレベルアノテーションを実行することで、体系的な命名スキームを置き換えることが可能です。ボードレベルアノテーションと呼ばれるのは、コンポーネントの指定子がPCBになる運命の完全なコンパイル済み設計(物理設計)にのみ適用されるためです。
これらのボードレベルアノテーションは、.Annotation
ファイルに保存され、各論理指定子を割り当てられた物理指定子にマッピングします。このファイルはプロジェクトの一部なので、保存するように求められます。
パラメトリック・マルチチャネル階層設計
設計の一部を再利用する際の課題、例えば、現在のプロジェクトのシートシンボルを会社の好みの電源スキーマにリンクすることは、コンポーネントの値が設計ごとに常に固定されているわけではないことです。
パラメトリック階層設計はこれを解決します - これにより、コンポーネントの値の仕様を回路図シートから、そのシートを参照するシートシンボルに移動させることができます。この機能はマルチチャネル設計にも完璧に対応しており、各チャネルで異なるコンポーネントの値を持つことができます。ただし、各チャネルには独自のシートシンボルが必要であることに注意してください。これは、コンポーネントの値が格納される場所だからです。
例えば、グラフィックイコライザーは同じ回路が何度も繰り返されることがありますが、各チャネル間の唯一の違いはコンポーネントの値です。したがって、コンデンサは異なるチャネルで0.12µF
、0.056µF
、0.033µF
の値を取るかもしれません。これを実装するのは簡単で、各チャネルを参照するシートシンボルでこれらの値を指定するだけで、コンポーネントの値が異なるだけの多くの類似した回路図を持つ必要がなくなります。
パラメトリックコンポーネントは、シートシンボルのパラメータとしてその値を宣言し、そのパラメータを対象コンポーネントで参照することによって定義されます。下の画像は、左側にグラフィックイコライザーのトップシートと、隣に1KHzシートシンボルのパラメータを示しています。この画像には、下位レベルのキャプチャされた回路図と、下のタブで選択されたコンパイルされた1KHzチャンネルも表示されています。
各チャンネルで異なるキャパシタと抵抗の値を持つグラフィックイコライザー;実際のコンポーネント値はシートシンボルで定義されているため、一つの下位レベルの回路図のみがキャプチャされる必要があります。
それぞれのシートシンボルパラメータは、下位レベルのシート上の回路図コンポーネントのパラメータの値としても定義されています。これは下の画像に示されています。各シートシンボルパラメータの値は、関連する回路図コンポーネントに渡され、そこでコンポーネントのコメントフィールドにマッピングされます。回路図コンポーネントの値を表示するために値パラメータが直接使用される場合、コンポーネントのコメントパラメータではなく、シートシンボルパラメータをコンポーネントの値パラメータにマッピング(Value=C2_Value
)し、それを可視化することが唯一の要件です。
Valueパラメータに=C2_Valueという値が設定されているため、コンパイラは実際のコンポーネント値を上位レベルのシートシンボルで探す必要があることを知っています。
パラメトリック階層は、コンポーネント値に限定されません。任意のコンポーネントパラメータや、コンポーネントID、ポートオブジェクト、ドキュメントファイル名などの基本的な接続要素を除く、回路図シート上の他のオブジェクトテキストラベルをパラメトリックに参照できます。階層の上にある多くのシートからシンボルのパラメータを参照する場合、システムは一致するパラメータを見つけるまで階層を検索します。
リファレンスデザイン \Parametric Hierarchy\AudioEqualizer.PrjPcb
をダウンロードして、シートシンボルとコンポーネントパラメータを正しく設定する方法の例を参照してください。
リファレンスデザインのダウンロードに問題がある場合: