ピン スワップ ツール

ピン グループを適切に定義し、目的のコンポーネントのピン スワップを有効にすると、ピン スワップの実際のプロセスを実行できるようになります。PCB ドキュメントがアクティブである場合、ツール(Tools) » ピン/パートのスワッピング(Pin/Part Swapping)サブメニューからピン スワップ ツールを使用できます。

PCB でピン スワップ操作を実行する前に、PCB プロジェクトを完全に同期しておくことをお勧めします。これにより、後続のピン スワップ データをプロジェクト間で円滑に、かつ効率的に受け渡すことができます。

ピン スワップ操作中、SOLIDWORKS PCB によって、選択したピンに割り当てられているネットが解析され、すべての接続された配線およびピン上で、ネットが動的に再割り当てされます。このレベルの機能により、部分的に配線されたネットや、複雑な BGA デバイスから事前配線されたマルチレイヤ エスケープをスワップできます。FPGA の差動ピン ペアに関する情報を利用して、差動ペアをスワップすることもできます。

自動ピン スワップは、コンポーネントのピン スワップが有効になっているかどうかに応じて、ドキュメント内の任意の FPGA コンポーネントまたはすべての FPGA コンポーネントに対して実行できます。この機能は、ネット/ピンの自動最適化(Automatic Net/Pin Optimizer)コマンドを使用して起動する、強力な自動最適化ツールによって提供されます。

最適化では、高速最適化パスとその後の反復パスの 2 段階のプロセスが使用されます。反復パスを実行するかどうかを制御できますが、通常は、最適な結果を得るために実行することをお勧めします。

最適化では、定義されたピン グループ設定に従いながら、配線に最適なピン割り当てを特定する処理が試行されます。PCB の配線時には、配線の全体的な長さとネットのクロスオーバーの数が重要な要素となります。最適化では、配線の長さとクロスオーバーの数の両方を最小限に維持することが重視されます。

図 1 は、複雑な接続パターンを作成するために 180° 回転された、PCB 上の FPGA デバイスの例を示しています。

http://techdocs.altium.com/sites/default/files/wiki_attachments/231782/AutoOptimizer_Before.png
図 1: 自動ピン スワップ前の FPGA デバイスの接続。

図 2 は、自動最適化ツールを最大限に活用することで、配線するピン割り当ての最適なセットをどのように取得できるかを示しています。PCB に更新をコミットする前に、最適化の結果が表示されます。

http://techdocs.altium.com/sites/default/files/wiki_attachments/231782/Combo_AutoOptimizerAfter.png
図 2: ピン スワップを最適化した後の同じ FPGA デバイスの接続。

より個別的な、手動制御によるアプローチに対応するために、ピンのインターラクティブ スワップ機能が用意されています。この機能は、ピン/ネットのインターラクティブ スワップ(Interactive Pin/Net Swapping)コマンドおよびインターラクティブ差動ペア スワッピング(Interactive Differential-Pair Swapping)コマンドを使用して起動します。この機能により、微調整したり、任意の数の個別ピン スワップを実行したりすることができます。この場合も、既に構成されているピン グループに従います。実際には、一連のスワップ プロセスを実行することが一般的です。たとえば、自動最適化ツールを最初に実行した後、インターラクティブ ツールを使用して、適切でないいくつかのネット/ピンを微調整することができます。

デザイン内の FPGA コンポーネントがリンクされている場合、そのデザインは実質的にマルチチャネルであるため(U1_X1、U1_X2 など)、一緒に最適化する必要があります。ピンのインターラクティブ スワップ ツールを使用する場合、リンクされたコンポーネントではスワップを実行できず、そのことを警告するダイアログが表示されます。たとえば、U1_X2 が U1_X1 にリンクされている場合、両方のコンポーネントを一緒に最適化する必要がありますが、ピンのインターラクティブ スワップは U1_X1 でのみ実行できます。

概要

このコマンドを使用すると、ピン スワップが有効になっているコンポーネントの(反復プロセスである)ネット接続を最適化できます。これにより、ピンをスワップできるだけでなく、部分的に配線されたネットをスワップすることもできます。両方のピンのピン グループが同じである場合、コンポーネント ピンをそのコンポーネント内の別のピンとスワップできます。

