Swapping Pins, Pairs and Parts in a Design in Altium NEXUS

This documentation page references Altium NEXUS/NEXUS Client (part of the deployed NEXUS solution), which has been discontinued. All your PCB design, data management and collaboration needs can now be delivered by Altium Designer and a connected Altium 365 Workspace. Check out the FAQs page for more information.

 

Altium NEXUSのインタラクティブ配線やBGAエスケープ配線機能と連携して動作するのが、ピン、ディファレンシャルペア、およびパートスワッピングシステムです。この機能は従来のピンスワッピングシステムのすべての利点を提供しつつ、Altium NEXUSが設計内のネット割り当てを深く理解していることを活かしています。ピンスワップ操作中、Altium NEXUSは選択されたピンに割り当てられているネットを解析し、そのピンおよび接続されている銅箔上のネットを動的に再割り当てします。

このレベルの機能により、部分的に配線されたネットや、複雑なBGAデバイスからの事前配線済みの多層エスケープもスワップ可能です。ディファレンシャルペアも、FPGA上のディファレンシャルピンペアに関する知識を活用してスワップできます。

PCBレベルでは、このシステムは強力な自動最適化機能を備えており、この情報を利用して配線のしやすさを向上させるためにネットを動的に再割り当てします。例えば、複数の層でエスケープ配線された複数のデバイスに対して再接続を実行できます。これらは、エスケープルート層の一致、最短マンハッタン距離、各層でのクロスオーバーの最小数に基づいて割り当てられます。

部分的な配線済みネットのスワッピング機能と自動最適化機能の追加により、階層的かつ反復的な配線戦略を採用できます。まずデバイスのエスケープ配線を行い、次に特定エリアの端まで配線し、最終的にこれらのセクションを接続します。いつでも自動スワッパーを再実行して、部分的に配線されたネットから得られる最新情報に基づき再最適化できます。

スワッピングには3つのカテゴリがあります:

  • ピンスワッピング
  • ディファレンシャルペアスワッピング
  • サブパートスワッピング。

スワップグループの設定

各スワッピングカテゴリごとに、swap groupsが、コンポーネント内で何がスワップ可能か、何がスワップ不可かを決定します。ピンスワッピングの場合、同じpin groupを共有するコンポーネント内のピン同士がスワップ可能です。同様に、ペアスワッピングやパートスワッピングの場合は、pair grouppart groupの値によって、それぞれディファレンシャルペアやサブパートがスワップ可能かどうかが決まります。コンポーネントのスワップグループは、Configure Pin Swappingダイアログで設定します(下図参照)。このダイアログには、以下の方法でアクセスできます:

  • 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ダイアログ内の任意のコンポーネントをダブルクリック。

ピングループ

コンポーネント内のピンは、同じpin group(同じpin group値)に属している場合、他のピンとスワップ可能です。pin groupはコンポーネント内の各ピンの属性であり、その値は任意の英数字文字列にできます。コンポーネント全体のpin groupsConfigure Pin Swappingダイアログで設定します。

デュアル5入力正論理NORゲートコンポーネントを含む回路図。いずれのサブパートの入力ピンも論理的に等価であり、ピンスワッピングに理想的な状況です。デュアル5入力正論理NORゲートコンポーネントを含む回路図。いずれのサブパートの入力ピンも論理的に等価であり、ピンスワッピングに理想的な状況です。

上図の回路図を考えてみましょう。この図にはSNJ54S260コンポーネントの2つの5入力NORゲートが含まれています。NORゲートの特性上、INA0~INA4の各ネットは相互にスワップ可能です。同様にINB0~INB4の各ネットもスワップ可能ですが、INAxネットとINBxネットはスワップできません。

NORゲートのスワッピング制約はConfigure Pin Swappingダイアログで定義します。INAxネットにスワップグループ1、INBxネットにスワップグループ2を割り当てることで、システムがコンポーネントの論理に一貫した方法でのみスワッピングを行うようにできます。ピングループ値を空欄にすると、そのピンはスワッピング不可となります。

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

コンポーネントが複数の機能的に等価なサブパートで構成されていることはよくあります。パートスワッピングを使うと、こうした等価なサブパート間でネットをスワップできます。再び上図のコンポーネントを例に考えます。両方のNORゲートは同一の機能を持ち、(INA0, INA1, INA2, INA3, INA4, OUTA)のネットは(INB0, INB1, INB2, INB3, INB4, OUTB)のネットとスワップ可能です。

