講演する東芝の堀口智哉氏 日経マイクロデバイスが撮影。スライドは,無線通信アルゴリズムの開発フローである。スライドは同社のデータ。
講演する東芝の堀口智哉氏 日経マイクロデバイスが撮影。スライドは,無線通信アルゴリズムの開発フローである。スライドは同社のデータ。
[画像のクリックで拡大表示]
東芝のViterbiデコーダへのCynhesizer適用結果 同社のデータ。
東芝のViterbiデコーダへのCynhesizer適用結果 同社のデータ。
[画像のクリックで拡大表示]
講演するNTTの新田高庸氏 日経マイクロデバイスが撮影。スライド左下のμBOXに,Cynhesizerを適用したFPGAが入っている。スライドはNTTのデータ。
講演するNTTの新田高庸氏 日経マイクロデバイスが撮影。スライド左下のμBOXに,Cynhesizerを適用したFPGAが入っている。スライドはNTTのデータ。
[画像のクリックで拡大表示]
講演する三洋半導体の長尾文昭氏 日経マイクロデバイスが撮影。スライドには同社の動作合成導入の歴史が表示されている。スライドは同社のデータ。
講演する三洋半導体の長尾文昭氏 日経マイクロデバイスが撮影。スライドには同社の動作合成導入の歴史が表示されている。スライドは同社のデータ。
[画像のクリックで拡大表示]

 フォルテ・デザイン・システムズは11月1日に「Cynhesizerユーザー交流会2007」を横浜氏で開催した。その中で東芝,NTT,三洋半導体の3社がそれぞれにユーザー事例を発表した。

 このうち東芝からは,同社研究開発センター モバイル通信ラボラトリーの堀口智哉氏が登壇した。同社は2005年に開かれたCynhesizerユーザー交流会でもユーザー事例を発表しているが(Tech-On!関連記事1),そのときはEDA技術者とハードウェア設計者が,米Forte Design Systems, Inc.のSystemC入力の動作合成ツール「Cynhesizer」の導入を図っていた。

 今回は「ハードウェア設計を専門にしない,アルゴリズム開発者がCynhesizerを使った」(堀口氏)。同氏らは,通常はMATLABやC++でアルゴリズムを開発したり検証したりしている。しかし高周波応答や空間歪など,ハードウェアに実装してみないと検証できない項目もある。そこで,FPGAにアルゴリズムを実装する際に,Cynhesizerがどれだけの力になるかを試してみた。

 堀口氏は三つの適用事例を説明した。Viterbiデコーダ,Turboデコーダ,そしてあるシングル・キャリアの無線通信方式向けのアルゴリズムである。このうち,Viterbiデコーダでは,まずC言語から動作合成可能なSystemC言語に単純に変換してみたところ,人手でRTL設計した場合に比べて,回路規模が2倍,レイテンシが500倍になってしまった。

 そこでハードウェア設計者に相談し,ハードウェア設計を意識した変数宣言(ビット幅の指定など)に変更したところ,人手RTL設計に比べて回路規模は約2倍,レイテンシは80倍程度のところまで改善できた。

 さらにメモリー・アクセス記述を改善したところ,人手RTL設計に比べて回路規模は10%強の増加,レイテンシは2倍(要求仕様内)に改善した。

 またTurboデコーダの例では,メモリー・アクセス・モジュールをRTLで人手設計したところ,レイテンシや回路規模が改善したことを見せた。さらに,あるシングル・キャリアの無線通信方式向けのアルゴリズムをFPGAに実装した例では,コンピュータ上のシミュレーション結果とFPGAに実装した結果(BER)を比較した。講演の最後に堀口氏は,Forteへの要望として,メモリー・アクセスの効率化や関数呼び出しからの動作合成,入力記述の抽象度アップなどを挙げた。

 二つ目のユーザー講演は,NTTのサイバースペース研究所の新田高庸氏が行なった。H.264イントラエンコーダのFPGAの設計にCynhesizerを適用した。2005-2006年に行なった最初のトライアルではCynhesizerのv2.xを使った。動作合成はできたが,画像は出なかった。2006-2007年に行なった2回目のトライアルでは,Cynhesizerのv3.xを使い,画像の出力にも成功した。現在,画質の向上を狙い,動作合成対象FPGAの外側にある回路の改善などを含めた3回目のトライアルを行なっている。

 三つ目のユーザー講演は,三洋半導体のシステムソリューション事業本部デジタルシステム第2事業部 第2新規分野開拓部の長尾文昭氏が行なった。同氏は以前に行ったユーザー講演(Tech-On!関連記事2)で実現を望んでいたインタフェース合成と同等なことが, Cynthesizer v2.5からサポートが始まったモジュラー・インタフェースで可能になったことを説明した。 そして,このおかげで,「システム設計者はアルゴリズムとアーキテクチャに集中できるようになった」と述べた。なお,V3.0からは,FIFOやメモリー・インタフェース,ストリーミング・インタフェース向けには,モジュラー・インタフェースのライブラリの提供も始まり,ユーザー独自仕様のインタフェースでなければモジュラー・インタフェースの作成も不要になったという。

《訂正》 この記事の掲載当初,三つの目のユーザー講演に関して,誤った内容がありました。関係者および読者の方にご迷惑をおかけ致しました。お詫び致します。現在,当該部分は修正された内容になっております。