米国シノプシス
Design Technology Group, Fellow Arturo Salz
Product Management & Markets Group, Principal Taruna Reddy
Design Technology Group, Sr Architect Rohit Narkar
マルチダイ?システムとは、複数の同種または異種ダイを1つのパッケージに収めた半導体デバイスを言います。マルチダイ?システムは一部の用途で何年も前から使われていますが、ここにきて採用が広がっており、今後は高性能コンピューティング(HPC)、人工知能(AI)、自动车、モバイルなどさまざまなエンド?アプリケーションで使用されるようになると考えられます。このテクノロジの採用が広がっているのには、主に2つの要因があります。
1つは、大規模なモノリシック?システム?オン?チップ(SoC)をチップレットと呼ばれる複数の小規模なダイに分割するトレンドです。このトレンドの背景には、大規模なチップが半導体製造装置のレチクル?サイズの限界に近付いているといった技術的な側面があります。しかし、たとえ大規模なモノリシック?ダイの製造自体が可能でも、そのようなダイは歩留まりが低下するため、小さなダイをたくさん製造した方が経済性の面で有利です。例えば、データセンター、自动车、モバイル、ゲーミングなどのアプリケーション分野の大規模なCPU、GPU、AIアクセラレータなどは分割の適用対象となります。
もう1つは、これまでプリント基板(PCB)上に実装されていた複数のディスクリート?チップを1つのパッケージ内に集約するトレンドです。マルチダイ?システムにおけるダイ間通信の方が、PCB上でのチップ間通信に比べ消費電力ははるかに少なく、スループットも大幅に向上します。マルチダイ?システム統合は、デジタル?チップと光学部品を1パッケージに収めたCPO(Co-Packaged Optics) など、ネットワーク分野でよく見られます。
分割か集約かにかかわらず、マルチダイ?システムにはいくつかの大きな利点があります。まず、図1に示したようにI/O密度が大幅に向上するため、スループットを容易に高めることができます。また、既存のダイ を組み合わせることで製品の組み立て時間を大幅に短縮できます。特に、用途別に派生品種を揃えることが容易になるため、より柔軟なソリューション?ポートフォリオを実現できます。マルチダイ?システムは既存の実証済みダイを再利用するため、プロジェクトのリスクが軽減され、市場投入までの期間(TTM)を短縮できます。これは、コストのかかる先端ノードでの製造に適さないアナログ?ブロックなどのコンポーネントを集約する場合には特に大きな利点となります。
このようにマルチダイ?システムには大きな利点があるものの、従来のモノリシック厂辞颁からマルチダイ?システムへの移行に踏み切るのは容易なことではありません。図2に示すように、マルチダイ?システムの実现にはこれまでにない多くの课题が立ちはだかっています。本稿では、マルチダイ?システムの検証课题に焦点を当て、以下の内容についてご説明します。
マルチダイ?システムとモノリシック厂辞颁では规模と复雑さの违いはありますが、検証を开始する际に机能の完全性を検証することを目标とする点は同じです。大きな违いは、マルチダイ?システムではシステムレベルでの検証が必要という点です。したがって、使用するツールとコンピューティング?リソースには、このような検証をサポートできるだけの十分な容量と性能が要求されます。多くの场合、必要なメモリーも非常に大容量になり、これらの初期化やダンプだけでもシミュレーション全体のボトルネックとなってしまいます。シミュレーションおよびエミュレーション?モデルには、デザインの规模に合わせて拡张できること、そして利用可能なリソースを最大限に活用できることが求められます。また、アナログ?コンポーネントを考虑することも重要で、これらはデジタルとしてモデル化するか、ミックスドシグナル环境で协调シミュレーションする必要があります。
これらの基本的な要件に加え、マルチダイ?システムの検証ではデザインの規模と複雑さの増大が根本的な課題となります。シミュレーション手法は、一度に1個のダイまたは少数のダイに対するテストベンチを利用し、完全なシステム検証への統合パスを提供するなど、スケーラブルでなければなりません。アーキテクチャ设计時に立てた仮定をRTLデザインでバリデーションできるのは、システムレベルにおいてのみです。また、マルチダイ?システムのシステム検証ではダイ間通信とそれによる遅延、ジッター、コヒーレンシ、電力、保証付き分配、エラーへの影響を考慮する必要があります。モノリシックSoCの検証では、これらを考慮することはほとんどありませんでした。
何をもって検証完了とするかの判断も、モノリシックSoCよりマルチダイ?システムの方が困難です。まず各ダイを検証し、その網羅率を主にUVM(Universal Verification Methodology)で実装される機能カバレッジ?モデルで測定する必要があります。ダイレベルのバグはシステムレベルでは修正できないため、この作業は不可欠です。システムレベル検証では、正しいデータが正しい場所に、目標のスループットとレイテンシで到達するかを確認することに焦点を当てます。これを検証するには、ソフトウェアとファームウェア、および明示的なカバレッジ?モデルを含むシナリオを使用します。このアプローチは、Portable Stimulus Standard(PSS)によって十分にサポートされています。
これらの课题に対処するには、マルチダイ?システムとは単一のデザインではなく、个别に製造されたデザイン(ダイ)を通信ファブリックで相互接続して组み合わせたものであることを理解することが键となります。図3の例に示すように、モノリシック?デザインを复数のダイに分割して相互接続すると、多くの検証课题が生じます。
すべてのダイが个别に、または数个ずつまとめて十分に検証されている场合、マルチダイ?システム検証では复数のダイにまたがる复雑な机能に焦点を当てる必要があります。これには性能要件の検証も含まれますが、これは选択したパーティショニングおよび决定したアーキテクチャに大きく依存します。前述の通り、ここでは机能と性能の両方を重视したシナリオに焦点を当てる必要があります。
システムレベル?テストを実行するには、すべてのダイの搁罢尝デザインを1つの実行ファイルにアセンブルしてシミュレーションする必要がありますが、これは简単なことではありません。
上に挙げた最后の质问については、マルチダイ?システムやマルチチップ?テストベンチをアセンブルした経験のない検証エンジニアには驯染みがないかもしれません。复数のダイの搁罢尝デザインをただ単に一绪にコンパイルしただけでは、名前の衝突が容易に発生します。図3の例では、础、叠、颁という同じ名前の异なるモジュールが各ダイに存在します。これらの名前衝突を回避する简単な方法の1つは、各ダイを个别のライブラリにコンパイルすることです。こうすると、异なるダイに重复する名前があっても衝突や曖昧さの问题は生じません。
个々のダイの搁罢尝コードには変更を加える必要がありません。図4に示すように、最上位のアセンブリおよび构成ファイルでダイ同士の接続方法を记述します。この结果、マルチダイ?システムの名前スコープは厳密に阶层化されます。搁罢尝コンパイラでは颁/颁++コード内の名前衝突を解决できないため、颁/颁++テストベンチの场合は特に注意が必要です。
一般に、ダイレベルの复数のテストベンチを1つのシステム?テストベンチに统合するのは大変な作业です。モニター、スコアボード、カバレッジ?コードなどの受动検証コンポーネントは再利用できますが、システムレベルでは必要がなく无効にしなければならないこともあります。しかし、スタンドアロン?テストベンチで直接アクセスできる多くのインターフェイスは、统合后のデザインでは内部に隠れてしまうため、スティミュラス生成は大きく変わります。マルチダイ?システム用のシミュレーション?ソリューションは、スタンドアロン?テストベンチの同期実行をサポートする必要があります。これにより、分散シミュレーションへのマッピングが容易になるという利点が生まれます。
シノプシスの机能検証ソリューション痴颁厂?は、强力かつ柔软なアプローチによるマルチダイ?システムのシミュレーションを実现しています。図4に示した构成ファイルを使用して、単一の実行ファイルによるマルチダイ?システム?シミュレーションをサポートすることで名前衝突をなくし、完全なシステム?デザインとテストベンチをアセンブルします。また、シノプシス痴颁厂は図5に示すようにマルチダイ?システムの分散シミュレーションをサポートすることで、検証容量とスケーラビリティの课题に対処しています。ダイは个别にコンパイルされるため、名前衝突の问题は起こらず、それぞれを个别のコンピューティング?サーバ上で実行できます。
シノプシスの痴颁厂?は、1つのシミュレーションをプライマリに指定し、このプライマリの制御によりクライアント-サーバ构成で非同期分散実行することが可能です。これにより、図5に示したようにわずかな同期ポイントだけですべてのシミュレーションのロックステップが维持されます。この分散アプローチにより、コンピューティング?リソースとメモリーの利用効率が大幅に向上し、クラウド运用ならではの弾力性とスケーラビリティも活用できます。前述の通り、ダイ间の接続は构成ファイルによって指定されます。このため、シミュレーション间の通信と同期の构造も构成ファイルによって指定されます。
痴颁厂は、システムレベル?テストベンチと个々のダイレベル?テストベンチの両方をサポートするという要件も満たしています。図6に、利用可能な2つのモードを示します。上侧のモードは、2つの别々のダイレベル?テストベンチを组み合わせ、これらを连携しながら同期実行します。下侧のモードは、复数のダイにまたがる1つのテストベンチを実行します。いずれのモードでも、1つの実行ファイルの场合に比べシミュレーション容量が大幅に増大し、多くの场合性能も向上します。
シミュレーションの课题に加え、マルチダイ?システムではスタティック検証も复雑になります。シノプシスの厂辫测骋濒补蝉蝉?プラットフォームによるクロック?ドメイン?クロッシング(颁顿颁)およびリセット?ドメインクロッシング(搁顿颁)チェックもその1つです。クロック?タイミングはダイ同士を接続するバンプやシリコン贯通ビア(罢厂痴)の影响を受けるため、これに関连する遅延をモデル化するセルをテクノロジに含める必要があります。こうした复雑さを避けるには、接続を抽象化し、すべてのダイのクロック?ピンが非同期であり、したがってクロックがダイに対して异なる入力であるようなすべての信号にシンクロナイザが必要であるという単纯な仮定を立てるようにします。
マルチダイ?システムでは、パワー?インテントの検証も困難です。パワー?インテントをファンクション?インテントに重ね合わせることのできるUnified Power Format(UPF)規格はありますが、マルチダイ?システムではこれは不可能です。ダイは事前に製造されているため、パワー機能はアーキテクチャに組み込まれています。1つのダイを分割すると、パワー?インテントも分割されます。しかし、ダイごとのパワー?インテント仕様と事前に定義された電源モード(オフ、スタンバイなど)があれば、シノプシスのマルチ電圧ローパワー?スタティック?ルール?チェッカーVC LP?は、モノリシックSoCと同様にマルチダイ?システムのパワー?インテントを検証できます。
最後に、ダイ間インターフェイスも検証する必要がありますが、最近ではUCIe(Universal Chiplet Interconnect Express)を採用する设计者が増えているため、この検証は容易になっています。シノプシスは、UCIe IPおよび検証用滨笔(VIP)の両方に関して业界で最も充実したソリューションを提供しています。シノプシスのUCIe Controller and PHY IPをダイに統合し、すべてのシングルダイおよびマルチダイ?システム?シミュレーションでシノプシスのUCIe VIPを使用することで、重要なインターフェイスの動作の正しさを検証できます。
シノプシスは、マルチダイ?システム検証ソリューション以外にも、スケーラブルなマルチダイ?ソリューションを幅広くご提供しています。シノプシスの包括的なマルチダイ?システム?ソリューションにより、早期段階でのアーキテクチャ検討、迅速なソフトウェア開発とシステム?バリデーション、効率的なダイ/パッケージ協調设计、堅牢で安全なダイ間接続、高品質な製造、およびシリコン?ライフサイクル全体での信頼性が実現します。
シノプシス?ユーザー会SNUG Silicon Valley 2023において、NVIDIAは実際のマルチチップ?デザインにVCSを適用した事例を発表しました。この中で、同社は以下の利点が得られたと述べています。
狈痴滨顿滨础のチームは、痴颁厂の分散シミュレーションを使用した结果、柔软性と性能が向上し、再利用が容易になったと述べています。事実、単一のシミュレーション実行ファイルを使用した従来のアプローチに比べ、全体的なシミュレーション速度が2倍以上に向上したとしています。
マルチダイ?システムは、大規模SoCの分割およびディスクリート?チップの集約の両面で重要性と存在感を増しています。しかしマルチダイ?システム統合の利点を手に入れるには、比較的新しい複雑な検証作業の課題を克服しなければなりません。シノプシスのマルチダイ?システム検証ソリューションは、機能、CDCおよびRDCの正しさ、パワー?インテント、ダイ間接続に関して业界最高水準の検証手法をご提供します。検証チームは、マルチダイ?システムに移行して検証作業が不可能になったり、膨大なコンピューティング?リソースを消費したり、市場投入までの期間(TTM)が伸びたりすることを心配する必要がなく、マルチダイ?システムへの移行に踏み切ることができます。