リファクタリングによるデザインの再構築
概略
- 部品からシートへの変換、部品からポートへの変換、回路図からデバイスシートへの変換、デバイスシートから回路図シートへの変換など、構成変更の各作業に対応するリファクタリングコマンドを学びます。
- 回路図の階層構造を整理し直す際に、Altium Designerが接続性、シンボルのプロパティ、サブ回路のリンク関係をどのように保持するかを確認します。
- 設計の進展に伴う再利用、ローカル化、より分かりやすいシート構成に、これらの機能がどのように役立つかを理解します。
従来の意味でのリファクタリングとは、既存の設計(プログラミングではコード)の機能を変えずに、その構造を再編することです。PCB設計では、何らかのリファクタリングが有効かつタイムリーな解決策となる状況がさまざまにあります。
-
部品が廃止品となり、機能的に同等のサブ回路に置き換える必要がある場合。(例を表示)
-
回路図設計を、より大規模な設計内で使用するサブ回路にする場合。(例を表示)
-
既存の回路図サブシートを、今後の設計で再利用するためのデバイスシートにする場合。(例を表示)
-
既存のデバイスシートを現在の設計に取り込み、カスタマイズする必要がある場合。(例を表示)
-
既存のサブ回路の一部を別のシートに移動する必要がある場合。(例を表示)
Altium Designerは、設計リファクタリング機能を構成する複数の機能を備えており、要件に応じて設計を再構成するための高い柔軟性を提供します。
部品をシートシンボルに変換する
この機能は、現在のドキュメント上の部品をシートシンボルに変換します。既存の部品が廃止品となり、別のシートに定義された機能的に同等のサブ回路に置き換える必要がある場合に最適です。
部品を右クリックし、コンテキストメニューからPart Actions » Convert Part To Sheet Symbolコマンドを選択すると、部品シンボルがシートシンボルに変換されます。シートエントリには元のピン名に基づく名前が付けられ、 I/O Typeは元のピンの電気的タイプを反映するように設定されるため、接続性は維持されます。
シートシンボルのDesignator には、初期値として元の部品のデジグネータが設定され、File Name is には部品のコメントテキストが設定されます。
必要な子シートが存在する場合は、シートシンボルのFile Name を変更して、そのシートを参照するようにします。存在しない場合は、シートシンボルを右クリックしてSheet Symbol Actions » Create Sheet From Sheet Symbolコマンドを選択すると、サブシートをすばやく作成できます。後者の場合、新しいサブシートにはシンボルのシートエントリに対応するポートが配置されるため、置き換え用のサブ回路を定義して接続する準備が整います。
部品を新しいサブシートに移動する
同様の結果を得る別の方法として、対象の部品を右クリックして Part Actions » Push Part To Sheet コマンドを選択すると、よりすばやく処理できる場合があります。 このコマンドは、現在のドキュメント上の部品を新しいサブシートに移動し、元の部品をそのシートを参照するシートシンボルに置き換えるために使用します。基本的には、次の一連の処理が実行されます。
-
部品がコピーされます。
-
元の部品がシートシンボルに変換され、 Designator には元の部品のデジグネータが、 File Name には<OriginalPartComment>.SchDocが設定されます。この場合も、シートエントリには元のピン名に基づく名前が付けられ、 I/O Typeは元のピンの電気的タイプを反映するように設定されるため、接続性は維持されます。
-
シートシンボルから新しい回路図シートが作成され、シンボルのFile Name の値を使って名前が付けられます。
-
元の部品のコピーがシートの中央に貼り付けられます。また、シートシンボルのシートエントリに対応するポートが配置され、部品のピンに配線されます。
その後、必要に応じて部品を削除し、機能的に同等の回路に置き換えることができます。
Push Part To Sheetコマンドを使用すると、元の部品がすばやくシートシンボルに変換され、そのシンボルが参照する新しいシートに部品のコピーが貼り付けられます。
部品をポートに変換する
この機能は、現在のドキュメント上の部品を複数のポートに変換するために使用します。製造コストの削減などを目的として、電源やサテライト基板などの既存の独立したサブ設計を、より大規模な単一基板設計内で使用するサブ回路にする場合に最適です。これは、部品を下位階層のサブ回路に置き換える前のセクションとは逆の操作です。ここでは、サブ回路を上位階層の設計に組み込み、階層内の上位の接続点に接続できるようにします。
部品を右クリックし、コンテキストメニューからPart Actions » Convert Part To Portsコマンドを選択すると、部品シンボルが複数のポートに変換されます。ポートには元のピン名に基づく名前が付けられ、 I/O Typeは元のピンの電気的タイプを反映するように設定されるため、接続性は維持されます。
Convert Part To Portsコマンドを使用すると、部品を、サブ回路と上位階層の設計を接続するポートにすばやく置き換えることができます。
その後、該当する上位階層の親シートにシートシンボルを追加すると、階層へのサブ回路の組み込みが完了します。手順は次のとおりです。
-
対象の親シートをアクティブにします。
-
Design » Create Sheet Symbol From Sheetコマンドを使用します。
-
Choose Document to Placeダイアログで、部品から作成したポートを含むドキュメントを選択します。
-
カーソルにシートシンボルが表示されます。シート内の目的の位置に移動し、クリックして配置します。
シートシンボルは、File Name プロパティを通じて下位のサブシートを参照し、子シートのポートに対応するシートエントリを持ちます。

