日立COM、ANSI-Cからの動作合成で短期間のアルゴリズム実装を実現>>メンターのCatapultで工数を5分の1以下に
2006年9月1日、世界18都市で開催されるメンター・グラフィックス社のイベント「EDA Tech Forum2006 東京」が東京コンファレンスセンター・品川で開催された。
今年の「EDA Tech Forum2006」では、メンターの他にEDA及びエレクトロニクス関連の計7社が参加して技術セッションや製品展示を実施。1日で約500名の参加者を集め、メンター社製品に関するセッションを中心に計21のテクノロジ・セッションが行われた。
EDACの会長でもあるメンターの会長兼CEO Walden C. Rhines氏のキーノート・スピーチ、中国SMIC社の社長兼CEO Richard Chang氏の特別講演に続いて行われたテクノロジ・セッションでは、ミックスシグナル・シミュレータ「ADVance MS」、SPICEシミュレータ「Eldo」、動作合成ツール「Catapult」、フォーマル検証ツール「0-In」の各製品について、ユーザによる成功事例の発表があった。
事例発表の中で最も参加者が多かったのは、 株式会社日立コミュニケーションテクノロジーによる動作合成ツール「Catapult」のサクセスストーリー。「通信技術におけるC言語からの動作合成による設計事例」と題された発表では、「Catapult」による「FECアルゴリズム」の回路実装に関する詳細が紹介された。
「FEC:順方向誤り訂正(Forward Error Correction)」は、通信向けアプリケーションで用いられるアルゴリズムで、通信関連の製品・ソリューションを手掛ける日立COMでは、需要の多いアルゴリズムの一つ。伝送線路を延ばすために必要な機能である一方、コアとなる機能では無く、複雑な動作がハードウェア化に不向きであったため、これまで回路実装は敬遠されていた。
今回のプロジェクトでは、この「FECアルゴリズム」を短期間で回路実装したいというニーズが発生し、人手設計では工数的に間に合わず、市販のIPではインタフェースの合わせこみなど工数の発生が想定されたため、以前から調査を進めていた動作合成による回路実装に挑戦することになったという。
日立COMでは当初、この「FECアルゴリズム」のハード化をSystemCベースで行う方向で検討を進めていたが、SystemCに不慣れだった上、ANSI-Cからでも品質の高い回路を合成できるという「Catapult」の評判を聞きつけ、手馴れたANSI-Cからの合成に着手。その結果、合成した回路は要求性能であったスループット1を実現。レイテンシ、周波数、回路規模ともに仕様スペック内に収めることができた。
また、保険策として平行して進められていた人手設計による回路と比較すると、「Catapult」で合成した回路のレイテンシと周波数は人手回路とほぼ同等、回路規模は約50%削減、コードの記述量は30分の1程度に抑え、かかった工数は人手によるRTL設計を100とした場合、「Catapult」を用いた動作合成フローは18で、全体の設計工数を5分の1程度に短縮する事に成功した。
発表を行った日立COM、キャリアネットワーク事業部、DA部の阿部氏によると、「Catapult」を使って回路を自動合成して良かった点は大きく2点で、一つは1種類のCコードから様々なアーキテクチャの回路を合成できた点。これによりRAMの仕様変更や、CからRTLへのパラレル処理化(またはその逆)などにも対応することができた。もう一つは、検証時間を大幅に短縮できた点で、20万パターンのテストデータを用いたRTLシミュレーションで40日相当の検証を、Cコードによる検証であれば1時間程度で処理することが可能で、今回のプロジェクトでもCによる検証でRTLシミュレーションでは発見できないバグを発見できたとした。
また阿部氏は、Cコードから動作合成を行う上でのコツとして、Cコードを検証用の1次コードとインプリ用(合成用)の2次コードとに分けて利用する方法を紹介。1次コードは動作合成ツールの制約を考えずにポインタなどを駆使して検証用にコードを高速化し、2次コードは合成向けにツールの制約とハード化を考慮してしっかりと最適化するという2段構えのアプローチで、各フェーズの作業を比較的スムーズに進める事が出来たと語った。
尚、「Catapult」の利用で困った点としては、実装時のタイミング収束(合成設定の周波数と実装時の周波数の誤差)に関する問題と合成結果の解析(遅延パスのRTL修正)以外は、全て既にメンター側で対応済みとの事で、発表の最後には今後に向けたツールへの改善要求と課題・期待して、以下の点が挙げられた。
■インタフェース合成関連の機能強化
?タイムドなI/Fライブラリの拡充
?FIFO以外のI/F合成機能
■階層化合成への対応(デザインの階層を保持した合成)
■コーディング・ガイドラインの策定
?動作合成の結果を左右するCの書き方について
■サードパーティーツールとの親和性向上(論理合成、シミュレータ)
■タイミング見積の精度向上/タイミング収束手法の確立
■制御ロジック設計手法の確立
■CとRTLの等価性検証手法の確立
■動作合成に適した専用のCデバッガがあると嬉しい
※「Catapult」に関する詳細は、メンター・グラフィックス・ジャパン株式会社までお問い合わせ下さい。
http://www.mentorg.co.jp
※株式会社日立コミュニケーションテクノロジー
http://www.hitachi-com.co.jp
= EDA EXPRESS 菰田 浩 =
(2006.09.11
)