Restructuring a Design through Refactoring in Altium Designer
リファクタリングとは、従来の意味で、既存の設計(またはプログラミングの世界ではコードの体系)を機能を変えることなく再構築する行為です。PCB設計の観点からすると、リファクタリングの形態が有益でタイムリーな解決策を提供する様々な状況があります:
-
部品が廃止され、機能的に同等のサブ回路に置き換える必要がある。(見る)
-
回路図設計が、より大きな設計内で使用するためのサブ回路になる。(見る)
-
既存の回路図サブシートを、将来の設計で再利用するためのデバイスシートにする。(見る)
-
既存のデバイスシートを、現在の設計に合わせてローカライズおよびカスタマイズする必要がある。(見る)
-
既存のサブ回路を別のシートに移動する必要がある。(見る)
Altium Designerは、要件に応じて設計を再構築するための最大限の柔軟性を提供する、デザインリファクタリング機能を複数提供しています。
部品をシートシンボルに変換する
この機能は、現在のドキュメント上の部品をシートシンボルに変換します。廃止された既存の部品を、別のシートで定義された機能的に同等のサブ回路に置き換える必要がある場合に理想的です。
部品を右クリックして、コンテキストメニューからPart Actions » Convert Part To Sheet Symbolコマンドを選択すると、部品シンボルがシートシンボルに変換されます。接続性は保持され、シートエントリは元のピン名に従って名付けられ、I/O Typeは元のピンの電気的タイプを反映するように設定されます。
シートシンボルのDesignatorは最初に元の部品の指定子に設定され、そのFile Nameは最初に部品のコメントテキストに設定されます。
必要な子シートが存在する場合は、シートシンボルの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コマンドを使用します。
-
配置するドキュメントを選択ダイアログで、(部品から作成されたポートが含まれる)ドキュメントを選択します。
-
シートシンボルがカーソルに表示されるので、シート内で必要な位置に配置してクリックして配置を完了します。
シートシンボルは、その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をクリックします。選択したシートがアクティブになり、選択したサブ回路がカーソル上に浮かび上がります。
-
必要に応じてシート上に回路を配置し、クリックして配置を実行します。配置されると、その回路は元のシートから削除されます。
-
移動された回路に1つ以上の既存のシートシンボルが含まれている場合、そのシンボルによって参照される子回路図シートは、プロジェクトパネルに反映される設計階層内で、それらのシートシンボルが移動されたシートの下に配置されます。新しいシートに移動する場合は、そのシートを設計階層に正しく挿入するために、関連する親ページにシートシンボルを追加します。