Create Sheet Symbol From Sheetコマンドを使用すると、シートシンボルをすばやく追加し、サブ回路を設計階層に組み込むことができます。
回路図シートをデバイスシートに変換する
再利用を前提とした設計という考え方は、ある段階で抽象度を高める必要があります。部品レベルにとどまっていては、USBインターフェースや電圧レギュレータなどの同様の機能を備えた設計を行うたびに、いわば「車輪の再発明」を繰り返すことになります。そこで役立つのが、特定の回路機能を提供するように設計された回路図シート、すなわちデバイスシートです。デバイスシートを使用すると、従来のコピー&ペースト方式に伴うリスクを排除できます。設計作業の重複をなくすとともに、今後の設計で再利用できる設計コンテンツを増やすことができます。
回路図エディタにはリファクタリングツールの一環として、既存の標準回路図シートを、ほかの設計で再利用できるデバイスシートにすばやく変換する機能が用意されています。
既存の回路図シートをデバイスシートに変換するには、次の手順に従います。
-
設計階層内の該当する親ページで、対象のシートを参照しているシートシンボルを見つけます。
-
シートシンボルを選択し、メインメニューからEdit » Refactor » Convert Selected Schematic Sheet To Device Sheetコマンドを選択します。Convert Schematic Sheet to Device Sheetダイアログが表示されます。新しく作成するデバイスシートの保存先と、変換の適用範囲を選択します。現在のシートシンボルのみを更新するか、デザインスペースまたはアクティブなプロジェクト内の関連するすべてのシートシンボルを更新するかを指定できます。後者は、同じサブ回路のインスタンスが複数存在するマルチチャネル設計で特に便利です。
-
OKをクリックします。シートシンボルがデバイスシートシンボルに変換され、回路図が指定したデバイスシートの保存先に移動します。
元のシートシンボルのプロパティは、デバイスシートシンボルに引き継がれます。
デバイスシートから回路図シートへの変換
デバイスシートを使用すると、機能単位のサブ回路をまとめて、複数のデザインで再利用できます。ただし、特定のデザインに合わせて既存のサブ回路を変更する必要が生じることもあります。回路図エディターでは、デバイスシート自体を変更する代わりに、そのコピーを作成して、回路を標準の回路図シート上で使用できます。これにより、元のデバイスシートに影響を与えることなく、現在のデザインの要件に合わせてローカルコピーを変更できます。
既存のデバイスシートを回路図シートに「変換」するには、次の手順を実行します。
-
目的のデバイスシートを参照しているデバイスシートシンボルを見つけます。
-
デバイスシートシンボルを選択し、メインメニューからEdit » Refactor » Convert Device Sheet To Schematic Sheetコマンドを選択します。Convert Device Sheet to Schematic Sheet ダイアログが表示されます。新しく作成する回路図シートの保存先と、変換の適用範囲を選択します。現在のデバイスシートシンボルのみを更新するか、アクティブなプロジェクト内の関連するすべてのデバイスシートシンボルを更新するかを指定できます。
-
OKをクリックします。デバイスシートシンボルがシートシンボルに変換され、デバイスシートのコピーが、指定した場所に標準の(保護されていない)シートとしてローカルに保存されます。シートシンボルは、このローカルシートを参照します。
変換後、Projects パネルでは、従来のデバイスシートがローカルの回路図シートに置き換わります。
元のデバイスシートシンボルのプロパティは、シートシンボルに引き継がれます。
選択したサブ回路を別のシートに移動する
設計が進むにつれて、デザインを構成するソース回路図シートの内容を移動する必要が生じることがあります。たとえば、回路の一部を独立したシートにまとめたほうがわかりやすくなる場合や、シートに回路を詰め込みすぎて読みにくくなり、一部の回路を追加のシートや別のシートに移したほうがよい場合などです。
リファクタリングには、シート上の1つ以上のオブジェクトを選択し、別のシートに移動する機能もあります。次の手順で実行します。
-
まず、移動する回路を選択します。
-
右クリックし、コンテキストメニューからEdit » Refactor » Move Selected Subcircuit to Different Sheetコマンドを選択します。Choose Destination Documentダイアログが開き、移動先の回路図シートを指定できます。
-
OKをクリックします。選択したシートがアクティブになり、選択したサブ回路がカーソルに追従した状態で表示されます。
-
シート上の目的の位置に回路を移動し、クリックして配置します。配置が完了すると、その回路は元のシートから削除されます。
-
移動する回路に既存のシートシンボルが含まれている場合、それらが参照する子回路図シートも移動します。Projectsパネルに表示されるデザイン階層では、移動先のシートの下に配置されます。新規シートに移動する場合は、適切な親シートにシートシンボルを追加して、その新規シートをデザイン階層の正しい位置に組み込んでください。




