Home > THE SOUND OF CADENCE > SOC72 > システムの実現 (System Realization) とはなんですか?

  • Contact
  • Print

THE SOUND OF CADENCE Vol.72 (June 2010)

システムの実現 (System Realization) とはなんですか?

アプリケーションがシステムを定義する
今日の電子機器は、アプリケーションがすべてであるといっても過言ではありません。例えばiPhoneなどの商業的に成功していると言われる商品のほとんどは、「アプリケーション・ドリブン」であり、そのアプリケーションに基づいてシステムが設計されています。しかし、今までのシステム開発のアプローチは、アプリケーション、ソフトウェアおよびハードウェアの開発が、それぞれ地理的のみならず、使用ツールや言語、IP的にもそれぞれ独自の環境で行われています。そのような分割された環境では、順をおって開発をせざるをえません。通常は、まずハードウェア設計が行われ、その後、そのハードウェアのためのソフトウェアが開発され、そしてその後にまた別の開発者によって、ようやくアプリケーションが開発されます。このような開発方法論(ここではDisaggregated:分散的方法論と呼びましょう)では、どうしても、「このハードウェアで実現できるアプリケーションの提供」になってしまいます。「極めて高い演算能力を持つが、家庭用電源を必要とする重さ10kgのマシン」を開発してから、その上で「どこでも場所を選ばず手軽に読める電子書籍」を作ろうとしても、無理な相談です。言い換えると、最適化されたアプリケーションを提供するには不向きと言えます。
図1:ハードウェア非依存アプリケーション開発へ向けて

アプリケーション・ドリブンなシステム実現
今回、提唱しているEDA360(詳細は「ケイデンスの新しいマーケティング・ビジョン「EDA360」-Profitability(収益性)向上に向けた新たなアプローチ-」をご覧ください)では、システムの実現(System Realization)に、アプリケーション・ドリブンなアプローチを採用しています。まず、アプリケーションの定義を明確化し、その後システムレベルの設計を行い、ソフトウェアへとブレークダウンしていきます。そして、最後にハードウェアの設計となります。システムとしては、一つ以上のSoCおよび組み込みシステム(一般的にOS、ミドルウェア、リファレンス・アプリケーションを含みます)からなるハードウェア/ソフトウェア系を想定しています。システムとしては、ドライバやOSからライブラリ、アプリケーションにいたるまでのすべての階層のソフトウェア・スタックを把握している必要があります。
システム実現には、プラットフォーム的な考え方が重要になります。コンフィギュラブルなプラットフォームでは、IPのような部品のライブラリから適切なものを選び、要求に合わせて接続することで、コストや機能、パフォーマンスなどについての極めて厳しい要求仕様を達成しようとするものです。その一例にマルチメディア接続のためのNXP Nexperiaがあります。このプラットフォームは、プログラム可能なSoCやコンパニオンI Cの他に、リファレンス・デザインやシステム・ソフトウェア、開発キットから構成されています。また、NXPのパートナーシップ・プログラムによる、Nexperiaソリューションのエコシステムがあることも重要です。

アプリケーション・ドリブン設計のためには、従来型の分散的方法論から離れる必要があります。現時点では、ハードウェア定義およびハードウェア非依存の2種の方法があります。ハードウェア定義方法論では、ハードウェアは、アプリケーション・レベルを除くソフトウェアと密に結合された形で開発されます。ソフトウェア開発キット(SDK)が、アプリケーション作成のためのツールとなります。アップル社のiPhoneがその一例です。この方法論では、ハードウェアは可変ではなく、いわばハード的に閉じた系であるといえます。
一方、ハードウェア非依存方法論では、ハードウェアについては、定義や指定はされていません。GoogleのAndroidがその一例です。AndroidにはOS、ミドルウェア、ユーザ・インタフェースや端末エミュレータが含まれ、アプリケーションの開発・実行環境を提供します。この方法論では、ハードウェア部分は、要求される仕様に対して大きくも小さくもなく「ちょうどよく」最適化されたプラットフォームを組み込むことが可能になります。
このようなアプリケーション・ドリブン設計を実現するには、EDAには次のような機能が求められます。
●早期ソフトウェア開発
●アプリケーション指向システム統合
●アプリケーション指向システム検証
●ドライバ開発キット
●アプリケーション開発キット
これらのソリューションをフローとして統合し、各プロセスを管理する仕組みもまた必要となります。

今後の方向
EDA360とその中で述べられているシステムの実現は、ケイデンスの向かう方向を示したものです。そのソリューションとして、既存のテクノロジに加え、例えばアプリケーション・ドリブン設計を実現するための基本的方法論のガイドラインTLMDrivenDesign & Verification Methodologyのようなソリューションについて、7月22日、23日に開催するDA SHOW/CDNLive! Japan 2010でご紹介する予定です。


カスタマ・プラットフォーム・マーケティング部
後藤 謙治