マルチシートおよび階層設計

Altium Training

Altium Essentials: Navigating Schematics

This content is part of the official Altium Professional Training Program. For full courses, materials and certification, visit Altium Training.

概略

この記事では、回路がそれほど複雑でなくても、回路図を複数のシートに分けて構成することで、設計の作成、読み取り、共有、印刷が容易になる理由を説明します。まず、マルチシート設計における2つの重要な判断事項、すなわちシート間の構造的な関係と接続の扱い方を紹介します。そのうえで、構造に焦点を当て、Altium Designerにおけるフラット構造と階層構造を比較します。それぞれの構造が適している場面、想定されるトレードオフ、マルチシート構成におけるシートシンボルの役割も解説します。設計を始める前に適切な構造を選ぶための実践的なガイドとして、ぜひ読み進めて、次の回路図設計に向けた理解を深めてください。

- フラット構造と階層構造のマルチシート設計の違いと、それぞれがどのような場合に適しているかを理解できます。
- マルチシート構成によって、可読性、チームでの共同作業、モジュール性、印刷の利便性が向上する理由を学べます。
- Altium Designerでシートシンボルを使ってサブシートを表し、回路図の構造を構成する方法を確認できます。
AIでさらに深掘り:

回路図が紙に描かれていた頃は、大きな製図台を埋め尽くすほどの大判の用紙1枚に描き、専用の大判コピー機で複製するのが一般的でした。時代は変わり、今では回路図はデスクトップPCで作成され、サーバーに保存され、小型のレーザープリンターで印刷されています。

こうした変化により、単純な設計であっても、複数の回路図シートに分けて表現するほうが、見やすく理解しやすくなります。特に複雑な設計でなくても、複数のシートに分けて整理することには利点があります。

たとえば、設計にさまざまなモジュール要素が含まれている場合があります。これらのモジュールを個別のドキュメントとして管理すれば、複数の設計者が同時にプロジェクトに取り組めます。また、設計を論理的なモジュールに分割すると、設計の可読性も大幅に向上します。これは、製品のライフサイクルの後の段階で回路図を読み解く必要がある人にとって、重要な考慮事項です。もう1つの利点は、設計を複数のシートに分け、各シートの部品数を減らすことで、レーザープリンターなどの小型プリンターで印刷できることです。

設計を複数のシートに分ける場合は、次の2点を決める必要があります。

  • シート間の構造上の関係

  • 各シート上の回路を電気的に接続する方法

どのようにするかは、各プロジェクトの規模や種類、設計者自身の好みによって異なります。

この記事では、シート間の構造上の関係とその仕組み、およびマルチシート設計を作成するためのツールと手法について説明します。接続の作成方法について詳しくは、接続の作成の記事を参照してください。

フラット設計と階層設計

前述のとおり、設計者は回路図シートをどのように構成し、シート間の接続をどのように確立するかを決める必要があります。ただし、これらは別々に決めることではありません。構造を選ぶ際には、シート間の接続をどのように作成するかも選ぶ必要があります。

マルチシート設計の構成方法には、flatとhierarchicalの2つがあります。

どちらの方法も有効であり、 それぞれに長所と短所があります。フラット設計は短時間で作成できますが、 ほかの人が信号を追跡したり、機能を読み解いたりするのが難しくなります。特に印刷物では、その傾向が顕著です。 階層設計では、接続を作成するための手順が多いため、作図に時間がかかりますが、 その分、ほかの人が機能を理解しやすく、 シートをまたいで信号を追跡しやすい設計になります。階層設計は、設計の再利用においても重要であり、 マルチチャネル設計には欠かせません。

子シートを親シートに関連付ける手法は、フラット設計でも階層設計でも同じです。フラット設計になるか階層設計になるかを決めるのは、接続をどのように作成するかです。

フラット設計

