設計でコンポーネントのピンを交換できることは、レイアウトの複雑さに大きな違いをもたらし、PCBの層数(そしてコスト)を下げるのに役立ちます。残念ながら、レイアウトエンジニアは、設計者の完全な意図を常に把握しているとは限らないため、ピン交換設定を賢明に設定するために必要なすべての情報を持っているとは限りません。理想的には、設計をキャプチャした人もピン交換データの設定に関与し、設計意図と制約が正確にキャプチャされるようにするべきです。
Altium Designerのインタラクティブ配線およびBGAエスケープ配線機能と調和して動作するのは、ピン、差動ペア、および部品交換システムです。この機能は従来のピン交換システムのすべての利点を提供しますが、設計内のネット割り当てに関するAltium Designerの詳細な理解を活用します。ピン交換操作中に、Altium Designerは選択されたピンに割り当てられたネットを分析し、ピンおよび接続された銅にネットを動的に再割り当てします。
この機能レベルは、部分的に配線されたネットや複雑なBGAデバイスからのプリ配線されたマルチレイヤーエスケープを交換できることを意味します。差動ペアも交換でき、FPGA上の差動ピンペアに関する知識を活用できます。
PCBレベルでは、この情報を使用してネットを動的に再割り当てし、配線可能性を向上させる強力な自動オプティマイザーがシステムに含まれています。たとえば、システムは複数のレイヤーでエスケープ配線された複数のデバイスを再接続できます。これは、エスケープルートレイヤーの一致、最短のマンハッタン配線距離、および各レイヤー上のクロスオーバーの最小数に基づいて割り当てられます。
部分的に配線されたネットの交換と自動オプティマイザーの追加により、階層的かつ反復的な配線戦略を採用できるようになります。まずデバイスのエスケープ配線を行い、次に特定のエリアの端まで配線し、最終的にこれらのセクションを接続します。自動スワッパーは、部分的に配線されたネットによって提供される更新された情報に基づいて、いつでも再最適化を実行できます。
交換のカテゴリーは3つあります:
スワップグループの設定
Copy Link
Copied
交換の各カテゴリーについて、スワップグループがコンポーネント内で何を交換できるか、何を交換できないかを指示します。ピン交換の場合、共通のピングループを共有するコンポーネント内のピンは互いに交換可能です。同様に、ペア交換とパート交換の場合、ペアグループおよびパートグループの値がそれぞれ差動ペアまたはサブパートを交換できることを決定します。コンポーネントのスワップグループは、以下に示す画像のピン交換の設定ダイアログで設定されます。次の方法でアクセスできます:
-
PCBドキュメントで、コンポーネントを右クリックしてからComponent Actions » Configure Pin/Part Swappingを選択します。
-
回路図ドキュメントで、コンポーネントを右クリックしてからPart Actions » Configure Pin Swappingを選択します。
-
回路図ドキュメントで、Configure Componentボタンをクリックして、Configure Swapping Information In Componentsダイアログ (Tools » Configure Pin Swapping)の下部にあります。
-
PCBドキュメントで、Configure Componentボタンをクリックして、Configure Swapping Information In Componentsダイアログ (Tools » Pin/Part Swapping » Configure)の下部にあります。
-
Configure Swapping Information In Componentsダイアログ内の任意のコンポーネントをダブルクリックします。
Configure Pin Swappingダイアログのオプションとコントロール
Copy Link
Copied
Pin Swappingタブ

Pin Swappingタブ
コンポーネントのピンが同じピングループに属している場合、そのコンポーネント内の別のピンと交換可能です。このダイアログのタブを使用して、コンポーネントのピングループを表示および整理します。
-
Pin Status - 各ピンのDesignator、Pin Name、Net、Bus、Type、Part Noをリストします。データは、列ヘッダーをDrag a column header here to group by that column領域にドラッグアンドドロップすることで、好みやプロジェクトの要件に応じてグループ化できます。また、列ヘッダーを別の水平方向の順序にドラッグすることで、順序を変更することもできます。
-
Swap Data - ピンを交換するための各Pin Group情報をリストします。Pin Group列内をダブルクリックしてグループの名前を変更します。
右クリックメニュー
-
Show/Hide Columns - 表示される列を構成するために使用します。
-
Assign Pin-Swap Groups By - Designator、Pin Name、Net、Bus、Type、Part No.、Part Mod、またはPin Groupによって、ピンスワップグループを自動的に割り当てます。同時にグループを割り当てるには、右クリックする前に複数のピンを選択してください。
-
Add To Pin-Swap Group - 新しいピン交換グループを作成するか、既存のピン交換グループに追加するために使用します。新しいピン交換グループは、自動的に数値(例:1、2、3など)を使用して名前が付けられます。右クリックする前に複数のピンを選択することで、同時に複数のピンを追加できます。
-
Remove From Pin-Swap Group - 選択したピンをピンスワップグループから削除するために使用します。右クリックする前に複数のピンを選択することで、同時に複数のピンを削除できます。
Differential Pair Swappingタブ

