シノプシス、満を持してMatlab Mファイルからの高位合成ツール「Synphony」を発表
2009年10月12日、シノプシスは、新製品となるMatlab Mコードからの高位合成ツール「Synphony」を発表した。
シノプシスによると、今回発表したHLS(高位合成)ツール「Synphony」は、買収したシンプリシティのDSP合成ツール「Synplify DSP」の合成技術をベースに開発したもので、シノプシスが以前提供していた「Behavior Compiler」とは無関係。新たにシノプシス社内で開発された新世代のHLSツールとなる。
「Synphony」の最大の特徴は、その入力をMathWorks社「MATLAB」のMコードとしている点で、競合他社製品のそれとは違い、アルゴリズム開発者の大半が利用していると言われている「MATLAB」の出力するMコードから、一気にRTLを合成する事ができる。
※↓「Synphony」のスクリーンショット
シノプシス、ソリューション・マーケティング部門VPのGeorge Zafiropoulos氏によると、既に多数のHLSツールが市場に存在しており、新たなHLSツールを製品化するにあたり、シノプシスとしては他社製品には無い新しい価値を提供する必要があった。その一つが「MATLAB」Mコードからの合成で、これにより本当の意味でアルゴリズム開発からのダイレクトなインプリメントが可能。多くのHLSツールが採用しているC言語からの合成というアプローチは、Mコードからの変換作業を発生させるだけでなく、言語やモデリング方法の教育など手間がかかり過ぎてしまう点が難点であったが、「Synphony」はそれら課題を解決し更に効率的な高位合成フローを実現しているという。
「Synphony」には、M言語コンパイラと高位合成エンジンの2つの処理機構が搭載されており、まず最初にMコードから固定小数点化されたCモデルを生成し、同モデルから高位合成を実行、RTLを生成するというフローをとる。固定小数点化モデルの生成はユーザー制約に基づいて自動的に行われ、ツールに備えられているハイレベルな合成用IPモデルを利用して効率化することも可能。Mコードの合成には制約があるが、合成サブセットとして一般的な機能やデータタイプは一通りサポートされている。
高位合成においては、スケジューリング、リソースシェアリング等一般的な処理のほかに、自動パイプライン挿入機能や「Design Compiler」と連携したタイミング見積機能などを搭載。クロック周波数、面積、パワーなどのトレードオフに伴うユーザー制約は全て制約ファイルとしてツールに与える形を取り、ASICおよびFPGAの各種ターゲットに応じて最適なRTLを合成する。高位合成エンジンには中間成果物としてANSI-Cモデルを生成する機能も備えられており、同モデルは各種仮想プロトタイピング環境やSystemC環境で利用する事が可能。しかしCモデルは生成できるが、Cモデルからの高位合成は受け付けない。また、高位合成エンジンには、シミュレーション向けのテストベンチ生成機能やシノプシスのシミュレータ「VCS」向けのスクリプト生成機能も備えられているという。
George Zafiropoulos氏によると、「Synphony」はCモデルに一切触れることなくMコードからRTLを合成する事が可能で、既存HLSツールの課題とされているコントロール系回路の合成にも対応。ターゲットデバイスによってツール構成が変わるが、最上位の製品パッケージでも既存の市販HLSツールより安価な価格設定がなされているとの事。HLS市場は、フォルテ、メンターが先行し、それをケイデンスが追随する形となっていたが、新たに登場した「Synphony」のMATLAB Mコードからの高位合成というアプローチが大きく市場規模とシェアを変えるのは間違いない。
尚、「Synphony」は現在特定の先行顧客に提供中。一般リリースは2009年12月の予定となっている。
= EDA EXPRESS 菰田 浩 =
(2009.10.13
)