ピン、ペア、パーツの入れ替え

概略

この記事では、Altium Designerのピン、差動ペア、サブパートのスワップ機能を活用することで、回路設計とレイアウトの連携を強化し、PCBの配線性を向上させ、レイアウトの複雑さを軽減し、基板コストの削減につなげる方法を解説します。設計意図を踏まえてスワップ設定を定義すべき理由、スワップ時にAltium Designerがネットの再割り当てを処理する仕組み、そして配線が部分的に完了した設計を内蔵オプティマイザーで改善する方法を紹介します。また、基本的なスワップの種類と、スワップグループ、ピングループ、パートグループ、シーケンスID、ペアグループの設定についても順を追って説明し、コンポーネント内でスワップできるものとできないものを理解できるようにします。論理と制約を維持しながら配線を効率化したい方は、ぜひ読み進めて、これらのスワップルールを実際に設定する方法をご確認ください。

- ピンスワップ、差動ペアスワップ、サブパートスワップの違いと、それぞれの適用場面を学びます。
- スワップグループ、ピングループ、パートグループ、ペアグループ、シーケンスIDによって、設計内で許可されるスワップがどのように制御されるかを確認します。
- 一部だけ配線されたネットや複雑な引き出し配線でも、Altium Designerがネット情報の認識と最適化を活用してスワップを支援する仕組みを理解します。
AIでさらに深掘り:

設計内のコンポーネントでピンスワップを行えると、レイアウトの難易度が大きく変わり、PCBの層数(ひいてはコスト)の削減にも役立ちます。しかし、レイアウトエンジニアは設計者の意図をすべて把握しているとは限らないため、ピンスワップを適切に設定するために必要な情報を十分に持っていない場合があります。理想的には、回路図を作成した担当者もピンスワップデータの設定に関わり、設計意図と制約が正確に反映されるようにすべきです。

ピン、差動ペア、パートのスワップシステムは、Altium Designerのインタラクティブ配線機能やBGAエスケープ配線機能と連携して動作します。この機能は、従来のピンスワップシステムの利点をすべて備えたうえで、Altium Designerが設計内のネット割り当てを詳細に把握していることを活用します。ピンスワップ操作中、Altium Designerは選択したピンに割り当てられたネットを解析し、そのピンと接続されている銅箔のネットを動的に再割り当てします。

この機能により、部分的に配線されたネットや、複雑なBGAデバイスから複数の層にわたって事前配線されたエスケープ配線もスワップできます。また、FPGAの差動ピンペアに関する情報を活用して、差動ペアをスワップすることもできます。

PCBレベルでは、この情報を使ってネットを動的に再割り当てし、配線性を向上させる強力な自動最適化機能が用意されています。たとえば、複数の層にエスケープ配線された複数のデバイスに対して、接続の再割り当てを行えます。割り当ては、エスケープ配線の層の一致、最短のマンハッタン配線距離、および各層での交差数の最小化に基づいて行われます。

部分的に配線されたネットのスワップ機能と自動最適化機能を組み合わせることで、階層的かつ反復的な配線戦略を採用できます。まずデバイスのエスケープ配線を行い、次に所定の領域の端まで配線し、最後にそれらの部分を接続します。部分的に配線されたネットから得られる最新の情報に基づき、自動スワップ機能をいつでも再実行して再最適化できます。

スワップには次の3つの種類があります。

  • ピンスワップ
  • 差動ペアスワップ
  • サブパートスワップ。

スワップグループの設定

各種類のスワップにおいて、swap groupsはコンポーネント内でスワップできるものとできないものを規定します。ピンスワップの場合、コンポーネント内で共通のpin groupを持つピン同士をスワップできます。同様に、ペアスワップとパートスワップでは、それぞれpair groupとpart groupの値によって、差動ペアまたはサブパートをスワップできるかどうかが決まります。コンポーネントのスワップグループは、下の画像に示すConfigure Pin Swappingダイアログで設定します。このダイアログには、次の方法でアクセスできます。

  • PCBドキュメントでコンポーネントを右クリックし、 Component Actions » Configure Pin/Part Swappingを選択します。
  • 回路図ドキュメントでコンポーネントを右クリックし、 Part Actions » Configure Pin Swappingを選択します。
  • 回路図ドキュメントで、コンポーネントのスワップ情報を設定ダイアログ (Tools » Configure Pin Swapping)の下部にある Configure Componentボタンをクリックします。
  • PCBドキュメントで、Configure Swapping Information In Componentsダイアログ (Tools » Pin/Part Swapping » Configure)の下部にある Configure Componentボタンをクリックします。
  • Configure Swapping Information In Componentsダイアログ内のいずれかのコンポーネントをダブルクリックします。

