これらの問題は、いずれもIP統合時に発生します。誰もが考える、これまで行われてきたアプローチは、個々のブロックをサブシステムIP内部から1つの大きなフラットデザインにインポートした後、計画、配置、ルーティングを行うものです。
このアプローチは、高度な複雑さによってツールチェーンが壊滅せず、最終的なタイミングのクローズが可能であり、デザイン変更による見事な混乱によって全体がイチから再スタートすることがないと仮定すれば、理論的には最上のデザインをもたらします。しかし、実際には、恐らくサブシステムIPを大きなブラックボックスとして処理します。
IPベンダーは、サブシステム内部で配置を変更するために十分な情報を、少なくとも一連の資金調達サイズに見合うライセンス料なしでは出さないかもしれません。そこには、変更するための情報を持っていたとしても変更したいとは考えない、最適化されたパスがある可能性があります。
従ってフロアプランで、変則的であっても変更できない外形を持つ大きなブロックに直面するかもしれません。実際、幾つかのサブシステムIPブロックを使用していると、そのような巨大なものに遭遇する可能性があります。しなければならないことは、妥当な電圧とクロックドメイン、激怒する中国の竜に似ていないシステムバスレイアウトによって、数百インスタンスの小さなIPブロックとともに、それらを長方形の空間に収めることです。使用可能なピンアウトの検討も最後に行う必要があります。
FPGAでの課題はある面では容易ですが、ある面ではさらに一層過度な制約が加わります。フロアプランレベルでの大きな相違点は、幾つかの重要なIPブロック(メモリインスタンス、DSPユニット、シリアルトランシーバー、プロトコルコントローラー)がプログラマブルロジックとしてではなくシリコンに直接実装されることです。
従って、それらはFPGAのダイ上で固定位置を占めます。幾つかのFPGAもまた、マルチコアCPUサブシステムをダイ上に持っています。そのような)CPU/メモリ/ペリフェラルブロックは固定位置を占めます。さらに重要なことは、プロセッサブロックとプログラマブルファブリックの間のポータルも固定位置を占めることです。このような全ての制約により、サブシステムIPブロックの配置先は、離散したわずかな位置のみに限定される場合があります。
サブシステム(IP)配置の影響は、パッケージデザイン、次いでボードデザインのピンアサインメントに広がります。セルベースのASICであっても、重要な信号が通るピンはそのサブシステムのフットプリントの近く、または内部に配置する必要があるので、同じことが当てはまります。FPGAの場合、シリアルトランシーバーやDDRインタフェースなどの重要な機能のピンはデバイスメーカーが事前に選択することがあります。一方、ピン先ではコネクタの固定位置や利用可能なスペースなど、ボードレイアウト上の制約によって相反する制約が課される場合があります。
この過度の制約によって大きな影響がもたらされます。経験豊富なフィールドエンジニアですら、チップ設計者とボード設計者の共同作業によって満足できるソリューションを得るまでに何週間もかける事もあり得ます。ASSPとしてチップを購入すると、購入者のボード状況を知らずにピンが配置されているため、良好なソリューションを得ることはさらに困難です。どのような場合でも、電気的に満足できるデザインを得るためには、想定した予算を超える、さらに多層のボードが必要になる場合があります。
Copyright © ITmedia, Inc. All Rights Reserved.