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