ピングループ

コンポーネントのピンは、同じpin groupに属する(同じpin group値を持つ)場合、そのコンポーネント内の別のピンとスワップできます。pin groupはコンポーネント内の各ピンの属性で、その値には任意の英数字文字列を使用できます。コンポーネント全体のpin groupsは、ピンスワップの設定ダイアログで設定します。

デュアル5入力正論理NORゲートコンポーネントを含む回路図。各サブパーツの入力ピンはすべて論理的に等価であり、ピンスワップに最適な構成です。デュアル5入力正論理NORゲートコンポーネントを含む回路図。各サブパーツの入力ピンはすべて論理的に等価であり、ピンスワップに最適な構成です。

上の画像の回路図には、SNJ54S260コンポーネントの2つの5入力NORゲートが含まれています。NORゲートの性質上、INA0~INA4の各ネットは互いにスワップできます。同様に、INB0~INB4の各ネットもスワップできますが、INAxのネットとINBxのネットをスワップすることはできません。

NORゲートのスワップに関する制約は、Configure Pin Swappingダイアログで定義します。INAxのネットにスワップグループ1を、INBxのネットにスワップグループ2を割り当てることで、コンポーネントの論理に整合するスワップのみがシステムによって実行されます。ピンのPin Group値を空欄にすると、そのピンはスワップ対象外になります。

パーツグループとシーケンスID

コンポーネントが、機能的に等価な複数のサブパーツで構成されていることはよくあります。パーツスワップでは、このような等価なサブパーツのネットを入れ替えることができます。上の画像のコンポーネントをもう一度見てみましょう。2つのNORゲートは同じ機能を持つため、ネット(INA0、INA1、INA2、INA3、INA4、OUTA)をネット(INB0、INB1、INB2、INB3、INB4、OUTB)とスワップできます。

コンポーネントのパーツスワップは、part group属性とsequence ID属性で設定します。どちらもテキスト属性で、下図のようにピンスワップの設定ダイアログの Part Swapping タブからアクセスできます。下の画像には、上の画像のコンポーネントに対応するpart groupとsequence IDの設定も示しています。part groupは、どのサブパーツ同士をスワップできるかを示します。この2つのサブパーツは互いにスワップできるため、下の画像では両方のpart groupsに同じ値「1」が設定されています。

sequence ID属性は、スワップ可能なサブパーツ間でのピンの等価性を定義します。NORゲートの例では、パーツスワップ時に入力ピンと出力ピンが入れ替わらないことが重要です。下の画像では、OUTAとOUTB、INA0とINB0、INA1とINB1などがそれぞれスワップされるように、sequence IDが設定されています。

ピンスワップの設定ダイアログで、デュアル5入力NORゲートコンポーネントのパーツスワップグループを設定。ピンスワップの設定ダイアログで、デュアル5入力NORゲートコンポーネントのパーツスワップグループを設定。

パーツスワップは、2つのサブパーツ間ですべてのネットを入れ替える仕組みのため、サブパーツとして設計されたコンポーネントでのみ使用できます。

ペアグループ

差動ペアのスワップは、その差動ペアのpair groupの値によって制御されます。pair group属性には、ピンスワップの設定ダイアログのDifferential Pair Swappingタブからアクセスできます。Differential Pair Swappingタブには3つのモードがあり、左下隅のドロップダウンから設定できます。

  • Show All Pins – コンポーネントのすべてのピンを表示します。

  • Show Pairs From Directives – 回路図に配置された差動ペアディレクティブを使用して、テーブルに差動ペアを表示します。

    ダイアログでShow All Pinsオプションを選択した場合、スワップ可能な差動ペアに属するすべてのピンを、同じペアグループに割り当てる必要があります。