フラット設計は、1枚の大きな回路図シートを複数の小さなシートに切り分けたものと考えることができます。フラット設計では、すべてのシートが同じ階層に存在します。フラット設計の接続は、任意のシートからほかの任意のシートへ直接作成されます。このような接続は、水平接続と呼ばれます。

フラット設計では、トップシートの使用は任意です。トップシートを含める場合は、設計内の各シートに対応するシートシンボルを配置しますが、配線を含めることはできません。フラット設計のシート数に制限はありません。

1枚目の図:トップシートのないフラット設計。2枚目の図:同じ設計にトップシートを追加したもの。トップシートには配線がないことに注目してください。設計内のシートを示しているだけです。 
1枚目の図:トップシートのないフラット設計。2枚目の図:同じ設計にトップシートを追加したもの。トップシートには配線がないことに注目してください。設計内のシートを示しているだけです。

上の2つの図は、どちらもフラット設計を示しています。左側にはトップシートがなく、右側にはトップシートがあります。回路図シートが2~3枚しかない小規模な設計では、トップシートを設けても利点はないと判断するかもしれません。シート数が増えると、トップシート上の論理ブロック(シートシンボル)の配置によって、回路設計の機能を読み手が理解しやすくなります。階層構造がないため、設計内のすべてのシートはProjectsパネルで同じ階層に表示されます。

階層設計

階層設計では、プロジェクトに含められる最上位シートは1つだけであることに注意してください。それ以外のすべてのソースドキュメントは、シートシンボルから参照されている必要があります。設計検証時には、Multiple Top Level Documents違反チェックを使用して、この条件を満たしていない場合に警告できます。また、シートシンボルは、それ自体が配置されているシートや、それより上位のシートを参照することはできません。そのような参照は、構造内に解消できないループを生じさせます。

階層設計とは、設計内のツリー状の構造、つまりシート間の関係を表現した設計です。 この構造は、設計階層内の下位シートを表すシートシンボルで表現します。シンボルは下位のシートを表し、シンボル内のシートエントリは、その下位シート上のポートを表します(またはポートに接続します)。 接続は、これらのシートシンボル内のシートエントリを介して行われます。あるシートのポートから別のシートのポートに直接接続されるわけではありません。

フラット設計と同様に、子シートはシートシンボル内でファイル名を定義することで識別されます。階層設計では、その子シートにも、さらに下位のシートを参照するシートシンボルを含めることができ、これにより階層がもう1段追加されます。下の図は、3階層からなる階層設計を示しています。

階層設計では、ツリーに表示される構造は、シートシンボルによって作成された親子関係によって決まります。
階層設計では、ツリーに表示される構造は、シートシンボルによって作成された親子関係によって決まります。

階層設計では、子シート上の信号はポートを介してシートの外に出て、親シート上の対応するシートエントリに接続されます。親シートには、子シートの信号を別のシートシンボル内のシートエントリへ伝える配線が含まれており、信号はそこから2つ目の子シート上の対応するポートへと下ります。以下の画像に示すとおりです。

The connectivity is from a Port on the child sheet up to a matching Sheet Entry in the Sheet Symbol on the parent sheet

この親子シート構造は任意の深さまで定義でき、階層設計に含めるシートの数にも制限はありません。

シート間の接続は、Net Identifier Scopeによって決まります。これは、Options for ProjectダイアログのOptionsタブで設定します。接続の作成について詳しくは、接続の作成ページを参照してください。Net Identifier ScopeにはAutomaticオプションがあり、特殊な接続要件がない限り、このオプションを選択することをお勧めします。

階層設計の利点は、設計の構造が読み手に伝わることと、接続が常に子シートから親シート上のシートシンボルへ向かうため、接続関係を完全に予測でき、簡単に追跡できることです。

