メディア

変容する民生機器設計市場の厳しい要求に応えるために(4/4 ページ)

» 2007年02月01日 00時00分 公開
[Ron Wilson,EDN]
前のページへ 1|2|3|4       

「検証」こそが大きな問題

 民生機器の設計に携わる多くの設計者が、「自分たちが直面している最も深刻な問題は検証だ」と指摘する。検証が開発時間の中で最も大きな割合を占めるケースは多い。ある設計マネジャによれば、その割合は2/3以上にもなるという。従って、時間の制約に対応するには、検証に関する対策を講じればよいということが分かる。また、多くの民生機器向け設計において、作り直しという手戻りが発生するのは致命的な問題となる。FPGAをベースとした方法で初期の要求を満たすことができたり、投入時期を数カ月遅らせることができたりするような市場と比べて、民生機器向けの場合、検証はより徹底的に行わなければならない。

 このような状況に対し、民生機器の設計チームがまず行うべきことは、計画を立てることである。Cadence社のHenricks氏は、「設計チームは2種類に分けられる。1つは検証計画を立てるチーム。もう1つはテープアウトの後も、延々と検証を行っているチームだ」と指摘する。ここでいう計画は、システムを構成する各ブロックごとの検証戦略と、システムとして統合した後の検証戦略の両方に対応していなければならない。その計画では、従来以上にカバレッジを利用する方法に頼ることになる。Cadence社のMcNeil氏によれば、「どこまでやれば検証が終了したと見なしてよいのかということが最大の問題だ」という。しかし、どこまでやれば検証は終了するのかというのは、いまだ答えの出ない問題である。カバレッジを用いる手法は目安にはなるが、決定的な根拠にはならない。

 検証時間を削減するには、個々のブロックにおいてテストベンチを再利用したり、以前の設計で用いたシステムレベルのテストベンチを適用したりするといった方法が効果的である。また、検証においても並行作業という手法が利用できる。システムレベルの機能検証から開始し、ブロックレベルのRTL/ネットリスト検証の進行に合わせて下位レベルへと検証を進めていくことにより、(絶対的な時間ではなく)日程面での時間を短縮することができる。非常に厳しいテストは、問題のある部分やカバレッジが低い部分に焦点を当てて実施できるとさらによい。

 検証計画において、アサーションを適切に用いることを義務付ければ、動的テストで大きな時間短縮を図ることができる。Henricks氏は、「この手法では設計を熟知していなければならない。設計におけるクリティカルな部分がどこであるかを知っておく必要がある」と語る。大部分がほかの企業からライセンス供与されたプラットフォームである場合は、その情報の質や量が問題となる可能性がある。

 民生向け製品の検証を困難にするほかの問題としては、システムの最終的な出力が映像や音声であることが多い点が挙げられる。この場合、完全に正しい出力など存在しない。出力は誤っているか、または相対的な品質評価におけるいずれかのレベルにある。主観的な判断では基準が甘くなってしまうことが多く、検証プロセスに問題が生じてしまう。FPGAベースの検証を並行して実施しなければ、期限間際になって主観的な判定によって却下されるというリスクを負うことになる。

 残念なことに、計画を立てたりツールを利用したりしても設計マネジャの悪夢は消え去らない。「設計の終盤になって、検証プロセスから生じる技術変更指示(ECO:engineering change order)が非常に多い」とHenricks氏はいう。この状況に対処するために、民生機器の設計では、クリティカルな機能をソフトウエアへ移行し、後から生じるバグを修正するために複数回のソフトウエアリリースを計画するということがよく行われる。その後、安定したソフトウエアモジュールをハードウエアエンジンに変換することによりコストを削減するのである。

 しかし、この戦略においても、設計の初期段階で、最も問題が多くテープアウト後の柔軟性を必要とする機能はどれかということを予測する能力が必要となる。このような能力は、経験を積むことでしか得ることができない。

プラットフォームの将来

 表1に、民生/産業機器それぞれの設計の特徴をまとめた。今日、民生機器の設計手法は数多く存在する。しかし、それらすべてが1つの傾向を見せ始めている。その傾向は、「プラットフォームの利用」ということで特徴付けられる。プラットフォームには、ASSPチップの形で提供されるハードウエアプラットフォームや、ブロック/フローの集まりであるIPプラットフォームなどがある。民生機器向けの市場ではプラットフォームがすでに広く普及しており、多くのIPベンダーやCPU/DSPベンダーがかかわっている。彼らは、最終的な製品に迅速に到達するために必要なIP、ハードウエア、ソフトウエア、サービス、トレーニングなどを総称して「エコシステム」と呼ぶ。

表1 民生/産業機器市場における設計の特徴 表1 民生/産業機器市場における設計の特徴

 設計に関するこの考え方は、業界に対し、必然的にさまざまな形で影響を与える。まず、検証がますます大きな問題になってきたことから、IPベンダーは簡単なテストベンチに頼るのをやめてアサーションベースの検証手法を用いるようになった。従来は、標準化団体までもが、読解不可能であいまいな1000ページにも及ぶ規格文書を作成していた。それが最近では、仕様記述言語によって、実行可能な仕様を記述することが求められるようになった。

  2つ目に、EDAベンダーに対しては、民生機器の世界におけるより現実的なフローの提供が求められている。それは、まったく新しい設計に対してではなく、段階的な設計変更やプラットフォームに加える微調整に対して最適化されたフローでなければならない。たった1つのブロックを変更するために、すべての合成、配置、配線作業を設計チームにさせる必要はない。同様に、検証も段階的なものでなければならない。1カ所の変更によってほかの部分が変更されていないことが、ツールによって静的に実証できなければならないのである。

  民生機器市場における厳しい要求は、ファブレス企業のあり方も変えてしまうかもしれない。Imagination Technologies社のKing-Smith氏は、「ファブレス企業の役割は、マーケティングおよびファウンドリとの関係構築へと移ってきている。IPの選択、統合、検証が、社外の特定のアプリケーション分野に向けて発展したエコシステムで行われるようになってきている」と述べている。

  この新しい時代においては、システム開発でキーとなるのは最も強力なIPベンダーであるかもしれないし、デジタル著作権管理などの新しい規格に関する専門知識の所有者かもしれない(別掲記事「DRMは設計者にとって“悪夢”となるか」を参照)。このような動きは、発展し続ける民生機器市場におけるエンジニアリング設計のあり方を大きく変える可能性がある。

