動作合成とC/C++/SystemC/SystemVerilogの協調設計 ―― Cynthesizerの活用事例

渋谷 貴利,内海 功朗,森 義一

tag: 半導体

技術解説 2009年7月14日

3.分析 ~プロファイリング~

 協調設計で重要なのはハードウェア化を行う対象の選択です.この判断を行うためにソフトウェアを分析します.具体的にはプロファイリングを取得して結果を解析することで,ソフトウェア実行でボトルネックとなっている部分を知ることができます.

 プロファイリングを取得するためにはいくつかの方法があります.

  1. プログラム開発ツール
  2. CPUソフトウェア・シミュレータ
  3. EDA協調検証ツール

 各方法はそれぞれの特徴があり,その長所を生かすように使い分けます.1.のプログラム・ツールは容易に利用できることが最大の特徴で,ソフトウェアの実行時間の中で個々の関数が占める割合などを知ることができます.ここでボトルネックとなる関数が判明します.

 2.は具体的にターゲットとなるCPU向けにコードを生成し,そのコードをシミュレーションで実行することで関数の実行時間が分かります.

 3.のEDA協調検証ツールは,2.にハードウェアのSystemCモデルを取り込んだ形でのシミュレーションが可能で,ハードウェアとソフトウェアを統合した形での性能評価が実現できます.実行結果に対して強力な解析機能も持ちます.

 図2にプロファイリングを行うためのツールの一つである「gprof」の出力例を示します.このように関数個別の占める割合や関数の親子関係を含めた形での解析結果を示せます.特定の部分のデータが必要な場合には,その部分を関数化することでデータを取得できます.この結果からハードウェア化すべき関数を決定して次の工程に移行します.


図2 プロファイリングを行うためのツールの一つである「gprof」の出力例

関数個々の占める割合や関数の親子関係を含めた形での解析結果を示すことが可能

 

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日