FPGAプラットフォーム概要

FPGA設計をトータルにサポートするソリューション

FPGAを取り巻く市場は大きく変化しつつあります。FPGAの低消費電力化、高性能化、低コスト化が進んだことにより、これまでASSPやSoCでの実装が一般的であったデザインでもFPGAの採用が増えています。しかしFPGAの大型化と複雑化に伴い、FPGAへのデザイン実装にはいくつかの課題が生じており、デザインを完成させるためには適切なツールとメソドロジが不可欠となっています。シノプシスは、プランニングから合成までをサポートした統合型のフローにより、デザイン・バグの早期発見と修正を可能にし、最初のデザイン完成までの期間短縮を支援しています。FPGAに実装されたハードウェア・デザイン上でいち早くソフトウェア開発を開始し、さらにデザインのデバッグもできるようになることで、製品の早期市場投入が実現します。

FPGA設計メソドロジ

最近の一般的なFPGAデザインは複数のクロック/リセット・ドメイン、メモリー・インターフェイス、特殊I/Oを備え、サードパーティIPを統合するなど複雑化が進んでいます。設計サイクルの早期段階でバグを発見/修正しながら性能と面積の結果品質を高めると同時に、システム・コストを削減するには、これまで以上に優れたメソドロジが必要とされます。 

図1:FPGAベース・アプリケーションの一般的な設計フロー

統合型のフローには、設計者にとって以下の利点があります。

  • 最初のデザイン完成までの期間が短縮
  • めまぐるしい設計変更への対応が容易
  • 新規モジュールをインクリメンタルに実装し、そのバグの発見/修正が可能
  • サードパーティIPの統合が容易
  • 面積と性能に関して最適な結果品質(QoR)を実現
  • 深いデバッグを高速に実行でき、デザインが短期間で完成

検証プランニングとカバレッジ

FPGA設計が複雑化し、製品要件が厳しさを増している現在、FPGA設計の最初の段階で検証プランニングを行えるソリューションが必要とされています。

 

Verdi® Planner(図2参照)は(1)効率的な検証プランを短時間で作成、(2)サードパーティおよびユーザー定義のメトリクスを統合、(3)検証プランを要求定義文書にリンク、(4)シミュレーション、スタティック・チェック、フォーマル検証、検証用IPを通じてプロジェクトとテスト・レベル・メトリクスを直感的に追跡、といった先進の技術を導入しており、複雑なFPGAデザインの検証クロージャという困難な課題に対処します。

図2:仕様定義、検証テスト、検証結果のリンクをサポートするVerdi

スタティック/フォーマル検証とシミュレーションによるFPGAデザインの検証

シノプシスは業界最先端の検証ソリューションをご提供し、様々なマーケット向けのデザインに対応できる早期バグ検出/修正ソリューションを提供しています。新世代の製品が登場するたびにRTLおよびゲート・レベル・デザインの大規模化と複雑化が進む中で、多くの設計者がシミュレーションおよびスタティック/フォーマル検証を含む検証ストラテジを採用するようになっています。

 

一般に、RTL設計の効率が悪いとデザイン実装の終盤に深刻なバグとして顕在化します。これらのバグは、検出できなければ出荷後の不具合発生につながるのみならず、たとえ検出できたとしても設計手戻りコストが発生します。SpyGlass® Lintには業界標準のベスト・プラクティスに加え、業界大手の顧客企業との協業で培ったシノプシスの豊富な経験が凝縮されています。

図3:SpyGlassによりデザインのバグを早期に発見して修正

リント・チェックには、STARCやOpenMOREなどのデザイン再利用コンプライアンスに対する準拠性チェックが含まれており、デザイン全体で一貫性のある設計スタイルを適用できる他、複数チームで分担したデザインや複数ベンダから調達したIPの統合が容易になり、デザインの再利用が促されます。SpyGlass Lintは「Correct-by-Construction」方式の設計をサポートしており、早期に設計クロージャを達成できるため、開発コスト増加要因となるバックエンドでのデバッグとイタレーションを最小限に抑えることができます。

 

FPGA設計で直面する多くの検証課題の中でも、特に困難なのがクロック・ドメイン・クロッシング(CDC)の問題です。現在のデザインには数十もの非同期クロック・ドメインが存在しており、従来のシミュレーションやスタティック・タイミング解析(STA)による検証は困難を極めます。こうした伝統的なCDCの問題に加え、リセット・ドメイン・クロッシング(RDC)の問題によっても信号の不安定性が発生します。SpyGlass CDCにはFPGAベンダ各社から提供されるライブラリ・モデルの利用をサポートする強力な機能が包括的に揃っており、解析の効率と精度が向上します。

