検索
ニュース

モデルベース環境MATLAB、HDL検証も効率化するFPGAインザループを高速化

モデルベース環境「MATLAB/Simulink」を提供するThe MathWorks。同社の山口貴久氏は、「オプションの『HDL Verifier』を使用することで、HDL検証を効率化できる」と語る。

Share
Tweet
LINE
Hatena

FPGAインザループを高速化

 The MathWorksは、モデルベース環境「MATLAB/Simulink」におけるHDL(ハードウェア記述言語)に対応した「HDL Verifier」の新機能を2016年12月に発表した。HDL Verifierは、ハードウェアベースの検証作業を効率化するMATLAB/Simulinkのオプションを指す。新機能は、評価ボードを用いた検証「FPGAインザループ」の高速化だ。


山口貴久氏

 新機能では、周波数をカスタムに設定ができるようになり、従来のFPGAインザループと比較して最大5倍の速さのクロックレートで動作可能となった。XilinxとIntel FPGA(旧Altera)の開発ボードに対応。開発ボードと接続するインタフェースとしてギガビットイーサネットに加え、PCI Express(以下、PCIe)に対応。PCIeを使用したシミュレーションでは、ギガビットイーサネットと比較して3〜4倍の速度で実行できるという。

 従来のシミュレーションベースで200時間以上要したHDL検証も、FPGAインザループ機能をXilinxの開発ボード「Virtex-6 FPGA ML605」と合わせて使用すれば、4分30秒で実行可能という。Simulinkのテストベンチ作成時間60分を加えても、検証時間短縮が期待できる。

 また、検証用モデル作成からFPGAコンフィギュレーションファイル作成までをワークフローアドバイザー内に統合している。ワークフローアドバイザーの指示に従って作業を進めるだけで、検証環境を作成できるのも特長である。

左=検証用モデル作成からFPGAコンフィギュレーションファイル作成までをワークフローアドバイザー内に統合/右=FPGA評価ボードを利用した検証のイメージ (クリックで拡大) 出典:The MathWorks

 同社アプリケーションエンジニアリング部の信号処理・通信&テクニカルコンピューティング分野で部長を務める山口貴久氏は「HDLの検証結果は1、0のデータで出力される。しかし、自動車のADAS(先進運転支援システム)を中心に画像を扱う企業が増えているため、1、0のデータではなく、実際の画像を見たいというニーズが高まっている。HDL Verifierでは画像として確認、評価が可能である」と語る。

従来より8.5倍高速化する「DPI-Cテストベンチ」

 山口氏はFPGAインザループの他に、HDL Verifierに関する2つの特長を挙げた。1つ目は、論理シミュレーターとの協調シミュレーションである。MATLAB/Simulinkの関数やブロックライブラリを用いることで、「HDLで記述が難しいテストベンチを直感的に記述できる」(山口氏)と語る。論理シミュレーターとのインタフェースは自動で作成でき、シミュレーション結果はMATLAB/Simulink上で解析可能だ。

 2つ目は、膨大なテストデータや長時間のシミュレーションに対応する「DPI-Cテストベンチ」である。DPIとはSystemVerilogと外部言語のインタフェースであり、C言語のDPIがDPI-Cとして定義されている。SystemVerilogからCコードの関数を使用したり、CコードからSystemVerilogのタスクや関数を利用できる。


「MATLAB/Simulink」によるモデルベース検証フロー (クリックで拡大) 出典:The MathWorks

 山口氏によると、DPI-CテストベンチではSimulinkモデル全体をCコード化して使用するため、C言語ベースでのテストベクタ作成も不要になる。生成時間がテストベクタのサイズに依存せず、論理シミュレーターとI/Oファイル間のやりとりがないため、シミュレーション時間の削減にもつながるという。これにより、HDL生成とテストベンチ生成、HDLシミュレーションにおけるトータル時間は「File I/Oと比較して、8.5倍高速化することができた」(山口氏)と語る。

 「MATLAB/Simulinkは難しいツールと思われていることも多いが、使いやすさを意識した工夫、改善を続けている。ぜひ、HDL検証においても活用してほしい」(山口氏)

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る