階層設計のもう1つの利点は、高度な設計再利用システムを実現する基盤となることです。このシステムには、データの保存方法に応じて、ファイルベースとサーバーベースの2つの方式があります。

  • ファイルベースのシステムはデバイスシートと呼ばれ、デバイスシートのライブラリにある既存の回路図を、作成中の設計に直接配置します。デバイスシートについて詳しくは、デバイスシートの操作ページを参照してください。

  • Workspaceベースのシステムは管理された回路図シートと呼ばれ、接続されたWorkspaceにある既存の回路図を、作成中の設計に直接配置します。管理されたシートについて詳しくは、管理された回路図シートの操作ページを参照してください。

クロスリファレンスの追加

プロジェクトにクロスリファレンスを追加すると、プロジェクト内の回路図シート間でネットの接続を簡単にたどることができます。回路図エディターは、クロスリファレンスの自動作成と更新をサポートしています。

Project Options ダイアログの Options タブで、General 領域の Automatic Cross References オプションを有効にし、Cross References 領域のオプションを設定します。アクティブなプロジェクトに固有のクロスリファレンスのスタイルを設定することも、Follow Cross References settings in Preferences オプションを有効にして、Preferences ダイアログの Schematic – General ページにある Port Cross References 領域のオプションを継承することもできます。また、ここでクロスリファレンスを表示するオブジェクト(ポート、オフシートコネクタ、シートエントリ)を選択できます。

メインメニューから Reports » Automatic Cross References Settings コマンドを選択するか、デザインスペース内で右クリックし、コンテキストメニューから Sheet Actions » Automatic Cross References Settings コマンドを選択すると、Project Options ダイアログの Options タブにすばやくアクセスできます。

Project Options ダイアログの Options タブで、アクティブなプロジェクトの自動クロスリファレンスを設定します。
Project Options ダイアログの Options タブで、アクティブなプロジェクトの自動クロスリファレンスを設定します。

クロスリファレンスは、回路図上の選択したオブジェクトの横に、設定したスタイルで表示されます。クロスリファレンス値は Properties パネルにも表示され、選択したオブジェクトのクロスリファレンスの表示/非表示を切り替えることができます。

クロスリファレンスは回路図上で確認でき、選択したオブジェクトについては Properties パネルでも確認できます。ここでは、ポートのクロスリファレンスの例を示しています。
クロスリファレンスは回路図上で確認でき、選択したオブジェクトについては Properties パネルでも確認できます。ここでは、ポートのクロスリファレンスの例を示しています。

クロスリファレンスは、回路図のPDF出力でもサポートされています。オブジェクトに複数の接続先オブジェクトがある場合(たとえば、ポートが親回路図シート上のシートエントリや他のシート上のポートに接続されている場合)、PDF出力内でそのオブジェクトをクリックすると、接続先オブジェクトが存在するシートの一覧が表示されます。一覧の項目を選択すると、対応するページが開きます。接続先オブジェクトが1つだけの場合は、オブジェクトをクリックすると、対応するページがすぐに開きます。

回路図のPDF出力では、ポップアップメニューを使用して、複数の接続先オブジェクトに簡単に移動できます。
回路図のPDF出力では、ポップアップメニューを使用して、複数の接続先オブジェクトに簡単に移動できます。

マルチシート設計の作成

プロジェクトに2枚目の回路図シートを追加すると、マルチシート設計になります。トップシートのないフラットな設計を作成する場合は、プロジェクトに回路図シートを追加していくだけです(Projects パネルでプロジェクトのエントリを右クリックし、コンテキストメニューから Add New to Project » Schematic コマンドを選択します)。その後、Net Identifier Scope が正しく設定されていることを確認します。

シートシンボルを使用して下位階層のシートを参照する場合は、シートシンボルを配置して手動で編集し、下位階層のシートを正しく参照するように設定できます。または、以下で説明する各種の組み込みコマンドを利用できます。

子シートの参照

下位階層のシートを参照するのは、シートシンボルの Filename プロパティです。このフィールドには、回路図のファイル名のみを入力し、ファイルの保存場所へのパスは含めないでください(保存場所の情報は、実際にはプロジェクトファイルに格納されます)。

