チップ設計におけるIP(知的財産)コアの統合プロセスは、もはやソフトウェアおよびハードウェアブロック間の正しい接続を保証するだけの日常的な技術的タスクではなくなりました。10年前の設計者が数十個のユニットを扱っていたのに対し、今日の企業は数千個のIPユニットを管理しており、同じユニットでも複数の異なるバージョンが存在するため、設計と検証の間に巨大な技術的ギャップが生じています。
意味論的互換性のジレンマと仕様のギャップ
今日、最大の問題は「意味論的問題(Semantic issues)」として知られるものです。多くの場合、各IPユニットは個別に検証テストを通過しますが、システムオンチップ(SoC)に統合されると、デッドロック、クレジットのリーク、順序付けルールの破損といった壊滅的なエラーが発生します。これらの問題は、多くの場合、技術仕様の曖昧さに起因します。異なるチームが同じプロトコルルールを異なる方法で解釈している可能性があり、こうした不一致は、ポストシリコンデバッグのような非常に遅くコストのかかる段階になるまで表面化しません。
ハードウェアとソフトウェアの融合および電力の課題
ハードウェアとソフトウェアの分離は、以前のように簡単ではなくなりました。PHY層のような単純なコンポーネントでさえ、オペレーティングシステムや電力管理と深く対話するファームウェアやドライバを含む膨大なソフトウェアコンテンツを必要とします。この融合は、特に以下の点において新たな課題を生み出しています。
- 電力および熱管理:電力管理はそれ自体が機能的な特徴となっており、隣接するユニット間で正確な調整が行われない場合、パワードメインの切り替えによってトランザクションの損失やシステムハングが発生する可能性があります。
- アナログコンテンツ:アナログシステムのニーズが高まる中、設計者はデジタル設計環境内でのシミュレーションを容易にするために、アナログユニットをデジタルラッパーで包むことで統合の簡素化を図っています。
チップレットの時代:設計統合からサプライチェーン統合へ
チップレット技術は、統合の概念に変化をもたらしました。責任はもはやSoCの境界にとどまらず、パッケージングの境界にまで拡大しています。これは、統合が異なる企業、ファウンドリ、製造ノードからのユニットを含むことを意味し、設計統合の課題をサプライチェーン統合の課題へと変貌させました。物理層を規定するUCIeのような規格は存在しますが、コヒーレンシーモデルやアドレスマップに関する疑問は依然として残されており、サプライヤー間での詳細な合意が必要です。
なぜこの進化が重要なのか
本質的な問題は、チップの複雑さがサイズとともに線形に増加するのではなく、各ユニットが周囲の環境に対して抱く「前提条件」の数に基づいて増加している点にあります。UARTのような単純なユニットはクロック信号とリセット信号のみを必要としますが、高度なキャッシュユニットは、順序付けルール、クレジット管理、セキュリティ特性に関して数百もの前提条件を必要とします。このような前提条件の増加により、設計管理を人間の知力のみに頼ることは不可能となっており、従来のシミュレーションでは到達できないコーナーケースを探索できる検証ソリューションを提供するために、自動化ツールや人工知能に対する膨大な圧力がかかっています。