いち早いソフトウェア検証を実現するハード・ソフト協調検証環境のZeBu

従来、ASICやSoCはアプリケーションごとや製品クラスごとに開発していたが、現在はプラットフォームを共通化しソフトウェアで機能を変えるようになってきた。その背景として、微細化による開発コストの高騰、プロセッサの高性能化、マルチコア化などがある。そこでポイントとなるのが検証環境である。いち早くソフトウェアを検証するため、ハード・ソフトの協調検証の重要度が増すなか、協調検証環境には、充分な速度でソフトウェアを実行できる性能、ハードウェアの優れたデバッグ力が求められる。日本イヴは、高速のハード・ソフトの協調検証環境である「ZeBu(ゼブ)」を提供している。ここでは、ZeBuの魅力を聞いた。

メインイメージ

充分な速度を持った論理エミュレータ

ASICやSoCなどのカスタムチップの現状について井芹氏は、「設計数自体は減っているのですが、その分個々の設計規模が大きくなっています。小規模なものはFPGAに流れていますが、FPGAでは消費電力や規模の点で課題が残ります」という。「一般的なSoC開発は、ある程度工程が進んだ段階で致命的なバグが発見されると大きな手戻りが発生しかねません。それが、製品出荷時期を遅らせる要因にもなるのです」(松本氏)。

仏EVE社の「ZeBu(ゼブ)」は、充分な速度を持った論理エミュレータである。ハードウェアとソフトウェアに加え、さらにユーザ・インタフェースまでも統合した仮想プロトタイピング環境を構築でき、最終製品に直結した開発環境を実現できる。仏EVE社は、2000年に設立されたメーカであり、現在、アメリカやヨーロッパ、アジアの各拠点で約140名の従業員を抱えている。日本イヴは、仏EVE社の日本法人として2004年に設立された。

EVE社の主力製品が、論理エミュレータのZeBuである。「ZeBuとは、『Zero Bug(ゼロバグ)』から取った名前であり、文字通りカスタムチップのバグを限りなくゼロにしたいという思いが込められています」(松本氏)。

他社製品と比較して非常にコンパクトな筐体

ZeBuは、ザイリンクスのFPGAであるVirtexを搭載した論理エミュレータである。対応規模数に応じた最新版として、ZeBu-Server(5-slotユニット版/2-slotユニット版)やZeBu-Blade2などがラインアップされている。

ZeBu-Serverは、Virtex-5 LX330を搭載し、最大10億ASICゲートの非常に大規模なマルチコアASICおよびSoCのハード・ソフト協調検証向けに開発されたもので、スケーラブルな拡張性およびマルチユーザ機能を備えている(動作クロック30MHz)。幅と奥行きは50cmであり、5-slotユニット版でも高さ50cm、2-slotユニット版では高さ23cmである。他社製品と比較して非常にコンパクトな筐体に収まっている。

ZeBu-Blade2は、ZeBuシリーズの7世代目となる製品だ。シングルユニットのみであるが、小型軽量でデスクトップでも使用できる。先端のVirtex-6 LX760を搭載し、最大3200万ASICゲートのASICおよびSoCのハード・ソフト協調検証向けに開発されたデスクトップサイズの高速エミュレータである(動作クロックは同じく30MHz)。消費電力は200W以下であり使い勝手が高い。ちなみに、ZeBu-Blade2の対応容量は、日本イヴの顧客におけるチップ開発全体の60%をカバーしている。

ハード・ソフト協調検証環境は、FPGAプロトタイプを用いても実現できる。「しかし、FPGAプロトタイプではFPGAの深い知識が必要であり、完全に動作するまでに時間がかかってしまいます」(井芹氏)。さらに、「ゲートサイズが2,000万を超えるような大規模なものは、技術的にさらに難しいのが現状です」(バラン氏)という。

あらゆる抽象度レベルのARMモデルに対応

ハード・ソフト協調検証には論理シミュレータが用いられることもあるが、速度が充分ではない。一般に、論理エミュレータは、論理シミュレータの100~1,000倍以上の速度で動作させることができる。「論理エミュレータは、全メモリやレジスタを任意のタイミングで観測できるなど、サイクル精度の完全な制御性や観測性を備えています」(松本氏)という。

ZeBuには、フルデバッグ用のHDPと実行専用のSDPの2つのタイプがある。「HDPもSDPも製品自体は同じなのですが、SDPは波形が取れないなどの制限があります。その代わり、価格が半額となっています」(松本氏)。コストメリットのあるSDPを複数導入してハードウェア検証のレグレッションを並行で行っているユーザもいるという。

ZeBuは、ESLからRTLまであらゆる抽象度レベルのARMモデルに対応している。ESLモデルしかないような最先端のARMコアでも、ZeBuなら状況と目的に応じてあらゆる抽象度のARMモデルと混在することもできる。これらのARMモデルにはARM RealViewなどのソフトウェア技術者が使い慣れたソフトウェア・デバッガを接続可能であり、効率的にデバッグできる。