Filename プロパティは、このシートシンボルを子回路図シートにリンクします。
Filename プロパティは、このシートシンボルを子回路図シートにリンクします。

子回路図は、親回路図と同じフォルダーに保存する必要はありません。ファイルが親回路図の保存フォルダーより下位のフォルダーに保存されている場合は、相対パスによるファイル参照が使用されます。別の場所に保存されている場合は、絶対パスによるファイル参照が使用されます。このようなプロジェクトでファイルを移動する際は注意してください。または、Project Packager を使用してファイルを ZIP 形式に圧縮してください。プロジェクトを ZIP 形式に圧縮する際に、ファイルパスが解決されます。

複数シート設計のナビゲーション

回路図エディターには、複数シート設計のドキュメント間や、ドキュメント内の関連オブジェクト間をすばやく移動できるツールが用意されています。

Tools » Up/Down Hierarchy コマンドを使用すると、現在のドキュメントから設計階層の1つ上または下の階層へ移動できます。コマンドを実行すると、カーソルが十字に変わり、移動ポイントを選択するよう求められます。シートエントリをクリックすると下位シートの対応するポートが表示され、シートシンボルをクリックすると下位シート全体が表示されます。上位階層へ移動するには、ポートをクリックします。親シートの対応するシートエントリが表示されます。

シートエントリまたはポートがバスに接続されている場合、最初のクリックでメニューがポップアップ表示され、バス全体またはバス内の個々の信号を選択できます。シートエントリまたはポートからの対応する配線がハイライト表示されます。元のシートエントリまたはポートをもう一度クリックすると、それぞれ下位の回路図シートの対応するポート、または上位シートの対応するシートエントリが表示されます。

カーソルの下にあるシートシンボルが参照する子シートを開くには、配置済みのシートシンボル上で右クリックし、コンテキストメニューから Sheet Symbol Actions » Open SubSheet <SchematicDocumentName> コマンドを選択します。コマンドを実行すると、そのシンボルが参照する回路図ドキュメントが開かれ(まだ開かれていない場合)、メイン設計ウィンドウでアクティブなドキュメントになります。

関連するオブジェクトで 自動相互参照 が有効になっている場合は、オブジェクトの右クリックメニューの Port Actions、Sheet Entry Actions、および Off Sheet Actions (フラット設計の場合)サブメニューにある Jump To コマンドを使用して、ポート、シートエントリ、オフシートコネクタ間を移動することもできます。たとえば、Options for Project ダイアログの Options タブで、Automatic Cross References オプションが有効になっており、Ports オプションの設定として Sheet Entry & Ports が選択されている場合、ポート上で右クリックして、コンテキストメニューから必要な Port Actions » Jump to Port <PortName> on <SchematicDocumentName> または Port Actions » Jump to Sheet Entry <PortName> on <SchematicDocumentName> コマンドを選択できます。指定したポートまたはシートエントリを含むドキュメントがアクティブになり、カーソルがそのポートまたはシートエントリ上に配置されます。移動先のドキュメントにある同じ名前のすべてのポート(および接続されている配線)がハイライト表示されます。

Jump to コマンドを使用すると、設計内の任意の場所にある対応するオブジェクトへジャンプできます。
Jump to コマンドを使用すると、設計内の任意の場所にある対応するオブジェクトへジャンプできます。

  • オブジェクト間を移動すると、対応するオブジェクトが設計スペースでハイライト表示されます。表示方法は、Preferences ダイアログの System - Navigation ページで定義されている Highlight Methods(減光、ズーム、選択)に従います。
  • Ctrl を押しながらポート、シートエントリ、またはシートシンボル上でダブルクリックして、階層間を直接移動することもできます。
  • Navigator パネルの Interactive Navigation 機能を使用して階層間を移動することもできます。

階層の作成

