Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
変化するプロトタイピングの役割
6
最 新 技 術 情 報Technology Update
エンドツーエンド・プロトタイピングによるソフトウェア開発期間の短縮
シノプシス Tom De Schutter
これまで、業界は強力なマルチコア・プロセッシング・アーキテクチャをワンチップに集積することでサブシステムの機能を飛躍的に向上させてきました。この結果、モバイル通信からIoT(Internet of Things)まで非常に多くのアプリケーションが10年前とはまるで違った形に進化しています。こうしてハードウェアが製品イノベーションを牽引していく中で、多くの設計チームが先進の機能を実装して製品を差別化する手段としてソフトウェアを重視するようになっています。
ユーザーが評価する製品価値がソフトウェアの完成度によって左右されるようになった現在、システム・チームを構成するソフトウェア・エンジニアとハードウェア・エンジニアの比が10:1に達することも珍しくなくなっています[1]。このように、製品の機能、パフォーマンス、消費電力、そして開発期間を決定づける要因としてソフトウェア開発の重要性が高まっています。
こうしたソフトウェア重視の姿勢が強まる中、製品開発チームは、より高品質な組込みソフトウェア・コードを短期間で作成できる手法を模索しています。
これまで、プロトタイピング手法は主にハードウェア・エンジニアがハードウェア開発を加速する目的で導入していました。しかしハードウェア開発が完成してからソフトウェア開発をスタートさせるという従来のアプローチに代わり、近年はソフトウェア / ハードウェア協調開発がもたらす大きなメリットが注目されており、設計サイクル早期段階でのアーキテクチャ検討、ソフトウェアの開発と統合、システム・バリデーションにもプロトタイピング手法を活用しようというチームが増えています(図1)。
プロトタイピング・ソリューションは単独で使用してもハードウェアおよびソフトウェア設計チームの生産性向上に寄与しますが、複数のプロトタイピング手法を連携させたエンドツーエンド・プロトタイピング・ソリューションなら、ハードウェア・チームとソフトウェア・チームの双方がより大きなメリットを手にすることができます。
ハードウェア・エンジニアとソフトウェア・エンジニアが協調して開発手法全体の品質を根本から改善していくための効果的なプラットフォームとなるエンドツーエンド・プロトタイピングについて、シノプシスのTom De Schutterがご説明します。
製品におけるソフトウェアの重要性が高まる中、ソフトウェアがハードウェア開発サイクルに与える影響はこれまで以上に大きくなっています。プロトタイピング・ソリューションはすでに多くのハードウェア設計チームにとって重要な開発ツールとして定着していますが、最近ではソフトウェアの開発と統合に欠かせないツールとしても位置づけられるようになっています。
一般的なプロトタイピング環境としては、バーチャル・プロトタイプ、FPGAベース・ハードウェア・プロトタイプ、ハイブリッド・プロトタイプがあります。
バーチャル・プロトタイプでは、商用プロセッサ・コアや標準インターフェイスなどを表現した市販のTLM(トランザクションレベル・モデル)と、設計チームが開発した内製IPのモデル表現を組み合わせて構築したシステム・オン・チップ(SoC)の高速な実行可能モデルを使用します。
FPGAベース・ハードウェア・プロトタイプは、ハイエンドのFPGAデバイスと高度な分割およびデバッグ・ソフトウェアを組み合わせたもので、RTLデザインを短時間でプロトタイピング・プラットフォームにマッピングして作業が行えます。
ハイブリッド・プロトタイプは、バーチャル・プロトタイプとFPGAベース・プロトタイプの両方のアプローチを組み合わせたものを言います。
プロトタイピングには、デバッグとバリデーションの期間を短縮するだけでなく、実チップ完成のはるかに前の段階でデザインの機能表現を簡単に用意できるという利点もあります。このため、プロトタイピングを利用するとハードウェアの完成を待たずにソフトウェア開発スケジュールを進行でき、ソフトウェア開発、アーキテクチャ検討、ハードウェア / ソフトウェア統合、IPブリングアップ、その他のソフトウェア関連タスクを大幅に前倒ししてプロジェクトの早期段階で開始できます。
図1. ハードウェア完成後にスタートする従来の組込みソフトウェア開発の流れ
総開発期間:27 ~ 36 ヶ月
従来の組込み開発
ハードウェア開発 ハンドオフ ソフトウェア開発
アーキテクチャRTL
コード ボード
RTLブロック
シリコン システム
ハードウェアブリングアップ アプリ
コードQA / テスト
BSPカーネル
ドライバOS
統合 システムレベルテスト
7
エンドツーエンド・プロトタイピング
ユースケース:タスク・グラフの自動化によるアーキテクチャ最適化
ユースケース:ハイブリッド・プロトタイピング
このコンセプトをもう1段階先に進めたものが、エンドツーエンド・プロトタイピングです。これは、種類の異なる複数のプロトタイピング・テクノロジを連携させることで、開発スケジュールのさらなる短縮に役立てようというものです。各プロトタイピング手法を連携させてそれぞれの長所を活かすことにより、早期段階でのアーキテクチャ検討、ソフトウェア開発、ハードウェア / ソフトウェア統合、システム・バリデーションというプロトタイピングのメリットを最大限に引き出すことができ、その結果、設計スケジュール全体の時間軸を短縮する真の意味での「シフトレフト」が実現します。
将来の派生デザインでアーキテクチャ最適化を行うことも見据えて、エンドツーエンド・プロトタイピングを採用する例もあります。
SoC設計プロジェクトの多くは、既存のデザインを一部手直しして次世代製品を開発する派生設計が主となっています。このようなプロジェクトでは、設計者の経験とスプレッドシート解析を頼りに現行デザインを最適化し、レイテンシ、スループット、消費電力の改善を図るのが一般的です。このアプローチはスタティック解析をベースにしており、最終製品で動作する実際の
ソフトウェア・シナリオの影響を考慮していません。このため、往々にして過剰設計または過小設計に陥り、リスピンを招いてしまいます。
バーチャル・プロトタイピングを使用すると、新規デザインのアーキテクチャと既存デザイン上で動作するソフトウェア・タスクの間の依存関係を有効利用できます。バーチャル・プロトタイプの活用により、高精度なパフォーマンス・モデル、電力モデル、アプリケーション・データに基づいたアーキテクチャ検討が可能になります。
SoC上で実際に動作させるソフトウェアは、抽象レベルでアプリケーション・モデル(タスク・グラフ)として記述する必要があります。バーチャル・プロトタイピングを用いると、以前のCPUソフトウェア開発のプロトタイプからタスク・グラフを抽出することも、アーキテクトがGPU、DSP、アクセラレータ用にタスク・グラフをキャプチャすることもできます。
このようなアプローチなら、これらパフォーマンス・モデルのシミュレーションによって得られたレイテンシとスループットのデータに基づいて、アーキテクトがデザインに関する重要な判断を下すことができます。このため、スプレッドシートを用いたスタティックなアーキテクチャ検討よりも正確にアーキテクチャのパフォーマンスと消費電力を検討できます。また、バーチャル・プロトタイプを使用すればRTLレベルでのシミュレーションに比べはるかに多くのアーキテクチャ候補をシミュレーションできるため、過剰設計や過小設計を防ぐことができます(図3)。
シノプシスのバーチャル・プロトタイピング・ソリューションの1つであるPlatform Architectには、バーチャル・プロトタイプまたはFPGAベース・プロトタイプからソフトウェア情報を抽出し、タスク・グラフに変換する機能があります。
バーチャル・プロトタイプとFPGAベース・プロトタイプで構成されるハイブリッド・プロトタイプは、ハードウェア・チームとソフトウェア・チームの双方に多くの利点をもたらします(図4;P8掲載)。
最近はFPGAの大容量化が進み、SoCの大部分をプロトタイピングできるようになったこともあって、FPGAベースの物理プロトタイピング・システムと
図2. エンドツーエンド プロトタイピングを利用したソフトウェア駆動型の設計タスクとソリューション
図3. ソフトウェアからのタスク グラフ生成
エンドツーエンド・プロトタイピング
アーキテクチャ設計
ソフトウェア開発 / テスト
ハードウェア / ソフトウェア統合
システムバリデーション
PlatformArchitect
MCO
Virtualizer
タスク・グラフ生成 ハイブリッドプロトタイピング
HAPS
IP Prototyping Kit
DesignWareおよびサードパーティのIP / モデル
ソフトウェアとハードウェアの開発スケジュールを短縮
過去のプロジェクトからのソフトウェア・ワークロード
ソフトウェア・ベンチマーク
TGG
VPU CAモデル / RTL
Platform Architect MCOバーチャル・プロトタイプ
VPU
トラフィックシナリオ
トラフィックシナリオ
GFRBM GFRBM
ソフトウェア
ソフトウェア
CA CPU RTL CPU
インターコネクト
メモリー・サブシステム
新規ソフトウェア開発、統合、テスト
高速モデル
Virtualizerバーチャル・プロトタイプ / VDK
ハイブリッド・プロトタイプ
HAPS FPGAプロトタイプ
シリコン
ハードウェア設計 / 検証
アーキテクチャ工程
開発スケジュールの流れ
ハードウェア / ソフトウェア工程 システム・バリデーション工程
タスクB
タスクA
タスクC
タスクD
タスクE
VPU
Support Q
&A
検証
編S
upport Q&
Aフ
ィジ
カル
編S
upport Q&
A論
理合
成編
New
s Release
ニュ
ース
リリ
ース
新年
のご
挨拶
What's N
ewin D
esignWare IP
?I ndustry Trend
Technology Update
最新
技術
情報
Success S
tory
8
前ページより続く エンドツーエンド・プロトタイピングによるソフトウェア開発期間の短縮
まとめ
バーチャル・プロトタイピング・システムを結合したハイブリッド・プロトタイプは設計チームにこれまでにない利点をもたらすようになっています。たとえばFPGAベース・プロトタイプはハードウェア / ソフトウェア統合とシステム・バリデーションに効果を発揮し、バーチャル・プロトタイプはより高いデバッグ可視性を活かしてソフトウェアの開発とテストにかかる期間を短縮できるという特長があります。これらのプロトタイピング手法を組み合わせるとエンドツーエンドのソフトウェア・プロトタイピング環境が実現し、より高品質なコードを短期間で完成できます。
FPGAベース・プロトタイプだけを使う場合はすべてのRTLが完成している必要がありますが、バーチャル・プロトタイピングと組み合わせると、次世代CPUコアのモデルを使用できます。このようなハイブリッド・アプローチでは、早期ブリングアップが可能です。すでにバーチャル・プロトタイピングを導入している設計チームの場合、物理プロトタイプを接続するとドーターボードなどを使って実世界のI/Oを利用でき、より高速で高精度なプロトタイピングの可能性が広がります。
ハイブリッド・プロトタイピングは、IP固有ソフトウェアのブリングアップに大きな効果があります。早期段階で利用可能なモデルを使用して新しいプロセッサのバーチャル・プロトタイプを作成し、これにFPGAにマッピングしたインターフェイスIPを組み合わせることで、IP固有ソフトウェアの開発、テスト、ハードウェア / ソフトウェア統合のための完全な機能を備えたソリューションをいち早く用意することができます。
シノプシスは、バーチャル・プロトタイプ上で動作する最新のARM®プロセッサ・サブシステム(事前検証済みのAMBA®トランザクタによって実現)を利用してFPGA上で動作するIPをハイブリッド・プロトタイピング・ソリューションの一部としてご提供しています。これにより、HAPS上のIPをバーチャル・システムで「包み込み」、完全なSoC環境の中でIPブロックのバリデーションを行っていただけます。シノプシスのハイブリッド・プロトタイピング・ソリューションをご利用いただくと、バーチャル・プロトタイプと
物理プロトタイプを接続するカスタム・ハードウェア / ソフトウェア・インターフェイスの開発と維持が不要になります。
製品の成功と市場投入時間を左右する要因としてソフトウェアの重要性が高まる中、「ソフトウェアの品質確保に要する期間」を設計サイクルの重要な指標と位置づけるチームが増えています。
エンドツーエンド・プロトタイピングは、システム設計のアプローチを根底から変革します。ハードウェア開発の後でソフトウェア開発を実施する従来のサイクルでは、先にハードウェアを完成させてそれにソフトウェアを合わせる必要がありましたが、エンドツーエンド・プロトタイピングを利用するとハードウェアとソフトウェアの両方をすり合わせながらパフォーマンス、消費電力、機能を最適化したシステムを開発できます。このように、エンドツーエンド・プロトタイピングはハードウェア・エンジニアとソフトウェア・エンジニアが協調してソリューション全体の品質を改善していく上で効果的な開発プラットフォームとなります。
プロトタイピング手法は、アーキテクチャ検討、ソフトウェア開発、ハードウェア / ソフトウェア統合、システム・バリデーションに役立てることができます。プラットフォームの垣根を超えて異なる種類のプロトタイピング手法を連携させることでプロトタイピングの価値と効果が相乗的に高まり、ソフトウェア開発の加速と設計期間全体の短縮が実現します。
最近では、製品のソフトウェア品質を高めるためにプロトタイピング手法を導入する開発チームが増えています。エンドツーエンド・プロトタイピングを導入してもソフトウェアの複雑さが解消されるわけではありませんが、差別化した革新的な製品を実現する手段としてのソフトウェアを、より自信を持って投入できるようになります。
参考文献 / 詳細情報[1] 参考文献:システム設計チームの構成比について http://www.eejournal.com/archives/articles/20150519-software/● ウェブページ:シノプシスのエンドツーエンド・プロトタイピング http://www.synopsys.com/JP2/Prototyping
著者紹介Tom De Schutter:シノプシスのバーチャル・プロトタイピング事業推進を担当。CoWare社でTLMのプロダクト・マーケティング・マネージャとして活躍した後、同社の買収に伴いシノプシスに入社。システムレベル設計に関するマーケティングおよびエンジニアリングに15年以上従事。マーケティング・チームに加わる前はCoWare社でTLMチームを指揮。
図4. シノプシスのハイブリッド プロトタイプ
Virtualizer - VDK
バーチャルI/O
TLMライブラリ
TLMモデル
モデル作成 / 解析ツール
データ交換
トランザクタプロトコル:AMBA
物理リンク:UMRBus
HAPS
RTL
FPGA合成 /
デバッグ・ツール
ドーターボード
インターフェイス……
PHY
DesignWareIP コア