NEWS

 
SIEMENS
s2c
 

「オブジェクト指向はハード設計向き」三洋半導体、ライブラリを多用して動作合成を効果的に活用>>フォルテ社Cynthesizerユーザー会で講演

2007年11月1日、SystemCベースの動作合成ツールを手掛ける、フォルテ・デザイン・システムズは、新横浜のホテルにて「Cynthesizerユーザー交流会2007」を開催。120名近くの参加者を集め、ユーザー事例を中心にCynthesizerの開発背景や動作合成を取り巻く技術動向などが発表された。

今回、計3件あったユーザー事例発表の中で、「Cynthesizer」のヘビーユーザーと言える立場で発表したのが三洋半導体株式会社の長尾 文昭氏で、講演タイトルは「インタフェース・メモリアクセス・演算系・アルゴリズムの設計およびデバッグを独立して行うIPコア開発」。「Cynthsizer」を初めて使ってみたという他の事例とは対照的に、「Cynthsizer」を使って如何にして設計を効率化しているかという実践的なノウハウが披露された。
長尾氏によると、「オブジェクト指向はハード設計に向いている」という考えの下、2001年よりハード設計にSystemCを導入し、独自開発したSystemCからVerilogへの言語変換ツールを利用した設計を開始。コーディングスタイルを通常の演算フローから、ステートマシンとデータフローに分離し、設計をオブジェクト指向に落とし込もうと試みたが、C++の言語機能全てには対応する事ができず、その後、Verilog入力の動作合成ツールの利用を経て2004年に「Cynthesizer」を導入。現在、「Cynthesizer」によってC++の言語機能に対応したオブジェクト指向のハード設計を実現している。

具体的には、モジュール、接続、演算系(信号)、メモリアクセス(信号)をオブジェクトとして、C++の持つカプセル化、多態性、継承、テンプレートというオブジェクト指向の機能を活用してハードを設計。インタフェース、メモリアクセス、演算系はライブラリとして扱い、アルゴリズムとアーキテクチャ(モジュールと階層構造)はテンプレートに従って記述し、最終的に動作合成によって回路を合成するという形をとる。これにより、RTL設計で行っていた演算器/レジスタの共有化やスケジューリング、信号制御を動作合成ツールに任せ、設計の中心をデータ処理の流れに置く事が可能となり、データの処理手順や処理方法の改善による回路性能の向上を実現。インタフェースや信号のライブラリ化は、設計を簡略化するだけでなく、設計の再利用性も高まり設計工数の削減という面でも有用性が高いという。

尚、長尾氏は、オブジェクト指向と動作合成(Cynthesizer)による設計事例として、MP3エンコーダーの設計事例を紹介。デザイン仕様に応じたインタフェース、メモリアクセス、浮動少数点型ライブラリを独自に用意。(フォルテからも各種ライブラリが提供されている)アルゴリズムをインタフェースを明確にした形でモジュール化(テンプレートで記述)し、モジュール接続、データ型の決定、配列の分類(レジスタorメモリ)、という手順を経てCyntjesizerで動作合成を実行。合成結果を確認してから入力記述や合成パラメーターの最適化を行い、最初の合成結果を得てから約2週間でMP3のサンプルデータの処理に必要なクロック数を約65%削減。回路規模も約19%削減する事ができたという。

※「Cynthesizer」に関する詳細は、フォルテ・デザイン・システムズ株式会社にお問い合わせ下さい。
http://www.forteds.com/japan/

※三洋半導体株式会社
http://www.semic.sanyo.co.jp

= EDA EXPRESS 菰田 浩 =

(2007/11/06 )

 

ページの先頭へ