このソフトウェアには、複数のドキュメントからなる階層構造をすばやく効率的に構築するためのコマンドが多数用意されています。使用するコマンドは、設計手法によって異なります。設計手法は、大きくトップダウンとボトムアップに分類できます。これらのコマンドは、シートエントリの追加、新しい回路図シートの作成、ポートの配置など、作業に必要なすべての要素を処理するため、手動で階層を作成するよりも効率的です。

トップダウン方式で階層を構築するには、次のコマンドを使用します。

  • Create Sheet From Sheet Symbol (Design メインメニュー、またはシートシンボルの右クリックメニューにある Sheet Symbol Actions サブメニュー)– このコマンドを使用すると、指定したシートシンボルの下位に新しい回路図シートを作成できます。シンボル上のシートエントリに対応するポートは、新しいドキュメントの左下隅に配置されます。シートシンボルにすべてのシートエントリをまだ追加していなくても問題ありません。後から追加した場合は、以下で説明するように、シートエントリとポートを再同期できます。

    • 作成される回路図ドキュメントのファイル名には、シートシンボルに指定されたファイル名が使用されます。シートシンボルの File Name フィールドに、ドキュメントに付ける名前を拡張子も含めて(例:<DocumentName>.SchDoc)入力するか、名前を空欄のままにして、後でドキュメントを保存するときに入力できます。
    • シートシンボルからシートを作成する際、同じファイル名のシートがすでに存在する場合は注意が必要です。同じファイル名で新しいシートが作成されます。この重複は、保存時に新しいシートを別の名前で保存するか、必要に応じて既存のシートを上書きすることで解消できます。
    • 新しい子シート上に作成されるポートの電気的 I/O タイプは、作成元の親シートシンボル上のシートエントリと同じになります。

ボトムアップ方式で階層を構築するには、次のコマンドを使用します。

  • Create Sheet Symbol From Sheet(Design メインメニュー、または設計スペースの右クリックメニューにある Sheet Actions サブメニュー)– このコマンドを使用すると、指定した回路図シートからシンボルを作成できます。このコマンドを使用するには、まず新しいシートシンボルを配置するシートに切り替えてから、コマンドを実行します。 Choose Document to Place ダイアログが開くので、新しく作成するシートシンボルから参照する回路図ドキュメントを選択します。シートシンボルには、検出された各ポートに対応するシートエントリが含まれます。後からポートやシートエントリを追加または削除した場合は、以下で説明するように再同期できます。

    • シートシンボルはアクティブなシート上に作成・配置されるため、このシートは Choose Document to Place ダイアログには表示されません。これは、シートシンボルが、自身が配置されているシートを参照することはできないためです。
    • 新しい親シートシンボルに作成されるシートエントリの電気的なI/Oタイプは、元の子シートのポートと同じになります。

このコマンドを使用して、設計内の回路の配置を再構成できます。

  • Edit » Refactor » Move Selected Sub-circuit to Different Sheet - このコマンドを使用すると、選択したコンポーネントと配線をプロジェクト内の別のシートに移動できます。Choose Destination Documentダイアログが開き、プロジェクト内の既存の回路図を選択できます。このコマンドの詳細については、後述します。

シート間でコンポーネントを移動するための専用コマンドが用意されているのは、標準の切り取りおよびコピーコマンドでは、各コンポーネントの一意識別子が自動的にリセットされるためです。UIDは、回路図コンポーネントとPCBコンポーネントを関連付けます。回路図コンポーネントのUIDがリセットされていると、設計を同期するたびに(Design » Updateコマンドを使用したときに)、デジグネータによる照合を試みるよう求められます。必要に応じて、PCBエディタ内でProject » Component Linksコマンドを使用してUIDを再同期できます。

► 設計の同期について詳しく見る

設計の再構成

Main article: 設計のリファクタリング