コンポーネントのパートスワッピングは、part groupおよびsequence ID属性で設定します。これらはどちらもテキスト属性であり、Configure Pin Swapping ダイアログのPart Swapping タブでアクセスできます(下図参照)。下図には、上記コンポーネントに対応するpart groupおよびsequence IDの設定も表示されています。part groupは、どのサブパート同士がスワップ可能かを示します。2つのサブパートはスワップ可能であり、下図では両方のpart groupsに同じ値「1」が設定されています。

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

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

パートスワッピングは、2つのサブパート間ですべてのネットをスワップすることに基づいているため、サブパートとして設計されたコンポーネントでのみ利用可能です。

ペアグループ

ディファレンシャルペアのスワッピングは、ディファレンシャルペアのpair group値によって制御されます。pair group属性はDifferential Pair SwappingタブのConfigure Pin Swappingダイアログでアクセスできます。Differential Pair Swappingタブには左下のドロップダウンボックスから設定できる3つのモードがあります。

  • Show Pairs From Directives - システムは、回路図上に配置されたディファレンシャルペアディレクティブを使用して、テーブル内のディファレンシャルペアを自動生成します。
  • Show Pairs From FPGA - システムは、コンポーネントに利用可能なFPGA情報から得られるディファレンシャルペアデータを使用してピンをペアにします。このモードはコンポーネントがFPGAの場合に利用可能です。
  • Show All Pins - システムはすべてのコンポーネントピンを表示します。

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

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

PCBエディタでは、ピン、ペア、パートのスワップは、コンポーネントパッドおよび対応する銅箔上のネットを交換することで行われます。これらの変更を回路図にマージする際、ピンスワップの処理方法には2つあり、コンポーネントシンボル上のピンを入れ替える方法と、ピンに接続されたワイヤ上のネットラベルを入れ替える方法があります。それぞれに利点と欠点があります。

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

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

スワップの実行方法は、Project Options - OptionsダイアログのAllow Pin Swapping Using these MethodsセクションのAdding / Removing Net-Labels またはChanging Schematic Pinsオプションで選択して決定できます(下図参照)。

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

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

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

PCBコンポーネントのスワップオプションは、設計空間で選択した際にそのコンポーネントのプロパティを表示するPropertiesパネルで設定できます。オプションはGeneral タブのSwapping Options領域にあります。

Configure Swapping Information in Components ダイアログには、設計で使用されているすべてのコンポーネント(SCHlib/PCBlibを含む)が現在のスワップ設定とともに一覧表示されます。PCBエディタからアクセスした場合、Configure Swapping Information in Componentsダイアログには、基板上の各コンポーネントのスワップの有効/無効を切り替える追加の列Enable in PCBが含まれます。Configure Swapping Information in Components ダイアログはTools » Configure Pin Swappingコマンドからアクセスします。

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

Configure Swapping Information in Components ダイアログには強力な右クリックメニューがあり、1つのコンポーネントから別のコンポーネントへ設定を素早くコピーしたり、複数のコンポーネントをワンクリックで有効/無効にしたりできます。

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

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

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

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

  1. 最初のステップは、スワップ元となるハイライトされたピンのいずれかを選択します。ペアまたはパートスワップの場合、ピンが属する差動ペアまたはサブパートがその後スワップされます。
  2. 2番目のステップは、スワップ先となるピンを選択します。ペアまたはパートスワップの場合、このピンは差動ペアまたはサブパートを代表します。

デュアル5入力NORゲートコンポーネントのサブパートスワップをインタラクティブに行う手順は、下の2つの画像で示されています。スワップ可能な2つのサブパートがあり、それぞれの5つのピンが選択可能です(上図参照)。ピン8が選択され、サブパートU2Bに対応します。システムは次に、スワップ可能なサブパートU2Aのピンをハイライトします。

1枚目の画像、ステップ1 - スワップするピンを選択、利用可能なピンがハイライトされます。2枚目の画像、ステップ2 - 対象ピンを選択します。  1枚目の画像、ステップ1 - スワップするピンを選択、利用可能なピンがハイライトされます。2枚目の画像、ステップ2 - 対象ピンを選択します。

自動ピン/ネット最適化ツール

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

