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