プロセッサの検証には通常、プロセッサコアをメモリとともにシミュレーションし、診断付きでメモリをロードしてプロセッサにコードを実行させたり、外部チェッカでC++の命令セット参照モデルと比較しながらプロセッサが正しく動作しているかどうか検証したりします。
プロセッサとメモリのシステムをすべてZeBuにマッピングすることで、高速なエミュレーションが簡単に実現します。ZeBuではプログラムメモリに直接アクセスできるので、バッチモードで非リグレッション・テストを実行するのも簡単です。外部のC++チェッカとモニタもエミュレーションモデルに簡単に接続できます。
プロセッサ検証でもうひとつ必要なのがアプリケーションとOSを実行することです。シミュレーション中のプロセッサコアでLinuxを起動するのに成功すれば、設計チームは設計の妥当性に対して、数100の診断にパスするよりも大きな自信が持てるでしょう。
ZeBuをご利用のお客様には、ZeBuでチップ内の浮動小数点ユニットを徹底的に検証している方々がいます。お客様は2つのオペランドとオペコードを1つFPUに流すだけの簡単なC++テストベンチを作り、実行結果をC++の模範参照モデルと比較します。この方法では、数時間のエミュレーションでRTLシミュレーションなら何週間もかかるような、数億もの浮動小数点演算をこなすことができます。ZeBuのトランザクションレベルAPIを使えば、テストベンチの記述も数日で終わります。
組込みCPUやマルチコアメーカーの顧客には、ARM、Tensilica、TI Automotive、Ternetics、Seagateなどが含まれ、アプリケーションもHDDコントローラからフラッシュメモリ・デバイスまで多岐に渡ります。EVEは組込みCPUやマルチコアのアプリケーション向けに検証用IPを提供しており、ラインナップにはPCI、PCIe、UART、I2Cなどトランザクション・ベースのインタフェースや、SDR、DDR、DDR2、DIMM DRAMなどのメモリモデル、インサーキットエミュレーション用のJTAGやDirectICEなどがあります。また、ハード検証の他にも、ファームウェアのハード/ソフト協調検証用にソフトウェアデバッガが接続可能です。
もうひとつ、ZeBuでソフトウェア開発とデバッグを行なっているのはARMです。ARMのコアは世界中で十分に実機検証されているので、ハードウェアのバグはほとんど問題ありません。一方ソフトウェア・ドライバのバグは、FPGAプロトタイピングではハードウェア信号が見えないため非常に見付けにくいものですが、ZeBuを使って素早く発見しています。ZeBuを利用している顧客にはSanDiskもいます。SanDiskのデザインではARCコアを使っているものがありますが、ARCもハードウェアは十分テストされています。SanDiskは5 MHzのシステムクロックで動作するZeBuを活用して、ハード上で動作するソフトウェアの検証を5日で完了しました。