論理シミュレータによるESLとRTLの協調シミュレーションは速度の低下を招いてしまうが、ZeBuは「ESL コ・エミュレーション」環境を構築することでこの課題を解決している。ZeBuコンパイラは、デザインの大きさや複雑度に関係なくRTLブロックを取り込み、ESL向けアダプタを追加することで、RTLそのものをESLモデルとして利用できるようにする。ZeBuの高性能トランザクション・レベル・モデリングにより、1秒間に数100万トランザクションを処理できる。

ZeBuは、「OSCI TLM-2.0ベースのESL環境」も構築できる。EVE社製品の「TLM-2.0トランザクタ・アダプタ」を用いることでSystemCモデルとZeBuの高度な連携を実現する。この技術によってSystemCベースの仮想環境とのインテグレーションが可能となり、SystemCとRTLを組み合わせた「高性能ハイブリッド仮想プラットフォーム」が実現できる。この高性能ハイブリッド仮想プラットフォームは最近国内でも導入され、GPUのドライバ開発やOSブートなどで活躍している。

ZeBu-Serverを用いて約7分でAndroid OSをブート

さらに、ZeBuの実力が見事に発揮された事例として、テキサス・インスツルメンツ(TI)社のOMAP5プラットフォームの開発がある。OMAP5プラットフォームは、ARMのデュアルコア「Cortex-A15 MP」を搭載した同社最新のモバイルプロセッサである。この開発にZeBu-Serverが活用された。適用されたのは、OMAP5430プロセッサである。「OMAP5430プロセッサをZeBu-Serverにマッピングしたところ、約7分でAndroid OSをブートできました。これは他社製品と比較して30倍以上も高速でした」(井芹氏)。ちなみに、他社製品では、ブートまで3時間44分もかかったという。 「すべてソフトウェアで組めるのがTI様にとって大きなメリットとなりました。ZeBu-Serverを利用することで、TI様はOMAP5430プロセッサの組み込みソフトウェアの開発期間を6~9ヶ月短縮できたとのことです」(井芹氏)。「TI様はわれわれの初期からのお客様で、今後もOMAPの開発にZeBuが使われる予定です」(バラン氏)。 ZeBuでは、最先端のASICやSoCの高度な検証エコシステムを効率的に構築するための検証IPが豊富に用意されている。その中で、ハード・ソフト協調検証向けにはUARTトランザクタやJTAGトランザクタがよく用いられており、またUSBとEthernetについては実機と容易に接続可能な仮想モデルも用意されている。

高速動作など汎用FPGAならではのメリットを持つ

他社の論理エミュレータは、専用のFPGAを採用しているが、EVE社のZeBuはザイリンクス社の汎用FPGAを搭載している。これにはメリットとデメリットがある。 メリットとしては、動作が速い、低価格、高い堅牢性などがある。高速性は、汎用FPGA採用による。「専用FPGAを搭載している他社製品は、電源を落とすだけでも勇気が要ることもあります。ちなみに、ZeBu-Serverは、2年半前の国内導入以来、数十台にわたって、製品ハードウェアには1度の不具合も起きていません」(松本氏)という。「他社製品では、納入されてわずか数週間で壊れてしまったこともある、と聞いたことがあります」(井芹氏)とのことだ。さらに、Virtexは常に新しいものが数年ごとに出てくることも汎用品の良いところである。 デメリットとしては、専用FPGAと比べてコンパイル時間がかかることであるが、並列処理の強化やZeBuに特化した高速論理合成ツールzFASTの開発などにより飛躍的に改善されている。ちなみに、論理合成ツールにzFASTを用いた場合、300万ゲートで28分、700万ゲートで1時間22分、1800万ゲートで1時間55分のコンパイル(論理合成からFPGAビットストリーム生成まで)時間がかかっている(2011年のデータ)。「ZeBuは、コンパイル時間の長さをすぐに取り返せるほど実行速度が速く、低コストかつ非常に頑丈といえます」(井芹氏)。 さらに、サポート面も高く評価されている。「ZeBuはたいへん壊れにくいのですが、万が一壊れたときでも直ぐに代替機を用意できるようにしています。こうしたフットワークの良さは、多くのお客様に認めていただいています」(井芹氏)。電力面でも有利だ。「他社製品は動作や冷却に多くの電力を必要としますが、ZeBuは同程度の規模のものでも他社の1/10程度の電力しか消費しません」(バラン氏)という。

日本が元気になるような製品をいち早く開発して欲しい

今後もZeBuは、Virtexの新しいバージョンへの継続的な対応を予定している。これが汎用FPGAを搭載している良い点であり、常に最新のテクノロジを反映していける。「開発期間の短縮やパフォーマンス向上を求めていらっしゃるお客様に、ぜひZeBuを活用していただきたいですね。日本が元気になるような製品をいち早く開発していただきたいです」(井芹氏)。 松本氏も「日本ではハードウェアとソフトウェアの部門間に"壁"があるケースが多いようです。ZeBuをソフトウェア技術者の方に活用していただくことで、ハードウェア開発部門の方々ともっと仲良くなって欲しいと思います」と語った。最後にバラン氏は、「最近は、アジア各国の動きは速いのですが、日本は停滞感を感じます。ZeBuを活用することで、輝きを取り戻して欲しいですね。『日本ガンバレ!』」と結んだ。