MATLABがハード設計向けに進化、MファイルからのダイレクトなRTL生成が可能に

2012年3月5日、Mathworksはアルゴリズム開発環境「MATLAB」に付属する2つの新製品「HDL Coder」と「HDL Verifier」のリリースを発表した。
今回発表された2つの新製品「HDL Coder」および「HDL Verifier」は、「MATLAB」の新バージョン2012aに付属するハードウェア設計向けのオプション製品で、厳密に言うと中身的には新製品ではない。「HDL Coder」はこれまで「Simulink HDL Coder」として、「HDL Verifier」は「EDA Simulator Link」として提供されていた。
では今回リリースされた製品は何が違うかと言うと、既存の「Simulink HDL Coder」がSimulinkモデルからRTLを自動生成するツールだったのに対し、新しい「HDL Coder」はSimulinkモデルからの生成に加えてMATLABのMファイルから直接RTLを生成することが可能となった。これまではMATLAB環境からRTLを生成するにはSimulinkを介す必要があったが、「HDL Coder」を使用すればその必要は無くなる。
matlab01.jpg
※画像はMathWorks提供のデータ。

MATLAB MファイルからのRTL生成にあたっては、アルゴリズム中の浮動小数点を固定小数点に自動変換する事も可能だが、この処理には別売のオプション・ツール「MATLAB Fixed-Point Toolbox」が必要となる。また、「HDL Coder」はメモリ・マッピング、パイプライン、演算リソースの共有などについてユーザー任意の指定が可能で、入力するMファイルのテストベンチからRTLのテストベンチを生成することも可能。VerilogまたはVHDLのRTLコードと合わせてAltera,Xilinx,Mentor,Synopsys各社の論理合成ツール用のスクリプトも出力できる。更に別売りオプション・ツールの「Embedded Coder」を利用すれば、MファイルからSystemC TLM2.0のコードも出力することが可能だという。

MathWorks_12aHDL.jpg

※画像はMathWorks提供のデータ。HDL CoderのGUI画面

MathWorksジャパンの柴田克久氏によると、「HDL Coder」は主にアルゴリズム開発者をターゲットとした製品で、アルゴリズム開発者が下流のハードウェア設計者に設計データを渡す際に役立つとしている。同種の製品としてはSynopsysの提供する「Synphony Model Compiler」があるが、こちらは論理合成ツールと連動してターゲット・デバイスに特化した回路の最適化を行うなど、実装向けのコード生成に主眼を置いた製品で、どちらかと言えばハード設計者向けであり「HDL Coder」のコンセプトとは温度差を感じる。アルゴリズム開発者にしてもハード設計者にしても、MATLAB/SimulinkからのRTL合成を求めるニーズは少なからずあるが、両者のニーズをうまく吸収するには、MATLABからRTLにダイレクトに落としこむよりも、まずは中間フォーマットとしてESLシミュレーションにも利用可能なCやSystemCをキッチリ出力する。そんなソリューションが有ると合成エンジンの選択肢も広がり、ユーザーにとっては嬉しいかもしれない。そういった意味で「HDL Coder」で実現されるMファイルからTLM2.0へのパスは興味深い。

もう一つの新製品「HDL Verifier」は、以前の「EDA Simulator Link」で実現していたMATLAB/Simulinkと論理シミュレーターとの連携に加え、FPGAボードとの連携機能を実現したもので、機能としてはMATLABの前バージョンから実装されていた。MATLAB/SimulinkとFPGAボードとはEthernetインタフェースで接続され、「HDL Coder」で生成したRTLコードをAlteraおよびXilinxのインプリメント環境に渡してFPGAボードに実装可能。これまではXilinx製FPGAへのインプリメント・パスをサポートしていたが、今回リリースした「HDL Verifier」からAltera製FPGAへのインプリメントとハンド・コーディングされたRTLコードの実装が可能となった。同環境を利用すれば、MATLAB/Simulink環境で開発したアルゴリズムを「HDL Coder」でRTLに落とし、「HDL Verifier」を用いてFPGAボードで検証する事が可能となる。

matlab02.jpg
※画像はMathWorks提供のデータ。

尚、「HDL Coder」および「HDL Verifier」は既に出荷中でライセンス価格は、「HDL Coder」が135万円、「HDL Verifier」が42万5000円から。それぞれのツールを利用するためには既存のMATLAB/Simulink環境を最新のバージョン2012aにアップグレードする必要がある。また、MathWorksではAlteraおよびXilinx製FPGAを搭載した15種類のFPGAボードとCadenceおよびMentorのHDLシミュレーターを「HDL Verifier」で正式サポートしている。


= EDA EXPRESS 菰田 浩 =
(2012.03.08 )