設計プロセスは、必ずしも体系的に進むとは限らず、柔軟に展開していくことがよくあります。設計者は、設計の複数の部分について同時にアイデアを練り、その進展に合わせて各部分を回路図に取り込むことがあります。そのため、最初はきちんと整理され、整然と配置されていた回路図も、次第に過密で整理の行き届かない状態になることがあります。切り取り、コピー、貼り付けによって回路図設計を再構成することはできますが、それが常に最善の方法とは限りません。

なぜ切り取りやコピーを使わないのでしょうか。各コンポーネントには配置時に一意識別子が割り当てられ、この識別子はコンポーネントを切り取り/コピーして貼り付けるたびに自動的にリセットされるためです。このUID管理は、設計内で各UIDが一度だけ使用されるようにするためのものです。UIDは、回路図コンポーネントとPCBコンポーネントを関連付けるキーフィールドです。設計をまだPCBエディタに転送していない場合は、切り取り/コピー/貼り付けでも問題ありませんが、転送済みの場合はリファクタリングツールを使用することをお勧めします。

部分回路を別のシートに移動する

回路の一部を別のシートに移動する最も簡単な方法は、その部分を選択してEdit » Refactor » Move Selected Sub-circuit to Different Sheetコマンドを実行することです。Choose Destination Documentダイアログが開きます。移動先のシートを選択してOKをクリックすると、そのシートが表示され、部分回路がカーソルに追従した状態になり、配置できるようになります。

選択した回路の一部は、Move Selected Subcircuit to Different Sheetコマンドを使用して、プロジェクト内の別のシートに簡単に移動できます。
選択した回路の一部は、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つの列に表示されます。シートシンボルのすべてのシートエントリが、参照先の子シートにある対応するポートと名前およびI/Oタイプの両方で一致している場合、そのシートシンボルは子シートと「同期している」といいます。

Synchronize Ports to Sheet Entriesダイアログは、シートエントリと子シート上のポートが一致していることを確認するために使用します。タブが2つあることに注目してください。これは、この設計にはシートエントリとポートが一致していないシートシンボルが2つあることを示しています。
Synchronize Ports to Sheet Entriesダイアログは、シートエントリと子シート上のポートが一致していることを確認するために使用します。タブが2つあることに注目してください。これは、この設計にはシートエントリとポートが一致していないシートシンボルが2つあることを示しています。

ダイアログの左側に表示される不一致項目については、まず1列目でシートエントリを選択し、次に2列目で対応する正しいポートを選択します。その後、ダイアログ中央の適切なボタンをクリックしていずれかを更新し、両者を同期させます(同期した項目はダイアログ右側のリストに移動します)。

各ボタンの機能は次のとおりです。

  • Button, update the Port to Match the Sheet Entry - シートエントリのプロパティを、選択したポートに適用します。
  • Button, update the Sheet Entry to Match the Port - ポートのプロパティを、選択したシートエントリに適用します。

左側の列で複数のシートエントリを選択した場合、ソフトウェアは各シートエントリを2列目の隣接するポートと同期させます。隣接するポート(またはシートエントリ)がない場合は、新たに作成されます。

  • このコマンドによって新しいシートエントリやポートが追加された場合は、コマンドの完了後に、回路図シート上で適切な位置に配置する必要があります。
  • ダイアログで行った変更は、即座に反映されることに注意してください。ダイアログから変更を元に戻すことはできません。変更を元に戻すには、ドキュメントの Undo 機能を使用する必要があります。
AI-LocalizedAI で翻訳
問題が見つかった場合、文字/画像を選択し、Ctrl + Enter キーを押してフィードバックをお送りください。
Contents
機能の提供状況

ご利用可能な機能は、お使いのAltiumソリューション(Altium Develop、Altium Agile Teams、Altium Agile Enterprise、または有効な契約期間中のAltium Designer)によって異なります。

実際にお使いのソフトウェアに文書化されている機能が表示されない場合は、詳細についてAltium Sales までお問い合わせください。

従来のドキュメント

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

Contents