検証用IP 今日のASIC/SoCデザインでは、色々なインタフェース規格(USB, PCIeなど)や標準バス規格(AHB, AXIなど)を使って外部デバイスと通信しており、その多くは複雑です。デザインの検証プロセス中、こうしたインタフェースはテスト環境(テストベンチ)との接続にも応用されています。このような接続は検証用IP(VIP)と呼ばれるモジュールで実現します。 検証用IP(VIP)は、特定のインタフェースのバス・ファンクショナル・モデル(BFM)の機能とテストベンチで使うテスト・ハーネス機能をつなぐ特殊なIPコアです。 VIPの選定や開発で見落としてはいけない重要な点は、これをシミュレーションと同じようにエミュレーションでも再利用する場合、デザインが大規模化すると効率が落ちることです。そのため、VIPは協調エミュレーションの業界規格、AccelleraのSCE-MIに準拠していなければ、よい設計のVIPとは言えません。 VIPの用途は幅広いですが、主に次の3種類に分かれます。 トランザクタ トランザクタはテストベンチのソフトウェア部分(HDLシミュレータ、仮想プラットフォームなど)とデザインの通信チャンネルを確立するモジュールです。トランザクタの通信チャンネルは高抽象度メッセージによるもので、これがBFMで標準インタフェース・プロトコルの信号に変換されます。テストベンチはトランザクタを使用してバス転送を出したり転送要求に応答したりできます。設定変更が可能で、エラー注入・処理機能もあるものが総合的なVIPといえます。 モニタ 概念的にはトランザクタと同じで、ソフトウェア・テストベンチで利用されますが、モニタリング、つまり読み取り専用です。BFMは標準インタフェース・プロトコルの信号をキャプチャ・認識し、高抽象度メッセージに変換してテストベンチに送信して解析やデバッギングに役立てます。 スピードアダプタ スピードアダプタはエミュレータで実行されるデザインを実デバイスなどの外部ハードウェアと接続するためのものです。実デバイスはエミュレーションよりクロックレートが高いのが普通ですので、スピードアダプタの第一の機能はエミュレーションのクロックドメインを実デバイスに同期させることです。複雑なインタフェースではプロトコル・レイヤで正しい同期化が必要とされます。 USBやPCIeなどの複雑なインタフェース用のVIPを開発することは簡単ではないので、開発スケジュールを短縮して プロジェクトのリスクを軽減するために、自社開発の代わりにサードパーティのVIPを再利用することも多くあります。検証とテープアウトを成功させるには信頼性が高く実証済みのVIPが使えるかどうかが鍵になります。 アルデックはシミュレーション、エミュレーション、プロトタイピングなどの検証手法について専門知識を持ち、お客様の抱える問題に真摯に取り組んでおり、その流れでUSB, PCIe, AXI, AHB, OCB, Gigabit Ethernetなどの業界標準のインタフェースのVIPを多数開発してきました。アルデックのVIPはトランザクタ、モニタ、スピードアダプタの3種類すべて揃っており、インタフェースはSystemVerilogやC++で記述されているので、UVMテストベンチを使ったシミュレーションやSystemCベースの仮想プラットフォームなども含め、どんな種類の検証環境でも使えます。Accellera SCE-MI規格に厳格に準拠しているので、アルデックのトランザクタとモニタは、デザインをシミュレーションする場合でもエミュレートする場合でも同様に使えます。 使いたいVIPの有無に関しては、VIP/IPコア製品のページをご覧ください。VIPタイプからデータベースを検索できます。必要なVIPや適切な構成が無かった場合は、VIPサービスについての情報をリクエストしてください。豊富な経験をベースに、信頼性の高いVIPを納期までにお届けします。 アルデックのVIPをUVMシミュレーション・アクセラレーションと協調エミュレーションに適用した例を以下に示します。