Differential Pair Swappingタブ
差動ペアの入れ替えは、差動ペアのペアグループの値によって制御されます。このダイアログのタブを使用して、コンポーネントのペアグループを表示および整理します。
-
Pin Status - 各ピンのDesignato、Pin Name、Net、およびTypeをリストします。データは、列ヘッダーをDrag a column header here to group by that column領域にドラッグアンドドロップすることで、好みやプロジェクトの要件に応じてグループ化できます。また、列ヘッダーを別の水平方向の順序にドラッグすることで、順序を変更することもできます。
-
Swap Data - ペアを交換するための各ペアのPair Group情報をリストします。Pair Group列内をダブルクリックしてグループの名前を変更します。
右クリックメニュー
-
Show/Hide Columns - 表示される列を構成するために使用します。
-
Add To Pair-Swap Group - 新しいペアスワップグループを作成したり、既存のグループに追加するために使用します。新しいペアスワップグループは、数値(例:1、2、3など)を使用して自動的に名前が付けられます。右クリックする前に複数のペアを選択することで、同時に複数のペアを追加できます。
-
Remove From Pair-Swap Group - 選択したペアをペアスワップグループから削除するために使用します。複数のペアを右クリックする前に選択することで、同時に複数のペアを削除できます。
Part Swappingタブ

