ピン、ペア、パーツの入れ替え
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 Swappinメニュー項目を選択することでアクセスできます。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の属性で設定されます。これらは両方ともテキスト属性であり、下に示すようにConfigure Pin Swappingダイアログのパートタブでアクセスできます。上の画像に示されたコンポーネントに対応するパートグループとシーケンスIDの設定を表示します。パートグループは、どのサブパーツを互いに交換できるかを示します。2つのサブパーツは交換可能であり、その結果、下の画像では、それらのパートグループには同じ値1が与えられています。
シーケンスID属性は、交換可能なサブパーツ間でのピンの等価性を決定します。NORゲートの例では、部品の交換時に入力ピンが出力ピンと交換されないことが重要です。下の画像では、シーケンスIDがOUTAがOUTBと、INA0がINB0と、INA1がINB1と交換されるように設定されています。
パートスワッピングは、2つのサブパーツ間のすべてのネットを交換することに基づいているため、サブパーツとして設計されたコンポーネントにのみ利用可能であることに注意してください。
ペアグループ
差動ペアの交換は、差動ペアのペアグループの値によって管理されます。ペアグループ属性は、Configure Pin SwappingダイアログのDifferential Pair Swappingタブでアクセスできます。Differential Pair Swappingタブには、左下のドロップダウンボックスで設定できる3つのモードがあります。
- ディレクティブからペアを表示 - システムは、回路図に配置された差動ペアディレクティブを使用して、テーブル内の差動ペアを表示します。
- FPGAからペアを表示 - システムは、コンポーネントに利用可能なFPGA情報から得られた差動ペアデータを使用してピンをペアリングします。このモードは、コンポーネントがFPGAの場合に利用可能です。
- すべてのピンを表示 - システムは、すべてのコンポーネントピンを表示します。
ピンスワッピングダイアログでペアスワップグループを設定する。
回路図上でのスワップの制御方法
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コマンドの下にあります。
スワップマネージャーには、右クリックメニューが含まれており、これを使用すると、あるコンポーネントから別のコンポーネントへの設定のコピー、または複数のコンポーネントを一度に有効/無効にすることが非常に簡単になります。
スワップマネージャー内のコンポーネントをダブルクリックすると、そのコンポーネントのConfigure Pin Swappingダイアログが開き、ピン、差動ペア、サブパーツのスワップグループ設定を定義できます。
ピン、ペア、パーツのスワップの実行
インタラクティブなピン、ペア、パーツのスワッピング
インタラクティブなスワッピングでは、ピン、差動ペア、またはサブパーツをPCBエディタ内で一つずつ交換できます。インタラクティブなスワッピングコマンドは、ツール » ピン/パーツスワッピングのサブメニューにあります。メニューからコマンドを選択すると、交換可能なピンがハイライト表示されます。スワップを実行するために必要な手順は、ステータスラインに表示されます。
- 最初のステップは、ピンスワップの元になるハイライト表示されたピンのうちの一つを選択することです。ペアまたはパーツのスワッピングの場合、そのピンが属する差動ペアまたはサブパーツがその後交換されます。
- 二番目のステップは、スワップの対象となるピンを選択することです。ペアまたはパーツのスワッピングの場合、このピンは差動ペアまたはサブパーツを代表するものになります。
図4の例を続けて、デュアル5入力NORゲートコンポーネントの部品交換の段階を以下の2つの画像で示しています。交換可能なサブパーツが2つあり、それぞれの5つのピンを選択できるように、上の画像に示されています。ピン8がサブパーツU2Bに対応して選択されます。システムは次に、交換可能なサブパーツU2Aのピンをハイライト表示します。
最初の画像、ステップ1 - スワップするピンを選択、利用可能なピンがハイライトされます。二番目の画像、ステップ2 - ターゲットピンを選択。
自動ピン/ネット最適化ツール
自動ピン/ネット最適化ツールは二段階のツールです。PCBエディターメニューからTools » Pin/Part Swapping » Automatic Pin/Net Optimizerを選択して、自動最適化を実行します。
自動ピン/ネット最適化ツールは最初に、クロスオーバーや接続長を最小限に抑えることを試みる高速のシングルパス最適化を実行しますが、実際にはそれらを増加させる可能性があります。これが完了すると、反復最適化を実行するかどうかを尋ねられます。反復最適化は、クロスオーバーや接続長の数を減らすために、複数のパスを実行します。
変更を回路図に反映させる
スワップグループをピンスワップの設定ダイアログで設定すると、コマンドが起動された時にどのエディタがアクティブであったかに関係なく、行った編集はすぐに回路図のコンポーネントに適用されます。しかし、PCBエディタでピン、差動ペア、またはサブパートのスワップを行った結果の設計変更は、標準のデザイン更新プロセスを使用して回路図に反映されます。
PCBから回路図への変更の反映
ピン、ペア、およびパートのスワップは、メニューからDesign » Updateを選択することにより、他の設計変更が転送されるのと同じ方法で回路図に反映されます。Allow Pin Swappingオプションがどのように設定されているかに応じて、ピンスワップは次のように実行されます:
-
ピン名の変更 - この変更により、シンボル上のピンが移動します。ピンは実際にはシンボル上で移動されるわけではありませんが、内部的には2つのピンの定義が入れ替わり、視覚的には2つのピンが位置を交換したように見えます。
-
異なるネットへのピンの移動 - この変更により、接続されたワイヤー上のネットラベルが交換されます
-
サブパートIDの変更 - この変更は、パーツ交換が行われた際にサブパートのインデックスを単純に変更します。
最初の画像は、ピンを交換することで回路図で解決されたピンスワップを示しています。2番目の画像は、ネットラベルを移動することでスワップが解決されたことを示しています。
回路図がピンや部品の交換を表示しない場合は、End キーを押して表示を更新してください。
FPGA設計での新しいピン/部品スワップシステムの活用
インテリジェントなピン、ペア、部品のスワップが提供する明らかな利点に加えて、部分的に配線されたサブネットをスワップできる機能は、スワッピングに新たな次元をもたらし、大容量FPGAの作業に理想的です。動的なネット再割り当てにより、徐々に洗練されたピン/ネット割り当てを用いた多段階の設計プロセスを使用できます。
初期I/O割り当て
この段階では、FPGAやその他のデバイスのピンにネット割り当てが、回路図レベルで最も簡単な方法で設定されます。通常、これはFPGAのピンに数値バス順でネットラベルを追加することを意味します。回路図エディターのスマートペースト機能は、これを行うのに理想的です。
初期接続の最適化
設計はPCBレイアウトに移行され、回路図レベルでのランダムな割り当てのために多くの接続クロスオーバーが発生します。自動ネット/ピンオプティマイザーコマンドを実行すると、クロスオーバーの数が大幅に減少します。結果が理想的である必要はありませんが、PCBレベルで物事をより視覚的に管理しやすくするだけです。
エスケープ配線
PCB上の大型デバイスでファンアウトとエスケープ配線が行えるようになりました(コンポーネントを右クリックして、ファンアウト/エスケープ配線を選択的に実行します)。これにより、以前に最適化された割り当てが悪化する可能性がありますが、この時点では問題ありません。
エスケープ接続の最適化
自動最適化を再度実行してください。今回は、ファンアウト/エスケープ配線の事前に配線されたセクションを利用します。
手動配線
エスケープルートの端を「ターゲット」として扱うことができるようになりました。実際の接続ラインを無視して、ネットの他の端から、PCB上で最も近いエスケープされたI/Oルート(空間的にも層においても)に向かって配線できます。これは同じネット上にあるものではなく、接続が一致しない代わりに、FPGA I/Oピンからのエスケープ配線と、PCBの他の部分から来る配線の間に一連の小さな隙間ができます。下の画像は、これの簡単な例を示しています。
最終最適化
自動最適化ツールを再度実行すると、配線されたサブネットが可能な限り近いエスケープされたI/Oピンに割り当てられます。これにより、完了するための非常に短い接続のセットが残ります。自動最適化には、この場合に良い結果を出すための特別なルーチンがあります。これらは、今や対話的に、または自動的に配線することができます。
手動でのピンスワップ
インタラクティブなスワッパーを使用して、必要な特定のピンスワップ変更を行います。
変更を回路図に反映させる
ピン割り当てを回路図に反映させる準備ができたら、回路図のシンボル上でのピン変更を無効にすることをお勧めします。これは、FPGAがしばしば複数部品のコンポーネントとして提示され、各ピンバンクが別の回路図部品となっているためです。一つの部品から別の部品へピンを移動させると、そのバンクシンボルにはそのバンクに属さないピンが含まれることになり、論理的に不正確になります。この状況では、ネットラベルを変更することによるピンスワップが正しいアプローチです。
必要に応じて繰り返す
このプロセスは、実際には設計プロセスのどの段階でも、必要な回数だけ実行できます。