アクセス

  • PCB ドキュメントで、ツール(Tools) | ピン/パートのスワッピング(Pin/Part Swapping) | ピン/ネットのインターラクティブ スワップ(Interactive Pin/Net Swapping)を選択します。

使用用途

コマンドを起動すると、スワップ可能なピンを除き、デザイン内のすべてのものがマスクされます。その後、ターゲット ネットとスワップするサブネットを選択するよう求められます。ソース サブネットをターゲット サブネットとスワップしようとしているときには、ステータス バーを監視してください。ピン スワップ情報はメッセージ(Messages)パネルにも表示され、このパネルを使用して、ピン/ネットのスワップに関する通知メッセージを確認できます。

ヒント

コマンドを起動すると、適切なコンポーネント ピン上のネットが変更されることがあります。回路図エディタ内のシンボル ピン上の関連するネットは自動的に変更されないため、一致しないピンを解決するには、PCB エディタにおいて currentproject.PrjPcbプロジェクト(Project) » 回路図を更新(Update Schematic)コマンドを実行する必要があります。

部品のインターラクティブ スワップ

ピン、差動ペア、および部品のスワップ システムは、SOLIDWORKS PCB のインターラクティブ配線機能および BGA エスケープ配線機能と連携して動作します。この機能は、従来のピン スワップ システムのすべての利点を備えると同時に、デザイン内のネット割り当てに関する SOLIDWORKS PCB の詳細な情報を活用します。ピン スワップ操作中、SOLIDWORKS PCB にって、選択したピンに割り当てられているネットが解析され、ピンおよびすべての配線パターン上で、ネットが動的に再割り当てされます。

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

http://techdocs.altium.com/sites/default/files/wiki_attachments/231645/optimizer+results.png 

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

自動最適化とともに部分配線ネットのスワップを追加することにより、階層型の反復配線方法を採用し、最初にデバイスをエスケープ配線した後、該当する領域のエッジまで配線し、最後にそれらのセクションを相互に接続することができます。自動スワップ ツールはいつでも再実行して、部分的に配線されたネットによって提供される更新された情報に基づいて再度最適化することができます。

スワップには、次の 3 つのカテゴリがあります。

  • ピン スワップ
  • 差動ペア スワップ
  • サブ部品のスワップ。

スワップ グループの構成

スワップの各カテゴリについて、スワップ グループによって、コンポーネント内でスワップできるものとできないものが決まります。ピン スワップの場合、共通のピン グループを共有するコンポーネント内のピンは相互にスワップ可能です。同様に、ペア スワップと部品スワップの場合は、ペア グループ部品グループの値によって、差動ペアまたはサブ部品をそれぞれスワップできるかどうかが決まります。

コンポーネントのスワップ グループは、ピン スワップの設定(Configure Pin Swapping)ダイアログで構成します(図 2 を参照)。ダイアログにアクセスするには、回路図エディタまたは PCB エディタでコンポーネントを右クリックし、パートに対する操作(Part Actions) » ピン スワップの設定(Configure Pin Swapping)またはコンポーネントの操作(Component Actions) » ピン/パーツ スワップを構成(Configure Pin/Part Swapping)メニュー アイテムをそれぞれ選択します。ピン スワップの設定(Configure Pin Swapping)ダイアログには、コンポーネント内のスワップ情報の設定(Configure Swapping Information In Components)ダイアログからアクセスすることもできます。

http://techdocs.altium.com/sites/default/files/resize/wiki_attachments/231645/pin_swap_config-700x404.png

図 2: ピン スワップの設定(Configure Pin Swapping)ダイアログでのデュアル 5 インプット NOR ゲート コンポーネントのピン スワップ グループの設定。

ピン グループ

コンポーネント ピンは、同じピン グループに属する(ピン グループ(Pin Group)の値が同じである)場合、そのコンポーネント内の別のピンとスワップ可能です。ピン グループ(Pin Group)はコンポーネント内の各ピンの属性であり、任意の英数字文字列で値を指定できます。コンポーネント全体のピン グループは、ピン スワップの設定(Configure Pin Swapping)ダイアログで設定します(図 2 を参照)。

http://techdocs.altium.com/sites/default/files/resize/wiki_attachments/231645/pin_swap_sch-500x376.png