Part Swappingタブ
コンポーネントの部品交換は、部品グループとシーケンスID属性で構成されています。シーケンスID属性は、交換可能なサブパーツ間のピンの同等性を決定します。このダイアログのタブを使用して、コンポーネントの部品グループを表示および整理します。
右クリックメニュー
-
Add To Part-Swap Group - 新しいパーツスワップグループを作成したり、既存のパーツスワップグループに追加するために使用します。新しいパーツスワップグループは、数値(例:1、2、3など)を使用して自動的に名前が付けられます。右クリックする前に複数のパーツを選択することで、同時に複数のパーツを追加できます。
-
Remove From Part-Swap Group - 選択したパーツをパーツスワップグループから削除するために使用します。複数のパーツを選択して右クリックすることで、一度に複数のパーツを削除できます。
-
Show/Hide Columns - ダイアログのPin Swappingタブでどの列を表示するかを決定するために使用します。
-
Assign/Remove Part Sequence Number - シーケンスID 属性は、スワップ可能なサブパーツ間のピンの等価性を決定します。新しいシーケンスID グループを作成するか、既存のグループに追加します。複数のパーツを選択して右クリックすることで、一度に複数のパーツをシーケンスID に追加/削除できます。新しいグループは自動的に数値(例:1、2、3など)を使用して名前が付けられます。シーケンスID列内をダブルクリックしてグループの名前を変更します。
ピングループ
コンポーネントのピンは、同じピングループ(同じピングループ値を持つ)に属している場合にのみ、他のピンと交換可能です。ピングループはコンポーネント内の各ピンの属性であり、その値は任意の英数字の文字列にすることができます。ピングループは、Configure Pin Swappingダイアログでコンポーネント全体に設定されます。
デュアル5入力ポジティブNORゲートコンポーネントを含む回路図。サブパーツのいずれかの入力ピンは論理的に等価であり、ピンスワッピングに最適な状況を示しています。
上の画像に示された回路図を考えてみましょう。これには、SNJ54S260コンポーネントの2つの5入力NORゲートが含まれています。各ネット、INA0からINA4まで、NORゲートの性質により互いに交換可能です。同様に、各ネットINB0からINB4まで交換可能ですが、INAxネットはINBxネットと交換できません。
NORゲートの交換制約は、ピンスワッピングの設定ダイアログで定義されます。ネットINAxにスワップグループ1を、ネットINBxにスワップグループ2を割り当てることで、システムによる交換がコンポーネントのロジックと一致するようにのみ実行されることが保証されます。ピンのピングループ値を空にすると、そのピンはスワッピングの対象外であることを示します。
パーツグループとシーケンスID
コンポーネントが複数の機能的に等価なサブパーツで構成されていることは一般的です。パーツスワッピングにより、そのような等価なサブパーツのネットを交換できます。再び上の画像に示されたコンポーネントを考えてみましょう。両方のNORゲートは同一の機能を提供し、ネット(INA0、INA1、INA2、INA3、INA4、OUTA)はネット(INB0、INB1、INB2、INB3、INB4、OUTB)と交換可能です。
コンポーネントのパーツスワッピングは、パーツグループおよびシーケンスID属性を使用して設定されます。これらは両方ともテキスト属性であり、Configure Pin SwappingダイアログのPart Swappingタブでアクセスできます。下の画像には、上の画像に示されたコンポーネントに対応するパーツグループおよびシーケンスIDの設定も表示されています。パーツグループは、どのサブパーツが互いに交換可能であるかを示します。画像の下では、2つのサブパーツが交換可能であるため、それらのパーツグループには同じ値1が与えられています。
シーケンスID属性は、スワップ可能なサブパーツ間のピンの等価性を決定します。NORゲートの例では、パーツスワップが発生したときに入力ピンが出力ピンと交換されないことが重要です。下の画像は、OUTAがOUTBと、INA0がINB0と、INA1がINB1となどのように交換されるようにシーケンスIDが設定されていることを示しています。
デュアル5入力NORゲートコンポーネントのピンスワッピングの設定ダイアログでパーツスワップグループを設定する。
パーツスワッピングは、サブパーツとして設計されたコンポーネントにのみ利用可能であり、2つのサブパーツ間のすべてのネットを交換することに基づいています。
ペアグループ
差動ペアの交換は、差動ペアのペアグループ値によって管理されます。ペアグループ属性は、ピンスワッピングの設定ダイアログのDifferential Pair Swappingタブでアクセスされます。Differential Pair Swappingタブには、左下隅のドロップダウンボックスにアクセスすることで設定できる3つのモードがあります。
-
Show Pairs From Directives - システムは、回路図に配置された差動ペア指示を使用して、表内の差動ペアを埋めます。
-
Show Pairs From FPGA - このシステムは、コンポーネントに利用可能なFPGA情報から取得した差動ペアデータを使用してピンをペアリングします。このモードは、コンポーネントがFPGAである場合に利用可能であることに注意してください。
-
Show All Pins - システムはすべてのコンポーネントピンを表示します。
Configure Pin Swappingダイアログでペアスワップグループを設定する。
回路図上でスワップがどのように実行されるかを制御する
PCBエディタでは、ピン、ペア、部品のスワップは、コンポーネントパッドと対応する銅のネットを交換することによって行われます。変更が回路図に統合されると、ピンスワップを処理する方法は2つあり、コンポーネントシンボル上のピンを交換するか、ピンに接続されたワイヤ上のネットラベルを交換するかのいずれかです。それぞれのアプローチには利点と欠点があります。
ピンを入れ替えることは常に回路図上で機能しますが、これはコンポーネントシンボルのこのインスタンスがライブラリで定義されたものとは異なることを意味する場合があります。この状況では、シンボルはライブラリから更新できず、この設計内の同じコンポーネントの他のインスタンスは異なるピン配置を持つことになります。したがって、このアプローチは抵抗アレイのような単純なコンポーネントに最適です。
回路図上でネットラベルを入れ替えることによるスワップは、ネットラベルを通じて接続が確立されている場合、かつピンがハードワイヤリングされていない場合にのみ行うことができます。このアプローチの利点は、コンポーネントシンボルが変更されず、後でライブラリから更新できることです。このアプローチは、FPGAのような複雑なコンポーネントにとって最良の選択肢であり、シンボル上の2つのピンを物理的に移動させると、I/Oバンクベースのシンボルが不正確に表示される可能性があります。
スワップの実行方法は、Project Options - Optionsダイアログの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エディタからアクセスできます。
ピン、ペア、および部品のスワッピングをコンポーネント内で設定するために必要なスワップグループ属性は、回路図コンポーネントに保存されています。しかし、この情報はPCBエディタで使用され、各PCBコンポーネントにはそのピンのスワッピングを許可するオプションがあります。したがって、PCBエディタからダイアログを使用する方が簡単な場合があります。
コンポーネント間のスワッピングを迅速に定義するには、Configure Swapping Information in Componentダイアログを使用します。このダイアログには強力な右クリックメニューが含まれており、1つのコンポーネントから別のコンポーネントに設定を迅速にコピーしたり、1回のクリックで複数のコンポーネントを有効/無効にすることが非常に簡単です。
Configure Swapping Information In Componentsダイアログ
Configure Swapping Information in Componentsダイアログでコンポーネントをダブルクリックすると、そのコンポーネントのConfigure Pin Swappingダイアログが開き、ピン、差動ペア、およびサブパーツのスワップグループ設定をより詳細に定義できます。
ピン、ペア、およびパーツのスワップを実行する
Copy Link
Copied
インタラクティブなピン、ペア、およびパーツのスワッピング
インタラクティブなスワッピングにより、PCBエディタでピン、差動ペア、またはサブパーツを一度に一つずつスワップできます。インタラクティブなスワッピングコマンドは、Tools » Pin/Part Swappingサブメニュー(Interactive Pin/Net Swapping、Interactive Differential-Pair Swapping および Interactive Part Swappingコマンド)で見つけることができます。メニューからコマンドを選択すると、PCB設計スペース内のすべてがマスクされ(薄く表示され)、スワップ可能なエンティティのみが表示されます。 Status Barに注意して、次のアクションを促します。スワップを実行するために必要な手順がステータスラインに表示されます:
-
最初のステップは、ピンスワップのソースになるハイライトされたピンのうちの1つを選択することです。ペアまたはパーツのスワッピングの場合、そのピンが属する差動ペアまたはサブパーツがその後スワップされます。
-
二番目のステップは、スワップの対象となるピンを選択することです。ペアまたはパーツのスワッピングの場合、このピンは差動ペアまたはサブパーツを代表します。
スワップ可能なピンがハイライトされない2つの条件があります:そのピンにすでに配線された接続がある(電源プレーンやポリゴン接続を確認)、および/またはPin Swappingオプションが有効になっていない(設定パネルのインタラクティブ配線モードで利用可能)。
デュアル5入力NORゲートコンポーネントのインタラクティブな部分交換の段階が、以下の2つの画像に示されています。交換可能な2つのサブパーツがあり、それぞれの5つのピンを選択できることを示しています。画像の上部に示されているように、サブパートU2Bに対応するピン8が選択されています。システムは次に、交換可能なサブパートU2Aのピンをハイライトします。
最初の画像、ステップ1 - 交換するピンを選択します。利用可能なピンがハイライトされます。次の画像、ステップ2 - 対象のピンを選択します。
自動ピン/ネット最適化ツール
自動ピン/ネット最適化ツールは二段階のツールです。PCBエディターメニューからTools » Pin/Part Swapping » Automatic Pin/Net Optimizerを選択して自動最適化を実行します。
自動ピン/ネット最適化ツールは、まず交差や接続長を最小限に抑えようとする高速の単一パス最適化を実行しますが、実際にはそれらを増加させる可能性があります。これが完了すると、反復最適化ツールを実行するかどうか尋ねられます。反復最適化ツールは、交差や接続長の数を減らすために複数回のパスを実行します。
回路図に変更を反映する
Copy Link
Copied
Configure Pin Swappingダイアログでスワップグループを設定すると、行った編集は、コマンドが起動されたときにどのエディタがアクティブであったかに関係なく、すぐに回路図コンポーネントに適用されます。ただし、PCBエディタでピン、差動ペア、またはサブパーツのスワップを行った結果としての設計変更は、標準のDesign Updateプロセスを使用して回路図に反映されます。
PCBから回路図への変更を適用する
ピン、ペア、パートのスワップは、他の設計変更が転送されるのと同様に、メニューからDesign » Updateを選択することで回路図に戻されます。Project Options - OptionsダイアログでAllow Pin-Swappingオプションがどのように設定されているかに応じて、ピンスワップは次のように実行されます。
-
ピン名の変更 - この変更により、シンボル上のピンが移動します。ピンは実際にはシンボル上で移動しませんが、2つのピンが移動したり位置を入れ替えたりしたことが視覚的に明らかになります。
-
ピンを異なるネットに移動する - この変更により、接続されたワイヤーのネットラベルが入れ替わります。
-
サブパートIDを変更する - この変更は、パーツの交換が行われたときにサブパートインデックスを変更します。
最初の画像は、ピンを入れ替えることで回路図で解決されたピンの入れ替えを示しています。2番目の画像は、ネットラベルを移動させることで解決された入れ替えを示しています。
回路図が入れ替えられたピンや部品を表示するように更新されない場合は、表示を更新するためにEndキーを押してください。
FPGAデザインにおける新しいピン/パーツ交換システムを活用する
インテリジェントなピン、ペア、パートのスワッピングが提供する明らかな利点に加えて、部分的に配線されたサブネットをスワップする能力は、大容量FPGAで作業するのに理想的な新しい次元をもたらします。動的ネット再割り当てにより、徐々に洗練されたピン/ネット割り当てを使用したマルチステージ設計プロセスを利用できます。
初期I/O割り当て
この段階では、FPGAや他のデバイスのピンは、回路図レベルで最も簡単な方法でネット割り当てが設定されています。通常、これはFPGAのピンに数値バス順でネットラベルを追加することを意味します。回路図エディタのスマートペースト機能は、これを行うのに最適です。
初期接続最適化
設計はPCBレイアウトに転送でき、回路図レベルでのランダムな割り当てのために多くの接続の交差が発生します。ピンとネットの情報を使用してネットを動的に再割り当てし、配線可能性を改善するTools » Pin/Part Swapping » Automatic Net/Pin Optimizerコマンドを実行すると、交差の数が大幅に減少します。たとえば、システムはPCBドキュメントの複数の層で逃げ配線された複数のBGAデバイスを再接続できます。結果は理想的である必要はなく、主にPCBレベルで接続を視覚的に管理しやすくするために使用されます。
コマンドを起動した後、自動ピン/ネット最適化ツールが実行されます。これは、まず交差や接続長を最小限に抑えようとする高速の単一パス最適化ツールを実行し、実際にはそれらを増加させる可能性がある二段階のツールです。これが完了すると、反復最適化ツールを実行するかどうか尋ねられます。反復最適化ツールは、交差や接続長を減少させるために複数回のパスを実行します。最適化の結果は、最適化ツールの実行が完了した後に表示されます。
エスケープ配線
ファンアウトおよびエスケープ配線は、PCB上の大きなデバイスで実行できるようになりました(コンポーネントを右クリックしてファンアウト/エスケープ配線を選択的に実行します)。これにより、以前に最適化された割り当てが悪化する可能性がありますが、現時点ではそれは問題ではありません。
エスケープ接続の最適化
自動最適化を再度実行します。今回は、ファンアウト/エスケープ配線の事前に配線されたセクションを利用します。
手動配線
エスケープルートの端を「目標」として扱い、そこに向かって配線できるようになりました。実際の接続ラインを無視して、PCB上で最も近いエスケープされたI/Oルート(空間的にも層においても)に向かって、ネットの他の端から配線できます。接続は一致しません。代わりに、FPGAのI/Oピンからのエスケープ配線と、PCBの他の部分からの配線の間に一連の小さな隙間ができます。下の画像は、これの簡単な例を示しています。
最終最適化
自動最適化を再度実行し、配線されたサブネットを最も近いエスケープされたI/Oピンに割り当てます。これにより、完了するための非常に短い接続がいくつか残ります。自動最適化には、この場合に良い結果を出すための特別なルーチンがあります。これらは、今や対話的または自動的に配線できます。
手動ピンスワップ
インタラクティブスワッパーを使用して、必要な特定のピンスワップ変更を実行します。
回路図への変更の伝播
これらのピン割り当てを回路図に戻す準備ができたら、回路図シンボル上でのピン変更を無効にすることが良いアイデアです。これは、FPGAがしばしば複数部品のコンポーネントとして提示され、各ピンバンクが別の回路図部品であるためです。一部から別の部へピンを移動すると、そのバンクシンボルにはそのバンクに属さないピンが含まれるため、これらのシンボルが論理的に不正確になります。この状況では、ネットラベルを変更することによるピンスワップを実行するのが正しいアプローチです。
必要に応じて繰り返す
このプロセスは、設計プロセス中のいつでも、必要な回数だけ実行できます。