ピンスワップの設定ダイアログでペアスワップグループを設定。ピンスワップの設定ダイアログでペアスワップグループを設定。

回路図でのスワップ方法の制御

PCBエディターでは、コンポーネントのパッドと対応する銅箔のネットを入れ替えることで、ピン、ペア、パーツのスワップを実行します。変更を回路図に反映する際、ピンスワップには2つの方法があります。コンポーネントシンボル上のピンを入れ替える方法と、ピンに接続されたワイヤー上のネットラベルを入れ替える方法です。それぞれに長所と短所があります。

ピンを入れ替える方法は回路図上で常に実行できますが、そのコンポーネントシンボルのインスタンスが、ライブラリで定義されたものと異なる状態になる可能性があります。この場合、シンボルをライブラリから更新できなくなり、また、この設計内の同じコンポーネントの他のインスタンスとはピン配置が異なることになります。そのため、この方法は抵抗アレイなどの単純なコンポーネントに適しています。

ネットラベルの入れ替えによって回路図上でスワップを実行できるのは、接続がネットラベルを介して確立されており、ピン同士がワイヤーで直接接続されていない場合のみです。この方法の利点は、コンポーネントシンボルが変更されず、後からライブラリから更新できることです。FPGAなどの複雑なコンポーネントでは、シンボル上の2つのピンを物理的に移動すると、I/Oバンク単位のシンボルが正しく表示されなくなる可能性があるため、この方法が最適です。

下図のように、プロジェクトオプション - オプションダイアログのAllow Pin Swapping Using these Methodsセクションで、Adding / Removing Net-Labels または Changing Schematic Pinsオプションを選択して、スワップの実行方法を指定できます。

これらのプロジェクトオプションは、ピンスワップを回路図ドキュメントに反映する方法を制御します。 これらのプロジェクトオプションは、ピンスワップを回路図ドキュメントに反映する方法を制御します。

PCBでのピン、ペア、パーツのスワップの有効化

PCB設計でピンをスワップできるかどうかは、Pin Swappingオプションによって制御されます。このオプションは、インタラクティブルーティングを実行する際に使用できます。オプションの確認と切り替えを行うには、Route » Interactive Routingコマンドを選択してからTabキーを押し、ルーティングを 一時停止してPropertiesパネルにアクセスします。このパネルで、Pin Swappingオプションの状態を切り替えることができます()。

コンポーネントレベルでは、個々のPCBコンポーネントのスワップオプションをPropertiesパネルで設定します。このパネルには、設計スペースで選択したコンポーネントのプロパティが表示されます。これらのオプションは、General タブのSwapping Options領域にあります。

PCBコンポーネントのスワップオプションは、 Configure Swapping Information in Components ダイアログでも定義できます。このダイアログには、設計(またはライブラリ)で使用されているすべてのコンポーネントと、現在のスワップ設定が一覧表示されます。PCBエディターからアクセスした場合は、基板上の各コンポーネントのスワップを有効または無効にするためのEnable in PCB列が追加表示されます。

Configure Swapping Information in Components ダイアログには、回路図エディター、回路図ライブラリエディター、およびPCBエディターから、次の方法でアクセスできます。

  • Schematic Editor/Schematic Library Editor - メインメニューから Tools » Configure Pin Swapping コマンドを選択します。
  • PCB Editor - メインメニューから Tools » Pin/Part Swapping » Configure コマンドを選択します。

コンポーネント内のピン、ペア、パートのスワップ設定に必要な swap group 属性は、回路図コンポーネントに保存されます。ただし、この情報はPCBエディターで使用され、各PCBコンポーネントには、そのピンのスワップを許可するオプションがあります。そのため、PCBエディターからこのダイアログを使用する方が簡単な場合があります。

 Configure Swapping Information in Componentsダイアログを使用すると、複数のコンポーネントのスワップ設定をすばやく定義できます。このダイアログには便利な右クリックメニューが用意されており、あるコンポーネントの設定を別のコンポーネントにすばやくコピーしたり、ワンクリックで複数のコンポーネントを有効または無効にしたりできます。

Configure Swapping Information In Components ダイアログ。Configure Swapping Information In Components ダイアログ。

Configure Swapping Information in Components ダイアログでコンポーネントをダブルクリックすると、そのコンポーネントのピンスワップ設定ダイアログが開きます。このダイアログでは、ピン、差動ペア、およびサブパートのスワップグループをより詳細に設定できます。

