16
最 新 技 術 情 報Technology Update
ProtoLink – 複数のFPGAを使用したSoCプロトタイプ・システムでシミュレータ並みのデバッグ機能を実現する革新的ソリューション
複雑化が進んだ現在のSoCデザインでは、より包括的な検証メソドロジが求められます。検証は、バーチャル・プロトタイピングからRTLシミュレーション、エミュレーション、FPGAベース・プロトタイピングまで、あらゆる階層をカバーしていなければなりません。また、FPGAベース・プロトタイピングの重要性も高まっています。これは、実機に即したソフトウェア / 外部インターフェイスを高速な環境で動作させ、現実的な結果を予測できる最初の機会となるのがFPGAベース・プロトタイピングであることが多いためです。
『FPGAベース・プロトタイピング・メソドロジ・マニュアル(FPMM)※1』では、FPGAをSoC開発 / 検証のプラットフォームとして利用する実践的な方法を網羅的に解説しています。
最近のFPGAは大容量化が進んだとはいえ、複雑なSoCを1つのFPGAにマッピングするのはまだまだ困難です。そこで、多くの場合はマルチFPGAプロトタイプ・システムが必要となりますが、こうしたシステムのセットアップとデバッグは容易ではありません。また、FPGAベース・プロトタイピング・システムを正しく選ぶには、プロトタイピングの利用目的、SoCデザイン自体の性質、投入できる人員など多くの点を検討する必要がありますが、このようなシステム選択はいくぶん主観的なものとならざるをえません。さらに、デザインが異なるとインプリメンテーション・フローも異なります。たとえばマルチFPGAボードのデザイン分割を合成前と合成後のどちらで実行するかは、パフォーマンス要件、設計スタイル、ボード上で利用可能なインターコネクトの数によっても異なってきます。
こうしたセットアップ作業が完了した後、選択したFPGAベース・プロトタイプを効果的に動作させる上で重要な作業となるのがデバッグです。冒頭でも述べたように、多くの場合、FPGAベース・プロトタイプはそれ以前のテストとは異なり、実機に即したソフトウェアや外部インターフェイスを高速な環境で実行してデザインをテストする最初の機会となります。このため、事前に多くのテストに合格したデザインであっても、FPGAプロトタイピングの段階で何らかの問題が発生することは当然予想されます。しかし、従来のデバッグ・ソリューションは観測可能な信号やその深さに制約があってエラーの根本原因を特定できないことが多く、マルチFPGAプロトタイプ・システムのデバッグは困難を極めます。デバッグ中に新しい信号を追加して観測しようとしても、そのためには長時間かけてセットアップ・プロセス全体をやり直す必要があり、現実的ではありません。
こうしたことから、前述の課題を解決できるだけでなく、幅広い種類のFPGAベース・プロトタイピング・システムをサポートできる新しいデバッグ・ソリューションが求められています。これにより、同じデバッグ・メソドロジを一貫して使用でき、新しいツール習得の負担も軽減されます。
ProtoLinkは、「オープン」であることを重視して設計されています。この革新的なマルチFPGAデバッグ・ソリューションは、IP、インターフェイス・ハードウェア、デバッグ・ソフトウェアを1つのユーザー環境に統合し、シミュレータに匹敵する可観測性とデバッグの短TAT(Turn Around Time)化を実現します。
ProtoLinkは、シノプシスのFPGAベース・プロトタイピング・システムであるHAPSとカスタムFPGAプロトタイプ・ボードのどちらとも組み合わせて使用できます。また、一般的なFPGAインプリメンテーション・ツールとも連携して動作するため、既存のインプリメンテーション・フローを変更せずに導入できます。
ProtoLinkの革新的なコンセプトの1つに、外部インターフェイス・カードがあります。このカードはプロトタイプ・ボードとワークステーションを接続するためのもので、以下のような多くの利点を備えています。
• 各FPGAに必要なデバッグ・ハードウェアを最小限に抑えられる
ユーザーの実際のデータによると、Xilinx® XC5VLX330 FPGAでは面積のオーバーヘッドは約1%。Virtex®-6やVirtex-7などさらに大容量のデバイスでは、1%未満に抑えられます。
• 商用FPGAのほとんどとProtoLinkを容易に接続可能
各FPGAで観測した信号の値は、ユニバーサル・ケーブル接続によってProtoLinkインターフェイス・カードに伝送されます。FPGAにケーブル接続のための十分なピン / コネクタさえあれば、ProtoLinkは異なるプロトタイプ・ボードを同じように扱います。
図1. ProtoLinkの構成と接続
ProtoLink:マルチFPGAプロトタイプ・システムでシミュレータ並みのデバッグ機能を実現
PCIeカード(x8レーン)
HAPS /カスタム
ファイバーケーブル
Samtec社製ケーブル
デバッグSW インターフェイスHW 高速トランスポートIP
プローブ・バスProtoLink
インターフェイスカード
ワークステーションリンク
高速
トラ
ンス
ポー
トル
ープ ProtoLink
ボード
シノプシス プロダクト・マーケティング・ディレクタ Howard Mao
17
デバッグのTATを短縮するProbe ECO
シミュレータに匹敵するデザインの制御性
• 複数のFPGA、あるいは複数のボードからの信号も 同一ソースからの信号のように扱うことが可能
ProtoLinkインターフェイス・カードにはプログラマブルなFPGAが実装されており、このFPGAですべてのデータを処理 / 統合し、ランタイム・イベント / トリガをハンドリングします。このようにProtoLinkはマルチFPGAデバッグ・ソリューションとしての条件を完全に満たしており、ユーザーはどのFPGAの信号でも自由に使用してイベント / トリガをセットアップできます。
• 数百万サイクル(2秒間のエミュレーションに相当)にわたって 数千の信号を記録できる4GB / 8GBのプローブ・メモリー
メモリー容量に制約のあった従来のデバッグ・ソリューションのように、バグの直近のトリガを探す必要がありません。
図1に、ProtoLinkの構成と接続を示します。
ProtoLinkのもう1つの革新的なコンセプトとして、RTLとゲートレベルのリンクをソフトウェアで実現している点があります。このため、既存のインプリメンテーション・フローを変更する必要がありません。
シミュレータ並みの観測性を実現してデバッグの短TAT化を図るには、ユーザーがいつでも自由な時に任意の信号の値を観測できなければなりません。しかしFPGAの世界では、観測したい信号はセットアップ・プロセスが完了する前に定義しておく必要があるため、このようなことは不可能です。セットアップ・プロセスが完了するとRTL信号は追跡できなくなり、ユーザーはゲートレベル名が不明の合成済みネットリストと配置配線(P&R)済みネットリストしか見ることができません。このため、従来のほとんどのFPGAデバッグ・ツールでは、新しい信号を観測するにはセットアップ・フローを最初からやり直すしかありませんでした。正しいRTL信号を引き出して観測できるようにするには、これ以外に方法がなかったためです。
ProtoLinkは、よりスマートな方法でRTLとゲートのリンクを確立します。ユーザーが新しい信号を観測したい場合は、ProtoLinkのProbe ECO機能がP&Rネットリストから対応する信号名を見つけ、必要な部分のみ自動で配線を変更してくれます。この機能を利用すれば、今までのように数時間をかけてセットアップ・フロー全体をやり直さなくても、数分で新しい信号を観測できるようになります。デバッグ実行中にユーザーが新しい信号イベントやトリガをセットアップすることも容易に行えます。
このように、多くのプローブ信号を数百万サイクルにわたって観測でき、し
かも観測したい信号を必要に応じてすぐに追加できるため、デバッグのTATが大幅に短縮され、複数のデバッグ・イタレーションを1日で済ませることも可能になります。
プロトタイプ・ボード上でシミュレータ並みのデザイン制御性を実現するには、force / release機能が欠かせません。ProtoLinkには、Xilinx FPGAでこの機能を利用できるようにするアドオンとしてFull Visibility(FV)モジュールが提供されています。
このアドオンでforce / release機能を利用すると、デザイン・モードの制御、What-if解析の実行、さらには高速故障シミュレーションをデバッグ実行中に利用できます。これにより、長時間をかけてセットアップ・フローを再実行する必要がなくなり、プロトタイプ・ボード上で処理できる検証タスクの数が大幅に拡大します。
また、ProtoLinkのFVモジュールではすべてのレジスタ / メモリー出力に対してサイクル単位またはスナップ・ショット形式のダンプを実行でき、デザインの可観測性がさらに向上します。
ProtoLinkとVerdi3は共通のコンパイラ・テクノロジを採用しており、シームレスな連携が可能です。ProtoLinkでFPGAプロトタイプ・ボードをデバッグする際は、Verdi3のすべてのデバッグ機能を利用できます。Probe ECOが可能な信号の値は、Verdi3のソースコード表示に直接アノテート表示されます。Verdi3のデバッグ・セッションでは、目的の信号をProtoLinkのソフトウェアにドラッグ&ドロップするだけでProbe ECOを実行できます。すると数分後には新しいbinファイルが生成され、これをプロトタイプ・ボードにダウンロードして再度実行すれば目的の信号の値を取得できます。この新しいデバッグ・プロセスによりプロトタイプのデバッグ時間が大幅に短縮され、プロトタイプ・ボードの検証をより短期間で完了できるようになります(図2)。 ユーザーからのフィードバックでも、ProtoLinkはプロトタイプのすべてのバグを必ず1週間以内に検出して修正できることが報告されています。このようにデバッグ期間が予測可能になることで、ユーザーはより多くの検証タスクをプロトタイプ・ボードへ移すことができます。オープンなアーキテクチャを採用し、シミュレータに匹敵する観測性と制御性によりデバッグ期間の短縮を実現したProtoLinkなら、ユーザーは1つのデバッグ・メソドロジでさまざまな種類のプロトタイプ・ボードに対応でき、新しいFPGAやプロトタイプ・ボードをいち早く利用できるようになります。
図2. デバッグ時間が半分に短縮され、プロトタイプの検証が加速
Verdi3オープン・デバッグ・プラットフォームの一角を担うProtoLink
Verdi3 自動デバッグ・システム
簡単なプローブ
セットアップ
デバッグイタレーション
が加速
ProtoLink
※1 FPGAベース・プロトタイピング・メソドロジ・マニュアル(FPMM): http://www.synopsys.com/Systems/FPGABasedPrototyping/FPMM/Pages/FPMMdownload.aspx
Support Q
&A
検証編
Support Q
&A
フィジカル編
Support Q
&A
論理合成編
Technology Update
最新技術情報
New
s Release
ニュースリリース
What’s N
ewin D
esignWare IP
?S
uccess Story
お客様活用事例
Executive O
pinionエグゼクティブ・オ
ピニオン