ピン、ペア、パーツの入れ替え
Altium Designerのインタラクティブ配線およびBGAエスケープ配線機能と調和して動作するのが、ピン、差動ペア、および部品の交換システムです。この機能は従来のピン交換システムのすべての利点を提供しますが、設計内のネット割り当てに関するAltium Designerの深い理解を活用します。ピン交換操作中に、Altium Designerは選択されたピンに割り当てられたネットを分析し、ピンおよび接続された銅にネットを動的に再割り当てします。
このレベルの機能性は、部分的に配線されたネットや、複雑なBGAデバイスからのプリ配線されたマルチレイヤーエスケープを交換できることを意味します。差動ペアも交換でき、FPGA上の差動ピンペアに関する知識を活用できます。
PCBレベルでは、この情報を使用して動的にネットを再割り当てし、配線の改善を図る強力な自動最適化システムが含まれています。例えば、複数のレイヤーにエスケープ配線された複数のデバイスに対して、再接続を行うことができます。これは、エスケープルートレイヤーの一致、最短のマンハッタン配線距離、および各レイヤー上のクロスオーバーの最小数に基づいて割り当てられます。
部分的に配線されたネットの追加と自動最適化機能を組み合わせることで、階層的かつ反復的な配線戦略を採用することができます。まずデバイスからのエスケープ配線を行い、次に特定のエリアの端まで配線し、最終的にこれらのセクションを接続します。自動スワッパーは、部分的に配線されたネットによって提供される更新された情報に基づいて、いつでも再実行して再最適化することができます。
スワッピングには3つのカテゴリーがあります:
-
ピンスワッピング
-
差動ペアスワッピング
-
サブパートスワッピング
スワップグループの設定
各カテゴリーのスワッピングにおいて、スワップグループは、コンポーネント内で何が交換可能で何が交換不可能かを決定します。ピンスワッピングの場合、共通のピングループを共有するコンポーネント内のピンは、互いに交換することができます。同様に、ペアスワッピングとパーツスワッピングにおいては、それぞれペアグループとパートグループの値が、差動ペアまたはサブパートが交換可能であることを決定します。コンポーネントのスワップグループは、下の画像に示されているConfigure Pin Swappingダイアログで設定されます。以下の方法でアクセスできます:
-
PCBドキュメントで、コンポーネントを右クリックし、Component Actions » Configure Pin/Part Swappingを選択します。
-
Schドキュメントで、コンポーネントを右クリックし、Part Actions » Configure Pin Swappingを選択します。
-
Configure Swapping Information In Componentsダイアログの下部にあるConfigure Componentボタンをクリックします(ツール » ピンの入れ替えを設定)。
-
PCBドキュメントで、Configure Swapping Information In Componentsダイアログ(Tools » Pin/Part Swapping » Configur)の下部にあるConfigure Componentボタンをクリックします。
-
Configure Swapping Information In Componentsダイアログ内の任意のコンポーネントをダブルクリックします。
ピングループ
コンポーネント内のピンが同じピングループ(同じピングループ値を持つ)に属している場合、そのピンはコンポーネント内の別のピンと交換可能です。ピングループは各ピンの属性であり、その値は任意の英数字の文字列にすることができます。ピングループは、ピンスワッピングの設定ダイアログでコンポーネント全体に設定されます。
上記の画像に示された回路図を考えてみましょう。これには、SNJ54S260コンポーネント用の2つの5入力NORゲートが含まれています。NORゲートの性質上、INA0からINA4までの各ネットは互いに交換可能です。同様に、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ゲートの例では、部品の交換時に入力ピンが出力ピンと交換されないことが重要です。下の画像では、シーケンスIDがOUTAがOUTBと、INA0がINB0と、INA1がINB1となるように設定されています。
パートスワッピングは、2つのサブパーツ間のすべてのネットを交換することに基づいているため、サブパーツとして設計されたコンポーネントにのみ利用可能であることに注意してください。
ペアグループ
差動ペアの交換は、差動ペアのペアグループの値によって管理されます。ペアグループ属性は、Configure Pin SwappingダイアログのDifferential Pair Swappingタブでアクセスできます。Differential Pair Swappingタブには、左下のドロップダウンボックスから設定できる3つのモードがあります。
-
Show Pairs From Directives - システムは、回路図に配置された差動ペアディレクティブを使用して、テーブル内の差動ペアを表示します。
-
Show Pairs From FPGA - システムは、コンポーネントに利用可能なFPGA情報から取得した差動ペアデータを使用してピンをペアリングします。このモードは、コンポーネントがFPGAの場合に利用可能です。
-
Show All Pins - システムは、すべてのコンポーネントピンを表示します。
回路図上でのスワップの制御方法
PCBエディタでは、ピン、ペア、およびパーツのスワップは、コンポーネントのパッドと対応する銅にネットを交換することによって実行されます。変更が回路図にマージされるとき、ピンスワップを処理する方法は2つあります。一つは、コンポーネントシンボル上のピンをスワッピングすること、もう一つは、ピンに接続されたワイヤーのネットラベルをスワッピングすることです。それぞれのアプローチには利点と欠点があります。
ピンを交換することは回路図上では常に可能ですが、このコンポーネントのシンボルがライブラリで定義されたものとは異なるものになる可能性があります。この状況では、シンボルをライブラリから更新することができず、また、この設計内の同じコンポーネントの他のインスタンスとピン配置が異なることを意味します。したがって、このアプローチは、抵抗器の配列などの単純なコンポーネントには理想的です。
回路図上でネットラベルを交換することによってスワップを行う方法は、接続がネットラベルを通じて確立されており、ピンがハードワイヤードされていない場合にのみ実行できます。このアプローチの利点は、コンポーネントのシンボルが変更されず、後日ライブラリから更新できることです。このアプローチは、FPGAのような複雑なコンポーネントにとって最適な選択です。シンボル上で物理的に2つのピンを移動すると、I/Oバンクベースのシンボルが誤って表示される可能性があります。
スワップの実行方法は、Adding / Removing Net-LabelsまたはChanging Schematic Pinsオプションを選択することで決定できます。これらはProject Options - OptionsダイアログのAllow Pin Swapping Using these Methodsセクションにて設定できます。下記の通りです。
れらのプロジェクトオプションは、回路図ドキュメント内でピンスワップがどのように更新されるかを管理します。
PCB上でのピン、ペア、およびパーツのスワップを有効にする
スワップグループ属性は、コンポーネント内でピン、ペア、およびパーツのスワップを設定するために必要ですが、これらの属性は回路図コンポーネントに保存されています。しかし、この情報を使用するのは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ダイアログでコンポーネントをダブルクリックすると、そのコンポーネントのピンスワッピングの設定ダイアログが開き、ピン、差動ペア、サブパーツのスワップグループ設定を定義できます。
ピン、ペア、パーツのスワップを実行する
インタラクティブなピン、ペア、パーツのスワッピング
インタラクティブなスワッピングでは、ピン、差動ペア、またはサブパーツをPCBエディタで一度に1つずつ交換できます。インタラクティブなスワッピングコマンドは、Tools » Pin/Part Swappingサブメニューにあります。メニューからコマンドを選択すると、交換可能なピンが強調表示されます。スワップを実行するために必要な手順は、ステータスラインに表示されます:
- 最初のステップは、ピンスワップのソースとなる強調表示されたピンのうちの1つを選択することです。ペアまたはパーツの交換の場合、ピンが属する差動ペアまたはサブパーツがその後交換されます。
- 2番目のステップは、スワップの対象となるピンを選択することです。ペアまたはパーツの交換の場合、このピンは差動ペアまたはサブパーツを代表するものになります。
以下の2つの画像に、デュアル5入力NORゲートコンポーネントの部品を対話的に交換する段階が示されています。交換可能な2つのサブパーツがあり、上の画像に示されているように、それぞれの5つのピンを選択できます。ピン8がサブパーツU2Bに対応して選択されます。システムは次に、交換可能なサブパーツU2Aのピンをハイライト表示します。
自動ピン/ネット最適化ツール
自動ピン/ネット最適化ツールは二段階のツールです。Tools » Pin/Part Swapping » Automatic Pin/Net OptimizerをPCBエディターメニューから選択し、自動最適化を実行します。
自動ピン/ネット最適化ツールは、最初にクロスオーバーや接続長を最小限に抑えることを試みる高速のシングルパス最適化を行いますが、それによって実際にこれらを増加させる可能性があります。これが完了すると、反復最適化を実行するかどうかを尋ねられます。反復最適化は、クロスオーバーや接続長の数を減らすために複数回のパスを実行します。
変更を回路図に反映させる
スワップグループをConfigure Pin Swappingダイアログで設定すると、コマンドが起動されたエディターが何であれ、編集内容は直ちに回路図のコンポーネントに適用されます。しかし、PCBエディターでピン、差動ペア、またはサブパートのスワップを行った結果生じる設計変更は、標準の設計更新プロセスを使用して回路図に反映されます。
PCBから回路図への変更の反映
ピン、ペア、およびパーツのスワップは、他の設計変更が転送されるのと同じ方法で回路図に戻されます - メニューからDesign » Updateを選択することによってです。Project Options - OptionsダイアログでAllow Pin-Swappingオプションがどのように設定されているかによって、ピンスワップは以下のように実行されます:
- ピン名の変更 - この変更により、シンボル上のピンが移動します。ピンは実際にはシンボル上で移動されませんが、2つのピンが移動したり、位置を交換したりしているように視覚的に明らかになります。
- 異なるネットへのピンの移動 - この変更により、接続されたワイヤーのネットラベルが交換されます。
- サブパートIDの変更 - この変更により、部品交換が行われたときのサブパートのインデックスが変更されます。
最初の画像は、ピンを交換することで回路図上で解決されたピンスワップを示しています。2番目の画像は、ネットラベルを移動することでスワップが解決されたことを示しています。
回路図がピンや部品の交換を表示しない場合は、End キーを押して表示を更新してください。
FPGA設計で新しいピン/部品スワップシステムを活用する
インテリジェントなピン、ペア、部品のスワップが提供する明らかな利点に加えて、部分的に配線されたサブネットをスワップできる機能は、大容量FPGAを扱う際に理想的な新しい次元のスワッピングをもたらします。動的なネットの再割り当てにより、徐々に洗練されたピン/ネットの割り当てを伴う多段階の設計プロセスを使用できます
初期I/O割り当て
この段階では、FPGAやその他のデバイスのピンに、回路図レベルで最も簡単な方法でネット割り当てが設定されます。通常、これはFPGAのピンに数値バス順でネットラベルを追加することを意味します。スマートペースト機能は、回路図エディターでこれを行うのに理想的です。
初期接続の最適化
設計はPCBレイアウトに移行され、回路図レベルでのランダムな割り当てのために多くの接続クロスオーバーが発生します。Automatic Net/Pin Optimizerコマンドを実行すると、クロスオーバーの数を大幅に減らすことができます。結果が理想的である必要はありませんが、主にPCBレベルで接続を視覚的に管理しやすくするために使用されます。
エスケープ配線
ファンアウトとエスケープ配線は、PCB上の大きなデバイスで実行できるようになりました(コンポーネントを右クリックして、ファンアウト/エスケープ配線を選択的に実行します)。これにより、以前に最適化された割り当てが悪化する可能性がありますが、この時点では問題ありません。
エスケープ接続の最適化
自動最適化を再度実行します。今回は、ファンアウト/エスケープ配線の事前に配線されたセクションを利用します。
手動配線
これで、エスケープルートの端を「ターゲット」として扱うことができます。実際の接続線を無視して、PCB上で最も近いエスケープされたI/Oルート(空間的にも層においても)に向かって、ネットの他の端から配線できるため、同じネット上にあるものに向かって配線する必要はありません。接続は一致しません。代わりに、FPGA I/Oピンからのエスケープ配線と、PCBの他の部分から来る配線の間に、一連の小さな隙間ができます。下の画像は、これの簡単な例を示しています。
最終最適化
自動最適化機能を再度実行すると、配線されたサブネットが可能な限り近いエスケープされたI/Oピンに割り当てられます。これにより、完了するための非常に短い接続がいくつか残ります。自動最適化機能には、この場合に良い結果を出すための特別なルーチンがあります。これらは、今や対話的に、または自動的に配線することができます。
手動でのピン交換
特定のピン交換の変更を行うために、インタラクティブな交換機能を使用してください。
変更を回路図に反映させる
これらのピン割り当てを回路図に反映させる準備ができたら、回路図のシンボル上でのピン変更を無効にすることをお勧めします。これは、FPGAがしばしば複数部品のコンポーネントとして提示され、各ピンバンクが別の回路図部品であるためです。ピンを一つの部品から別の部品に移動すると、そのバンクシンボルにはそのバンクに属さないピンが含まれるため、これらのシンボルが論理的に不正確になる可能性があります。この状況では、ネットラベルを変更することによってピン交換を行うのが正しいアプローチです。
必要な回数だけ繰り返す
このプロセスは、設計プロセスのどの段階でも、必要な回数だけ実行できます。