DRMは設計者にとって“悪夢”となるか

 民生機器に多くの機能が組み込まれるようになるに連れ、SoCの設計者は、まったく中身が分からないIPブロックをチップに搭載することが多くなってきた。確かに、この手法により複雑さをある程度回避することが可能である。しかし、近い将来課せられるであろうある1つの設計要求には、この手法では対応することができない。その要求とは、DRM(digital rights management:デジタル著作権管理)である。

  米Analog Devices社のビジョン担当フェローであるJosh Kablotsky氏は、「先般、デジタルメディアを扱うために高いセキュリティレベルのシステムを必要とすることになった顧客と話をした。ところが、彼らはセキュリティというものが具体的に何を指すのかが分かっていなかった」という。

  このような状況にあることから、プラットフォームベンダーとシステム設計者との間で、セキュリティのレベル、コスト、実用性について会話を持つことが必要になってくる。Analog Devices社でセグメントビジネスマネジャを務めるScot Robertson氏は「顧客は、想定可能な脅威からデータを保護することから対応を始める。時には、われわれが現実の状況について説明しなければならない。セキュリティは、民生機器のシステム開発者にはなじみの薄い分野だ」と付け加える。

  Kablotsky氏によると、セキュリティ対応は2つの異なる機能によって行われる。1つは暗号化/ハッシュ処理の機能で、システムの外にデータが出ていく際にそれを保護するためのものである。もう1つは、悪意を持つユーザーがシステムに侵入し、データを非保護の状態に変更することがないようにする機能だ。これは、データに対する操作の安全性を保証するためのシステムレベルの対策となる。この機能には、チップに対する物理的なプロービング、電源に対する操作、メモリー処理の傍受といった侵入行為を検出するためのハードウエアを要する。

  システム設計者から専門外の技術を隔離するための最も強力な仕組みは、「カプセル化」である。つまり、機能ではなくインターフェースだけを理解すればよい形でIPを開発するのだ。この方法でのカプセル化の実現には、実行される機能に対し、標準規格、あるいは何らかの共通の定義が存在するという前提が必要となる。しかし、DRMについては、まだそのような前提が存在しない。暗号化によって十分な安全性を確保できるのか、それともハッキング防止のためにシステムのコア部分でハードウエアによる保護が必要になるのかといった、基本的な概念に関する合意さえ存在しない状況なのである。

  また、DRMへの対応はシステムレベルの決定に作用する。また、その対応が脆弱性の要因にもなり得る。「チップの開発者は、リファレンスデザインを利用する場合でも、この事実をしっかりと理解しておくべきだ」とRobertson氏は警告する。

  DRMへの対処法の1つに、別の市場におけるセキュリティ対応機能をそのまま導入するという手がある。英ARM社の製品マーケティング担当ディレクタであるKevin McDermott氏は、「最近、ある携帯電話アプリケーションにおいて、顧客が当社のスマートカード用コア『SC100』を『Cortex』プロセッサとともに使用するという内容のライセンス契約を行った」という例を示した。このケースでは、携帯電話機のほかの機能を保護するために、SC100がハードウエアによる安全な認証方法を提供することになる。

  多くの設計チームにとって、次のレベルの対策は、パートナーと密接にかかわることにより、その技術を理解した上で技術/作業を継承することとなろう。しかし現在のところ、DRMに関する専門知識を有することをアピールする設計企業は非常に少ない。また、実際には上記の戦略には問題がある。DRMは、静的な問題に対して決まった対策を施すという性質のものではない。侵入を検出したり、スパムフィルタを用いたりするような対策を講じても、それに対する異なる攻撃が再び発生するという“終わりのない戦い”が続くのである。

  「代表的なDRM技術である『Windows Media DRM-10』も『FairPlay』もすでにハッキングされており、変更が必要であることが知られている」とRobertson氏はいう。また、変更後のものならうまくいくという保証もない。さらに、一度システムに導入されたDRMは、進化し続けなければならない。「必要なのは1つのソリューションではなく、トレーニングだ」とRobertson氏は語る。

  以上のようなことから、DRMの導入は、システム開発者にとってかなり厳しい要求だといえる。コンテンツプロバイダは、システム開発者が提示する保護レベルでよいかという問いにさえ答えてくれないだろう。

  DRM対応機能は簡単にライセンス契約したり、後から付加したりすることができるものではない。頻繁な更新を要し、場合によっては基本アルゴリズムの改変も必要となるかもしれない性質のものだ。更新処理はソフトウエアで実現するのが一般的だが、ソフトウエアがハードウエアよりも脆弱であることは誰もが認識している。従って、ソフトウエアベースの手法でさえも、何らかの安全なハードウエアコアに依存せざるを得ない。

  インターネット上のコンテンツに対する安全性の保証は、すべてシステム開発者の責務となる可能性がある。システム開発者への要求は増大するばかりである。


前のページへ 1|2|3|4       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSフィード

公式SNS

EDN 海外ネットワーク

All material on this site Copyright © ITmedia, Inc. All Rights Reserved.
This site contains articles under license from AspenCore LLC.