ピン、ペア、パートのスワップの実行

インタラクティブなピン、ペア、パートのスワップ

インタラクティブスワップでは、PCBエディターでピン、差動ペア、またはサブパートを1つずつスワップできます。インタラクティブスワップのコマンドは、Tools » Pin/Part Swapping サブメニューにあります(Interactive Pin/Net Swapping、Interactive Differential-Pair Swapping および Interactive Part Swapping コマンド)。メニューからコマンドを選択すると、PCB設計スペース内のスワップ可能な要素以外のすべての要素がマスクされ、薄く表示されます。 Status Barには次の操作を促すメッセージが表示されるため、確認しながら進めてください。スワップに必要な手順は、ステータス行に表示されます。

  1. まず、ハイライト表示されたピンの中から、ピンスワップのスワップ元となるピンを1つ選択します。ペアまたはパートのスワップの場合は、そのピンが属する差動ペアまたはサブパートがスワップされます。

  2. 次に、スワップ先のピンを選択します。ペアまたはパートのスワップの場合、このピンは差動ペアまたはサブパートを代表するものとなります。

    スワップ可能なピンがハイライト表示されない条件は2つあります。そのピンにすでに配線済みの接続がある場合(電源プレーンやポリゴンへの接続を確認してください)、またはPin Swappingオプションが有効になっていない場合(PreferencesパネルのInteractive Routingモードで設定可能)です。 

以下の2つの画像は、デュアル5入力NORゲートコンポーネントのパートをインタラクティブにスワップする手順を示しています。スワップ可能なサブパートが2つあるため、上の画像に示すように、それぞれの5本のピンのいずれかを選択できます。ここでは、サブパートU2Bに対応するピン8を選択しています。すると、スワップ可能なサブパートU2Aのピンがハイライト表示されます。

1枚目の画像、手順1 - スワップするピンを選択します。選択可能なピンがハイライト表示されます。2枚目の画像、手順2 - スワップ先のピンを選択します。  1枚目の画像、手順1 - スワップするピンを選択します。選択可能なピンがハイライト表示されます。2枚目の画像、手順2 - スワップ先のピンを選択します。

  • 差動ペアのピンには、パートシーケンス値を定義する必要はありません。差動ペアの定義によって、ペア内の正極ピンと負極ピンが指定されています。

  • スワップ情報は Messages パネルにも表示されます。

自動ピン/ネットオプティマイザー

自動ピン/ネットオプティマイザーは、2段階で処理を行うツールです。自動最適化を実行するには、PCBエディターのメニューからTools » Pin/Part Swapping » Automatic Pin/Net Optimizerを選択します。

自動ピン/ネットオプティマイザーは、まず高速なシングルパス最適化を実行し、接続の交差数と接続長の最小化を試みます。ただし、実際にはこれらが増加する場合もあります。処理が完了すると、反復最適化を実行するかどうかを確認するメッセージが表示されます。反復最適化では、複数回の処理を行い、接続の交差数と接続長の削減を試みます。

変更を回路図に反映する

ピンスワップの設定ダイアログでswap groupsを設定すると、コマンドの起動時にどのエディターがアクティブだったかに関係なく、編集内容が回路図コンポーネントに即座に適用されます。ただし、PCBエディターでピン、差動ペア、またはサブパートをスワップしたことによる設計変更は、標準の Design Updateプロセスを使用して回路図に反映されます。

PCBから回路図に変更を反映する

ピン、ペア、パートのスワップは、他の設計変更と同様に、メニューからDesign » Updateを選択して回路図に反映します。Project Options - Options dialogのピンスワップを許可オプションの設定に応じて、ピンスワップは次の方法で実行されます。

  • ピン名を変更 - シンボル上のピンを移動します。シンボル上でピンが実際に移動するわけではありませんが、見た目上は2つのピンが移動した、または位置を入れ替えたように表示されます。
  • ピンを別のネットに移動 - 接続されているワイヤー上のネットラベルを入れ替えます。
  • サブパートIDを変更 - パートのスワップを実行したときに、サブパートのインデックスを変更します。

 