自動ピン/ネット最適化ツールは、まずクロスオーバーや接続長を最小化しようとする高速な単一パスの最適化を実行しますが、場合によっては逆に増加することもあります。完了後、反復最適化を実行するかどうかが尋ねられます。反復最適化では、クロスオーバー数や接続長を減らすために複数回のパスを行います。

変更内容を回路図に反映させる

Configure Pin Swappingダイアログでswap groupsを設定すると、どのエディタからコマンドを起動したかに関わらず、編集内容は即座に回路図コンポーネントに適用されます。ただし、PCBエディタでピン、差動ペア、サブパートのスワップを実行した結果生じた設計変更は、標準の Design Updateプロセスを使って回路図に反映されます。

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

ピン、ペア、パートスワップは、他の設計変更と同様に、メニューからDesign » Updateを選択して回路図に反映されます。Allow Pin-SwappingオプションがProject Options - Options dialogでどのように設定されているかによって、ピンスワップは以下のように実行されます:

  • ピン名の変更 - この変更はシンボル上のピンを移動します。実際にはシンボル上でピンが移動するわけではありませんが、2つのピンが移動または入れ替わったことが視覚的に分かります。
  • 異なるネットへのピン移動 - この変更は、接続されたワイヤのネットラベルを入れ替えます。
  • サブパートIDの変更 - この変更は、パートスワップが実行された際にサブパートのインデックスを変更します。

 

1枚目の画像は、ピンの入れ替えによって回路図上でスワップが解決された例です。2枚目の画像は、ネットラベルの移動によってスワップが解決された例です。

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

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

インテリジェントなピン、ペア、パートスワップの明らかな利点に加え、部分的に配線されたサブネットのスワップが可能になったことで、大容量FPGAの設計に最適な新しい次元のスワップが実現しました。動的なネット再割り当てにより、段階的にピン/ネット割り当てを洗練させていくマルチステージ設計プロセスが可能です。

初期I/O割り当て

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

初期接続最適化

設計をPCBレイアウトに転送すると、回路図レベルでのランダムな割り当てのため、多くの接続クロスオーバーが発生します。Automatic Net/Pin Optimizerコマンドを実行すると、クロスオーバー数を大幅に削減できます。この時点では理想的な結果でなくても構いません。主にPCBレベルで接続を視覚的に管理しやすくするためのものです。

エスケープ配線

PCB上の大きなデバイスに対してファンアウトやエスケープ配線を実行できます(コンポーネントを右クリックして選択的にファンアウト/エスケープ配線を実行)。この操作により、以前最適化された割り当てが悪化する場合もありますが、この段階では問題ありません。

エスケープ後の接続最適化

自動最適化ツールを再度実行します。今回は、ファンアウト/エスケープ配線の事前配線部分を活用します。

手動配線

エスケープルートの端を「ターゲット」として扱い、そこに向かって配線できるようになりました。実際の接続ラインは無視して構いません。なぜなら、同じネット上にあるものではなく、PCB上で最も近い(空間的およびレイヤー的に)エスケープされたI/Oルートに向かって、ネットの他端から配線できるためです。接続は一直線にはなりません。その代わり、FPGAのI/Oピンからのエスケープ配線と、PCBの他の部分からの配線との間に小さな隙間がいくつか生じます。下の画像はその簡単な例を示しています。

 

最終最適化

自動最適化ツールを再度実行すると、配線済みのサブネットが最も近いエスケープ済みI/Oピンに割り当てられます。これにより、非常に短い接続だけが残り、完了させることができます。自動最適化ツールには、このケースで良好な結果を得るための特別なルーチンが用意されています。これらは、インタラクティブまたは自動で配線することが可能です。

手動ピンスワップ

インタラクティブスワッパーを使用して、必要なピンスワップの変更を行ってください。

回路図への変更の反映

これらのピン割り当てを回路図に反映させる準備ができたら、回路図シンボルでのピン変更を無効にしておくことをお勧めします。これは、FPGAがしばしばマルチパート部品として提示され、各ピンバンクが個別の回路図パートとなっているためです。ピンをあるパートから別のパートに移動すると、バンクシンボルに本来そのバンクに属さないピンが含まれることになり、論理的に不正確になります。このような場合、ネットラベルを変更してピンスワップを行うのが正しい方法です。

必要に応じて繰り返し実行

このプロセスは、必要な回数だけ、また設計プロセスの任意のタイミングで実行できます。

AI-LocalizedAI-localized
If you find an issue, select the text/image and pressCtrl + Enterto send us your feedback.
Content