バックナンバーはこちら

today&tomorrow

Technology Update

2018 vol.111

その製品設計、間違っていませんか?

設計プロセス全体を通じたシステム要求とのすり合わせの重要性

シノプシス プロダクト・マーケティング・マネージャー Malte Doerper

SoCの開発と製造が複雑になるにつれ、そのコストも莫大なものとなっています。半導体業界が数十億ドルという費用を検証に費やしているのも当然と言えるでしょう。

よく知られているように、検証とはデザインが仕様どおりに動作するかどうかをチェックする非常に重要な作業です。しかしSoCの検証が完了しても、実際の環境、実際のユース・ケースでそれが意図したとおりに動作するかどうかは別問題です。

画像

図1:この通路は仕様どおりかもしれませんが、ユーザーのニーズと要求を満たしていないことは明らかです。

実際のユース・ケースとすり合わせてチェックを行うことをバリデーション(妥当性確認)と呼びます。この作業を実機完成後に行って不具合を修正するのは、明らかにコストがかかりすぎます。そこで、半導体企業は以下の取り組みを強化するようになっています。

  • システム要求を早期に取り込み、ハードウェア/ソフトウェア仕様に正しく落とし込む。
  • 継続的にバリデーションを実施して、HW/SWデザインが当初のシステム要求およびユース・ケースを満たしていることを確認する。

画像

図2:SoCプロジェクト成功の鍵は、システム要求の取り込みとシステム要求に対する継続的バリデーションの2つにあります。

一般に、組込みハードウェア/ソフトウェア開発では以下に関するシステム要求があります。

  • 性能:さまざまなユース・ケースでSoCシステムが十分な性能とスループットを発揮できるか(任意のアプリケーションを実行しながらビデオをレンダリングできるか、など)。
  • 消費電力:バッテリ残量が少ない場合など、さまざまなユース・ケースにおいてSoCのパワー・マネージメントがユーザーの納得できる消費電力と性能のバランスを実現できるか。
  • ビヘイビア:他のデバイスを接続した実際の利用環境でSoCのシステム機能が期待どおりに動作するか。
  • 安全:ユーザーや環境に起因するさまざまなエラーや故障からSoCのシステム機能が回復するか。

システム要求の取り込み

新規SoCプロジェクトを開始したら、まずシステム・アーキテクトは特定のハードウェア/ソフトウェア・アーキテクチャが要求を満たすことができるかどうかを予測する必要があります。アーキテクチャ定義にバーチャル・プロトタイプを導入すると、いくつもの候補を短時間で検討し、その結果に基づいて最適な設計判断を下すことができます。以前のブログでPat Sheridanが述べているように、システム要求はfps(1秒あたりのフレーム数)やブラウザの起動時間などのKPI(Key Performance Indicator)として表すことができます。

目標のKPIを指標にして複数のアーキテクチャ候補を比較、検討することにより、システム要求を満たしたSoC仕様を作成することができます。

継続的バリデーション

Tom De Schutterが最近の記事で述べているように、FPGAベース・プロトタイピングを利用するとシステム・バリデーションを実機完成前の段階まで前倒しできます。この記事では、検証済みのHDMIデザインを実際の環境に接続してシステムに重大な問題が見つかった例が取り上げられています。

バーチャル・プロトタイピングを利用すると更に前倒しが可能で、RTL完成前にバリデーション・タスクを開始できるようになります。

  • a) ソフトウェア開発にバーチャル・プロトタイプを導入すると、ソフトウェアのビヘイビアと安全に関する要求を早期段階でバリデーションできます。バーチャル・プロトタイプでは完全な可視性と可制御性が得られるため、マネージド・ストレージ・デバイスにおけるフラッシュ・メモリーの故障など、現実世界ではほとんど再現が不可能なユース・ケースもバリデーションが可能です。
  • b) アーキテクチャ定義にバーチャル・プロトタイプを導入すると、先に述べたようにシステム性能および消費電力を早期段階でバリデーションできます。

その後の開発工程でハードウェアとソフトウェアを詳細化する際も、システム要求とのすり合わせを継続的に実施することが重要です。バーチャル・プロトタイプには、これを支援する機能として以下の2つがあります。

  • RTLサブシステムをバーチャル・プロトタイプに取り込んだり、バーチャル環境をFPGAベース・プロトタイプに取り込んだりしてインクリメンタルに詳細化できるため、既存のデザインを積極的に再利用しながらデザイン全体を容易に詳細化できます。
  • デザインにパフォーマンス・モニタを追加すると、インプリメンテーション・フローの間はもちろんSoCテープアウト後も性能/消費電力のKPIを継続的に追跡してシステム・バリデーションを実行できます。

画像

図3:インクリメンタルな詳細化により、両方のプロトタイピング環境にRTLやバーチャル・コンポーネント取り込んで
再利用しながらバリデーションが可能。

いかがでしょうか。皆さんの製品設計は間違っていませんか。バーチャル・プロトタイピングはSoCフロー全体を通じてFPGAベース・プロトタイピングと連携できるため、システム要求を早期段階で取り込んでバリデーションすることが可能になります。

カテゴリートップ