図 3: デュアル 5 インプット ポジティブ NOR ゲート コンポーネントを含む回路図。両方のサブ部品の各インプット ピンは論理的に同等となり、ピン スワップに最適な状況を表しています。

SNJ54S260 コンポーネント(このコンポーネントは、SOLIDWORKS PCB に付属している TI Logic Gate 2.IntLib ライブラリにあります)の 2 つの 5 インプット NOR ゲートを含む図 3 の回路図では、NOR ゲートの性質により、INA0 から INA4 の各ネットを相互にスワップできます。同様に、INB0 から INB4 の各ネットもスワップできますが、INAx ネットを INBx ネットとスワップすることはできません。

NOR ゲートのスワップ制約は、ピン スワップの設定(Configure Pin Swapping)ダイアログで定義します(図 2 を参照)。ネット INAx をスワップ グループ 1 に、ネット INBx をスワップ グループ 2 に設定すると、確実に、コンポーネント ロジックと一致する方法でのみスワップが実行されます。

ピンのピン グループ(Pin Group)値を空白のままにすると、スワップできないことを意味します。図 2 の場合、アウトプット ピンおよびパワー ピン(デジグネータ 5、6、7、および 14)を相互に交換するのは適切でないため、ピン グループ(Pin Group)は空白のままになっています。

部品グループとシーケンス ID

コンポーネントは、一般的に、同等の機能を持つ複数のサブ部品で構成されます。部品スワップでは、そのような同等のサブ部品のネットをスワップできます。ここでも、図 3 のコンポーネントについて検討します。両方の NOR ゲートで同じ機能が提供され、ネット(INA0、INA1、INA2、INA3、INA4、OUTA)をネット(INB0、INB1、INB2、INB3、INB4、OUTB)とスワップできます。

コンポーネントの部品スワップは、部品グループ(Part Group)属性とシーケンス ID(Sequence ID)属性を使用して構成します。これらはどちらもテキスト属性であり、ピン スワップの設定(Configure Pin Swapping)ダイアログの部品(Part)タブでアクセスできます。図 4 は、図 3 のコンポーネントに対応する部品グループ(Part Group)シーケンス ID(Sequence ID)の設定を示しています。部品グループ(Part Group)は、相互にスワップできるサブ部品を示します。図 3 の 2 つのサブ部品はスワップ可能であるため、図 4 では、それらの部品グループ(Part Group)に同じ値 1 が指定されています。

シーケンス ID(Sequence ID)属性は、スワップ可能なサブ部品間でピンが同等であるかどうかを示します。NOR ゲートの例では、部品スワップが発生したときにインプット ピンがアウトプット ピンと交換されないことが重要になります。図 4 は、OUTA が OUTB とスワップされ、INA0 が INB0 とスワップされ、INA1 が INB1 とスワップされるようにシーケンス ID(Sequence ID)が設定されていることを示しています。

http://techdocs.altium.com/sites/default/files/resize/wiki_attachments/231645/part_swap_config-800x462.png

図 4: ピン スワップの設定(Configure Pin Swapping)ダイアログでのデュアル 5 インプット NOR ゲート コンポーネントの部品スワップ グループの設定。

部品スワップは、2 つのサブ部品間におけるすべてのネットのスワップに基づいて行われるため、サブ部品としてデザインされているコンポーネントについてのみ可能です。

ペア グループ

差動ペアのスワップは、差動ペアのペア グループ(Pair Group)の値によって制御されます。ペア グループ(Pair Group)属性には、ピン スワップの設定(Configure Pin Swapping)ダイアログの差動ペア スワッピング(Differential Pair Swapping)タブでアクセスします。差動ペア スワッピング(Differential Pair Swapping)タブには、左下隅のドロップダウン ボックスで設定可能な 3 つのモードがあります。

  • Show Pairs From Directives - 回路図に配置された差動ペア ディレクティブを使用して、テーブルに差動ペアが挿入されます。
  • Show All Pins - すべてのコンポーネント ピンが表示されます。

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

PCB エディタでは、コンポーネント パッドおよび対応するパターン上のネットを交換することにより、ピン、ペア、および部品のスワップが実行されます。変更を回路図にマージする場合、ピン スワップの処理には 2 つの方法があり、コンポーネント シンボル上のピンをスワップするか、ピンにアタッチされたワイヤ上のネット ラベルをスワップします。それぞれのアプローチに、独自の利点と欠点があります。

