FPGAは、クアッドパッケージまたはBGAパッケージで提供され、これらのコンポーネントにしばしば実装される高い数のI/Oを考慮すると、フロアプランを作成するのが難しい場合があります。FPGAは再構成可能性の点で多くの利点を提供しますが、頭痛の種にならずにレイアウトやルーティングを行うには多大な努力が必要です。PCBレイアウトでFPGAを扱ったことがない場合でも、始めるのに役立ついくつかのガイドラインがあります。
FPGA PCBレイアウトを作成する主な難しさは、全体的なシステム設計に合わせなければならない重要なフロアプランニングが必要であることです。FPGAシステム設計は、PCBレイアウトでいくつかのコンポーネントをどこに配置し、ルーティングする必要があるかを指示することができ、その逆もまた然りです。すでにシステムレイアウトをフロアプランニングしている場合は、アプリケーションを構築し、FPGAに成功裏に実装するのが比較的容易になるでしょう。始めるために、FPGAのスタックアップとルーティングチャネルについて考える方法を見ていきます。これらのポイントはPCBレイアウトでの多くの選択を左右します。
FPGAを使い始めるにあたって、今日の高度なFPGAで中から高いI/O数を持つものはBGAパッケージで提供されていることを知っておくことが重要です。QFPで提供されるFPGAもありますが、最も高度なコンポーネントはBGAパッケージで提供されます。その理由は単純です:BGAパッケージではより多くのI/Oを収めることができ、FPGAがBGAでパッケージされている場合、コンポーネントのサイズを小さくすることができます。
ですので、始めるにあたって、FPGAのPCBレイアウトのスタックアップがいくつかのシンプルな要件を満たしていることを確認してください:
ここで述べられているガイドラインは任意のBGAに適用されますが、FPGAでは特に重要です。FPGAは、MCU/MPUのような遅いコンポーネントでは利用できない複数の高速インターフェースへのアクセスを可能にするためによく使用されます。サブミリピッチのBGAであっても、HDI設計手法を実装する必要はありませんが、信号の整合性、電力の整合性、およびEMCを確保するために必要なタイプのルーティングを可能にするスタックアップを実装するべきです。
以下に示されたスタックアップは、複数のレイヤーにわたって複数のルーティングチャネルを提供します。FPGAのI/Oが2列以上ある場合は、これらのI/Oグループに複数の信号レイヤーを割り当てる必要があります。FPGAに専用されていない他の信号や、他のインターフェース(アナログ、SPIなど)をサポートするために追加のレイヤーを追加することができます。
このスタックアップでは、異なるチャネルの隔離を提供し、電力をルーティングするための十分なスペースとレイヤーを提供し、リターンパスを制御するための十分なグラウンドを提供するために、利用可能な最良の手順を踏んでいます。信号とPWRの間にグラウンドレイヤーを交互に配置することは非常に重要であり、EMC要件が満たされることを保証するために必要なリターンパス制御を提供します。このスタックアップには1つの電力レイヤーがリストされていますが、より小さいレールとの接続を作るために必要に応じて信号レイヤー上でも電力をルーティングすることができます。高電流システムは、必要に応じて複数の電力レイヤーを並列に使用することができます。
FPGAは、ルーティングチャネルを外側に拡張できるように、基板の端から離れた場所に配置されることが一般的です。しかし、FPGAを配置する別の方法があります。FPGAをコンポーネントとして配置する代わりに、部品ベンダーや第三者企業からシステムオンモジュール(SOM)として提供される場合があります。SOMとして配置する場合、非常に高いピン数を持つ基板間コネクタをファンアウトする必要があります。下に例を示します。
基板間コネクタのフットプリントによっては、FPGAで使用するかもしれないいくつかのファンアウト戦略や設計ルールが必要になる場合があります。SOMボードの周りや端に、複数のコネクタが正方形にグループ化されているのを見ることが一般的です。
上記の議論からわかるように、FPGAを使用した効果的なPCBレイアウトとルーティングは、BGAを扱うことについてすべてですので、他のBGAで使用されるのと同じルーティング戦略がFPGAにも適用されます。大きなFPGAから信号をルーティングするために必要ないくつかのシンプルな戦略があります:
その他の配置の課題には、通常、FPGAの電源ピン周りにキャパシタを配置してデカップリングを提供することが含まれます。BGAパッケージでは、これがはるかに便利です。なぜなら、FPGAの裏側のピンをまたいでこれらのキャパシタを配置できるからです。大きなケースのキャパシタを使用している場合は、製造文書にビア・イン・パッドを指定することを忘れないでください。最速の信号規格を扱っている場合は、最速の応答をデカップリングネットワークで確保するために、より小さいパッケージサイズ(サブ-0402)を選択するべきです。
非常に高速な信号で、大規模なパラレルバス(DDR4以上など)や複数の差動ペア(PCIeなど)を通じて正確な長さの一致が必要な場合、FPGAを横断するフライトタイムを含める必要があります。物理的に大きなFPGAでは、信号がロジックブロックを離れてI/Oピンに到達するために、コンポーネントを横断して移動する必要がある場合があります。時には、これらがFPGAの反対側にあるため、信号の移動時間に大きな伝搬遅延が加わります。この追加のフライトタイムは、FPGAのピンパッケージ遅延情報に含めることができます。信号がビアを通過する場合は、ビア遅延を含めることを忘れないでください(前述のリンクを参照)。
PCBレイアウトにFPGAを配置し、他のコンポーネントへの信号をルーティングする必要がある場合は、Altium Designer®の最高のPCBレイアウト機能を使用してください。PCBを完成させ、設計を共同作業者や製造業者と共有する準備ができたら、Altium 365™プラットフォームを通じて完成した設計を共有できます。高度な電子機器を設計し製造するために必要なすべてが、1つのソフトウェアパッケージに含まれています。
私たちは、Altium 365上でAltium Designerを使用して可能なことの表面をかすめただけです。今日、Altium Designer + Altium 365の無料トライアルを始めましょう。