Back協調エミュレーション協調エミュレーションとは、エミュレートされるデザインとその周辺機器を接続して、実際の動作環境を再現することです。色々な環境内で応用可能で、目的も色々考えられます。環境と目的は自由に組み合わせができます。仮想プラットフォームSoCの時代においては、仮想プラットフォーム(VP)は、初めにシステムアーキテクチャの検討に、次いでSoC検証用としてゴールデンなリファレンスモデルとして、広く使われるようになりました。ファームウェアとソフトウェアの開発でも、仮想リファレンスモデルはSoCプロトタイピングよりも早い時期に使えるので、VPが非常に重宝することが分かってきました。VPを利用した協調エミュレーションは設計開発・検証チームにとって色々なメリットがあります。仮想プラットフォームはSystemCシミュレーション・カーネルをベースにしていることが多く、TLMをインタフェースとしてシミュレーション・モデルを接続します。エミュレートされるデザインも同じインタフェースで接続可能です。SCE-MI規格の実装は、速度が最適化された形で、仮想プラットフォームとエミュレータの間でメッセージを送受信するチャンネルとして使用されます。APIは簡単にTLMプロキシ・モジュール内にラッピングすることが可能で、どのようなSystemC/TLM仮想プラットフォームにもシームレスに組み込むことができます。model)など、色々なタイミング精度のインプリメントに向いています。OVP、EDAメーカー製のものなど、サードパーティの仮想プラットフォームとの共存にも成功しています。実証済みの検証用IPが使えるかどうかも、デザインの検証を成功させるために重要です。Xtor)とTLMエミュレーション・プロキシ・モジュールを仮想プラットフォーム内部でインスタンス化する必要があります。2.0プロキシ・ラッパーを持つトランザクタを用意しています。仮想ペリフェラルシステム・オン・チップ(SoC)はより多くの機能を1個のダイに収めるようになっているとはいえ、ディスプレイ、キーボード、センサ、マルチメディアポートなどの外部ペリフェラルとの接続はやはり必要です。そのため、ペリフェラルのモデルが全部揃っていて初めてSoC検証環境が完成します。やり方の1つとしてあるのが仮想ペリフェラルで、これはエミュレーション・ホスト上またはリモートで実行されるアプリケーションで、トランザクタを介してエミュレートされたデザインに接続します。SCE-MI規格を実装しています。これは再利用可能なトランザクタと仮想モデルの開発に最適なフレームワークです。I2Cなどのインタフェース用に、そのまま使えるトランザクタも用意しています。仮想ペリフェラルの開発と組込がすぐにできるように使いやすいAPIも用意されています。詳しくは、検証用IPのページをご覧ください。厳しい要求の代替インサーキット・エミュレーションICEはエミュレーションデザインの検証手法として昔からある方法で、実デバイスを外部ペリフェラルを介してエミュレータに接続します。FPGAプロトタイピング・ボードで構成されたエミュレータは、さまざまなコネクタを多数並べた専用のエミュレータに比べても大きく有利です。したコネクタはボードに複数搭載されたFPGAのそれぞれに対応付けられるので、外部デバイスの接続とデザインのパーティショニングも簡単です。FPGAプロトタイピング・ボードのコネクタがオープン仕様であれば、PHYデバイスを搭載した専用のドーターカードを開発して接続するのも非常に簡単です。HES-7と社内開発のボードの多くにそれが当てはまります。ICEでは、外部デバイスも、エミュレートされるクロックよりも高速なターゲットのスピードでの動作を要求されることも非常に多くあります。スピードアダプタ・モジュールを適用するのはこのようなケースです。スピードアダプタは特殊な検証用IPとして扱われ、実クロックドメインをエミュレートされるクロックから分離し、データ転送のバッファを設けます。スピードアダプタはエミュレータのメーカーから入手することもできますが、社内開発もできます。アルデックはペリフェラルをフルスピードで確実に接続できるように、標準的なインタフェース用のスピードアダプタを提供しています。既製のスピードアダプタを提供可能インターゲット・ファームウェア検証SoCでソフトウェアとファームウェアの検証が必要な場合、協調エミュレーション技術が欠かせません。仮想プラットフォームの高抽象度仮想モデルは精度が足りないことが非常に多いですが、RTLシミュレーションの方は速度が桁違いに遅すぎます。ソフトウェア検証、能率的なデバッグ、SoCの完成において、協調エミュレーションが鍵になっています。ソフトウェア開発者が使うソフトウェア・デバッガは、組込プロセッサと色々な方法でインタフェースを取ります。特別なデバッギング・ポートや標準的なJTAGなどが使われます。どんな方法を使うにせよ、インサーキット・エミュレーション(ICE)と仮想ペリフェラルという、2つの協調エミュレーション技法のどちらかを適用できます。ICEの場合、JTAGやデバッギング・ポートはオンボード・コネクタから引き込み、デバッグ用デバイスを接続できます。これは適当な接続方法があれば実現できる従来的な方法で、FPGAプロトタイピング・ボードでよく利用されます。TCK(RTCK)ポートがある場合特に簡単です。言うまでもありませんが、ICEベースのソフトウェア・デバッガはアルデックのHESTMでサポートされています。仮想ペリフェラルの技法はこれよりもずっと柔軟な対応が可能です。アルデックの仮想JTAG(vJTAG)トランザクタとTCP/IPをサポートする仮想ペリフェラルを使えば、LAN経由でソフトウェア・デバッガを接続できます。ラボのエミュレータ上で走るソフトウェアをデバッグする時でも、開発者はワークステーションのある自分の席に座ったままでできます。デバッグ用デバイスを用意する必要もないので、プラットフォームの保守も楽で、拡張性も確保できます。VSTREAMもあり、これもHESTMでサポートされています。www.aldec.com/jp/solutions/hardware_emulation_solutions/co-emulation--soc-emulation。