ピンのスワップは常に回路図に対して機能しますが、コンポーネント シンボルはライブラリで定義されているため、そのインスタンスが同じでなくなることを意味する場合があります。この状況では、シンボルをライブラリから更新できないことを意味します。さらに、そのデザイン内の同じコンポーネントの他のインスタンスではピンの配置が異なることを意味し、回路図を参照するときに混乱の原因となる可能性があります。このアプローチは、抵抗アレイなど、単純なコンポーネントに最適です。

ネット ラベルのスワップによる回路図でのスワップの実行は、接続がネット ラベルによって確立されている場合、つまり、ピンが配線接続されていない場合にのみ、行うことができます。このアプローチの利点は、コンポーネント シンボルは変更されず、後でライブラリから更新できることです。このアプローチは、複雑なコンポーネント(FPGA など)にとって最適な選択肢です。複雑なコンポーネントでは、シンボル上の 2 つのピンを物理的に移動すると、I/O バンクベースのシンボルが誤って表示される場合があります。

この 2 つのアプローチのうち、どちらを使用するかの選択は、プロジェクトのオプション(Options for Project)ダイアログにある、これらの方法を使用してピンスワップを許可(Allow Pin Swapping Using these Methods)のオプションによって決まります(図 6 を参照)。

http://techdocs.altium.com/sites/default/files/wiki_attachments/231645/pin+swapping,+allow+options.png

図 6: ピン スワップを回路図ドキュメントで更新する方法を制御するプロジェクト オプション。プロジェクト(Project)->プロジェクト オプション(Project Options)メニュー アイテムのオプション(Options)タブにあります。

PCB でのピン、ペア、および部品のスワップの有効化

コンポーネント内のピン、ペア、および部品スワップの設定に必要なスワップ グループ属性は、回路図コンポーネントに保存されます。ただし、この情報は PCB エディタで使用され、各 PCB コンポーネントに、そのピンのピン スワップを許可するオプションが用意されています。

各 PCB コンポーネントのスワップ オプションは、コンポーネントのプロパティ ダイアログの交換オプション(Swapping options)セクションで構成できます(ダイアログにアクセスするには、コンポーネントをダブルクリックするか、右クリックしてプロパティ(Properties)を選択します)。

スワップ マネージャ ダイアログ

スワップ マネージャには、デザイン(またはライブラリ)で使用されているすべてのコンポーネントとそれらの現在のスワップ設定が一覧表示されます。PCB エディタのスワップ マネージャには、基板上の各コンポーネントについてスワップを有効/無効にするための追加列もあります。スワップ マネージャ ダイアログには、回路図エディタ、回路図ライブラリ エディタ、および PCB エディタのツール メニューのピン スワップの設定(Configure Pin Swapping)コマンドを介してアクセスできます。

http://techdocs.altium.com/sites/default/files/resize/wiki_attachments/231645/Configure+Swapping+Information+in+Components+dialog-800x533.png

図 7: スワップ マネージャ ダイアログ

スワップ マネージャの強力な右クリック メニューにより、非常に簡単かつすばやくコンポーネント間で設定をコピーしたり、1 回クリックするだけで複数のコンポーネントを有効または無効にしたりすることができます。

スワップ マネージャ内でコンポーネントをダブルクリックすると、そのコンポーネントのピン スワップの設定(Configure Pin Swapping)ダイアログが開き、ピン、差動ペア、およびサブ部品のスワップ グループ設定を定義できます。

ピン、ペア、および部品のスワップの実行

ピン、ペア、および部品のインターラクティブ スワップ

インターラクティブ スワップでは、ピン、差動ペア、またはサブ部品を PCB エディタで一度に 1 つずつスワップできます。インターラクティブ スワップのコマンドは、ツール(Tools) » ピン/パートのスワッピング(Pin/Part Swapping)サブメニューにあります。メニューからコマンドを選択すると、スワップ可能なピンがハイライト表示されます。スワップを実行するために必要な手順はステータス行に表示されます。

  1. まず、ピン スワップのソースとなる、ハイライト表示されたピンのいずれかを選択します。ペアまたは部品のスワップの場合は、ピンが属する差動ペアまたはサブ部品が後でスワップされます。
  2. 次に、スワップのターゲット ピンを選択します。ペアまたは部品のスワップの場合、このピンは、差動ペアまたはサブ部品を代表するものとなります。