最初の画像は、ピンを入れ替えることで回路図に反映したピンスワップを示しています。2番目の画像は、ネットラベルを移動することで反映したスワップを示しています。

回路図が更新されず、スワップしたピンやパートが表示されない場合は、Endキーを押して表示を更新してください。

FPGA設計で新しいピン/パートスワップシステムを活用する

インテリジェントなピン、ペア、パートのスワップがもたらす明らかな利点に加え、部分的に配線済みのサブネットをスワップできることで、スワップの活用範囲が広がり、大容量FPGAの設計に最適な手法となります。ネットを動的に再割り当てする機能により、ピン/ネットの割り当てを段階的に最適化する、多段階の設計プロセスを利用できます。

初期I/O割り当て

この段階では、FPGAやその他のデバイスのピンに対し、回路図上で最も簡単な方法でネットを割り当てます。通常は、FPGAのピンにバスの番号順でネットラベルを追加するだけです。回路図エディターのスマートペースト機能は、この作業に最適です。

初期接続の最適化

設計をPCBレイアウトに転送します。回路図上での割り当てが無作為なため、この時点では接続の交差が多数発生します。ピンとネットの情報を使用してネットを動的に再割り当てし、配線性を改善する Tools » Pin/Part Swapping » Automatic Net/Pin Optimizer コマンドを実行すると、交差数を短時間で大幅に削減できます。たとえば、PCBドキュメントの複数のレイヤーで引き出し配線が完了した複数のBGAデバイスを、再接続できます。この段階での主な目的は、PCB上で接続を視覚的に把握しやすくすることなので、結果がまだ理想的である必要はありません。

コマンドを起動すると、自動ピン/ネットオプティマイザーが実行されます。これは2段階のツールで、まず高速なシングルパス最適化を実行し、接続の交差数と接続長の最小化を試みます。ただし、実際にはこれらが増加する場合もあります。処理が完了すると、反復最適化を実行するかどうかを確認するメッセージが表示されます。反復最適化では、複数回の処理を行い、接続の交差数と接続長の削減を試みます。オプティマイザーの実行が完了すると、最適化の結果が表示されます。

引き出し配線

ここで、PCB上の大型デバイスに対してファンアウトと引き出し配線を実行できます(コンポーネントを右クリックすると、ファンアウト/引き出し配線を選択的に実行できます)。これにより、それまでに最適化した割り当てが悪化する場合もありますが、この時点では問題ありません。

引き出し配線後の接続の最適化

自動オプティマイザーを再度実行します。今回は、ファンアウト/引き出し配線の配線済み部分が活用されます。

手動配線

これで、引き出し配線の端点を配線先の「ターゲット」として扱うことができます。実際の接続線は無視し、ネットの反対側の端点から、同じネットの引き出し配線ではなく、PCB上で位置とレイヤーの観点から最も近いI/O引き出し配線に向けて配線できます。この時点では接続先は一致しません。その代わり、FPGAのI/Oピンからの引き出し配線と、PCBの他の部分から伸びる配線との間に、小さな隙間がいくつも残る状態になります。以下の画像に、その簡単な例を示します。

 

最終最適化

自動オプティマイザーを再度実行すると、配線済みのサブネットが、引き出し配線済みの最も近いI/Oピンに割り当てられます。これにより、仕上げに必要な接続はごく短いものだけになります。自動オプティマイザーには、このような場合に良好な結果を得るための専用ルーチンが用意されています。残りの接続は、インタラクティブ配線または自動配線で完了できます。

手動ピンスワップ

必要に応じて、インタラクティブスワップ機能を使用し、特定のピンをスワップします。

変更を回路図に反映する

これらのピン割り当てを回路図に反映する準備ができたら、回路図シンボル上のピン変更を無効にしておくことをお勧めします。FPGAは、多くの場合、ピンの各バンクを個別の回路図パートとするマルチパートコンポーネントとして表現されるためです。あるパートから別のパートにピンを移動すると、バンクのシンボルにそのバンクに属さないピンが含まれることになり、これらのシンボルは論理的に正しくなくなります。この場合は、ネットラベルの変更によってピンスワップを実行するのが適切です。

必要に応じて繰り返す

このプロセスは、設計中のどの時点でも、必要な回数だけ繰り返し実行できます。

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