図4:クロック・ドメイン・クロッシングのエラー検出が容易なSpyGlass CDC

SpyGlassとVC Formal™を組み合わせると、設計者と検証エンジニアは、複雑なセットアップ、テストベンチ、スティミュラスに時間を取られることなく、設計フローの非常に早い段階からRTLデザインを簡単に解析およびチェックできます。VC Formalは、アサーション・ベースのプロパティ検証(FPV)、自動抽出されたプロパティのチェック(AEP)、フォーマルなカバレッジ解析(FCA)、フォーマル・ナビゲータ(NAV)、シーケンシャル等価性チェック(SEQ)、Certitudeと統合されたFormal Testbench Analyzer(FTA)、セキュリティ検証(FSV)、アサーションIP(AIP)、高度のデバッグおよび双方向性、フォーマル・スコアボード、フォーマル・カバレッジなど、幅広いフォーマル・アプリケーションを網羅しています。

 

スタティックおよびフォーマル検証がすべて完了したら、デザインのシミュレーションを実行します。ここで問題となるのが、RTLおよびゲート・レベルのシミュレーションも完了する必要があるという点です。シノプシスの機能検証ソリューションVCS®は、業界最高性能のシミュレーションおよび制約ソルバー・エンジンを備えています。ネイティブ・テストベンチ(NTB)および幅広い言語をサポートした包括的ソリューションのVCSは、画期的なFine-Grained Parallelism(細粒度並列処理:FGP)シミュレーション・テクノロジも備えています。

図5:VerdiとVCSの完全統合によるシミュレーション・デバッグ

このテクノロジは、利用可能なハードウェア・リソースに合わせてシミュレーション・タスクのサイズと要件を最適化します。これにより並列性が飛躍的に向上し、RTLシミュレーションで最大2倍、ゲート・レベル・シミュレーションでは最大5倍にシミュレーション実行が高速化するなど、従来のテクノロジに比べはるかに高いシミュレーション・パフォーマンスが実現します。更に、Verdiとのネイティブ統合により検証プランニング、カバレッジ解析、クロージャもサポートします。 

あらゆるFPGAテクノロジをサポートする合成ソリューション

FPGAはデバイスの種類によってサイズ、性能、統合方法がさまざまなため、これらに幅広く対応できる合成ソリューションが求められます。合成ツールSynplify®は合成実行時間の短縮、性能と面積の最適化によるコストと消費電力の削減、マルチFPGAベンダのサポート、エラー検出/軽減のサポート、インクリメンタルおよびチーム設計に向けた機能により、FPGAデザインの開発期間短縮に貢献します。

図6:最小限の面積で高い性能を実現するSinplify。
1日に実行可能な反復回数が増え、デバッグ機能も統合

Synplifyは、他ツールとの統合によりデザイン上の不具合の早期検出および修正をサポートします。たとえばクロック/リセット・ドメインの複雑化により、ハードウェア・デザインを評価してクロック・ドメイン・クロッシング関連のエラーをチェックする作業が必須となっていますが、Synplifyの環境からバッチ・モードまたはGUIモードでSpyGlass CDCを直接実行できます。また、VCSもSynplify環境から実行できるため、ハードウェアの機能検証を手早く実行できます。

 

スタティック検証および機能検証に加え、このデバッグ環境には、ボード上で動作するFPGAデザインの機能エラーを短時間で簡単に検出する拡張機能も用意されています。波形表示および解析機能はVerdi環境へのプラグインにより直接利用できます。これにより、発見の難しい機能エラーも短時間で検出し、RTLを修正してバグが解消されたかをシミュレーションで確認できます。このように包括的な機能を統合した合成環境によってハードウェア・デザイン完成までの期間が短縮し、早期の収益化が実現します。

まとめ

収益化までの期間短縮とスケジュール遅延リスク最小化には、事前の包括的な検証プランニングからスタティック/フォーマル検証、シミュレーションおよび合成までを統合したソリューションが必要です。設計および検証技術で業界をリードするシノプシスには、多くの企業との協業を成功させてきた豊富な経験があります。業界をリードするシノプシスのシミュレータVCS、デバッガVerdi、スタティック解析ツールSpyGlass、VC Formal、およびシリコン実証済みの検証用IPを使用してFPGAデザイン全体を検証した上で合成ツールSynplifyを使用すると、最小限の面積で高い性能を発揮するデザインを達成することができます。