図 4 の例を引き続き使用して、デュアル 5 インプット NOR ゲート コンポーネントについて部品のインターラクティブ スワップを実行する場合の各段階を図 8 および図 9 に示しています。スワップ可能なサブ部品が 2 つあるため、それらの 5 つの各ピンを図 7 で選択できます。サブ部品 U2B に対応するピン 8 を選択します。これにより、スワップ可能なサブ部品 U2A のピンがハイライト表示されます。

http://techdocs.altium.com/sites/default/files/resize/wiki_attachments/231645/OR_before-500x369.png

図 8: ピンのインターラクティブ スワップ ツールを使用する最初の手順では、スワップするピンを選択します。スワップ可能なピンがハイライト表示されます。

http://techdocs.altium.com/sites/default/files/resize/wiki_attachments/231645/OR_after-500x369.png

図 9: ピンのインターラクティブ スワップ ツールを使用する次の手順では、ピン スワップのターゲットとなるピンを選択します。

ネット/ピンの自動最適化

ネット/ピンの自動最適化は 2 段階のツールです。自動最適化を実行するには、PCB エディタのメニューからツール(Tools) » ピン/パートのスワッピング(Pin/Part Swapping) » ネット/ピンの自動最適化(Automatic Net/Pin Optimizer)を選択します。

ネット/ピンの自動最適化では、まず、高速のシングルパス最適化が実行され、クロスオーバーの数と接続の長さを最小にすることが試みられますが、実際には、増加することがあります。この処理が完了すると、反復最適化を実行するかどうかの確認を求められます。反復最適化では、クロスオーバーの数を減らし、接続の長さを短くするために複数のパスが実行されます。

http://techdocs.altium.com/sites/default/files/wiki_attachments/231645/optimizer+results.png

回路図への変更の適用

ピン スワップの設定(Configure Pin Swapping)ダイアログでスワップ グループを構成すると、コマンドの起動時にアクティブだったエディタに関係なく、編集した内容が即座に回路図コンポーネントに適用されます。ただし、PCB エディタでピン、差動ペア、またはサブ部品のスワップを実行した結果としてのデザインの変更を回路図に反映するには、標準のデザイン更新プロセスを使用します。

PCB から回路図への変更のプッシュ

ピン、ペア、および部品のスワップを回路図に渡すには、他のデザインの変更を転送する場合と同様に、メニューからデザイン(Design) » 更新(Update)を選択します。ピン スワップの許可オプションがどのように構成されているかに応じて、ピン スワップは次のように実行されます。

  • ピン名を変更する - この変更では、シンボル上のピンが移動されます。ピンが実際にシンボル上で移動するわけではなく、内部で 2 つのピンの定義がスワップされます。ただし、視覚的には、2 つのピンが場所をスワップして移動したように見えます。
  • ピンを別のネットに移動する - この変更では、アタッチされたワイヤ上のネット ラベルがスワップされます。
  • サブ部品 ID を変更する - この変更では、部品スワップが実行されると、単にサブ部品のインデックスが変更されます。

http://techdocs.altium.com/sites/default/files/wiki_attachments/231645/pin+swapping,+move+pins+on+sch,+highlighted.png

図 10: 上の画像は、ネット名を変更することにより、回路図で解決されたピン スワップを示しています。

http://techdocs.altium.com/sites/default/files/wiki_attachments/231645/pin+swapping,+move+net+labels+on+sch,+highlighted.png

図 11: 上の画像は、ピン名を変更することにより、回路図で解決されたピン スワップを示しています。これは、常に最適な解決策であるとは限りません。FPGA の場合は、下の画像のように、ネット ラベルを移動することにより、ピンを別のネットに移動する方が適切な解決策です。

スワップされたピンまたは部品を表示するように回路図が更新されていない場合は、End キーを押して表示をリフレッシュします。

アクティブ ドキュメント内の選択したテキストや画像に関する問題を報告します。