MATLAB および Simulink で作成した FPGA および ASIC 設計を検証する
従来の Verilog®テストベンチは、論理設計に対してスティミュラスを記述し、設計の出力が仕様と一致するかどうかを確認するコードモジュールです。多くのエンジニアが、仕様モデル用のシステムのテストベンチ作成に MATLAB® と Simulink® を使用しています。MATLAB と Simulink には、アルゴリズムを記述するための生産性が高くコンパクトな表記法と、アルゴリズムの動作を確認できる可視化ツールが用意されているためです。続いて、エンジニアは、システムのテストベンチに基づいて Verilogテストベンチを開発します。
MATLAB や Simulink のユーザーは、手動で Verilogテストベンチのコードを作成することなく、複数の方法で HDL アルゴリズムの実現の正確性を検証できます。
HDL コシミュレーションを使用した検証
Verilogテストベンチのコードを記述する代わりに、HDL シミュレーターと MATLAB または Simulink のテストベンチを併用して、テスト対象設計 (DUT) を検証できます。HDL Verifier™ により、このコシミュレーション プロセスを自動化します。MATLAB または Simulink のテストベンチでは、HDL シミュレーターからの出力値と真理値モデルからの期待値を比較して、「不一致」をレポートします。
FPGA インザループテストを使用した検証
FPGA インザループ シミュレーションにより、Xilinx® や Intel®、Microchip の FPGA 開発ボードにプログラミングされている DUT と共に MATLAB または Simulink のテストベンチを使用することもできます。HDL Verifier を FPGA ベンダーのツールと併用すると、HDL のコンパイル、プログラミング ファイルの作成、開発ボードへのファイルの読み込み、MATLAB または Simulink セッションとボード間の通信が可能になります。FPGA インザループでは、MATLAB または Simulink が同等の役割を果たすため、Verilogテストベンチの生成は不要です。
SystemVerilog DPI テストベンチを使用した検証
Verilogテストベンチを使用する代わりに、HDL シミュレーターにコードをエクスポートすることもできます。SystemVerilog はテストベンチ開発に使用される Verilog の拡張版であり、一般的なすべての HDL シミュレーターでサポートされています。SystemVerilog Direct Programming Interface (DPI) を使用すると、Synopsys® VCS®、Cadence Xcelium™、Siemens EDA ModelSim® または Questa®、Xilinx® Vivado® などのシミュレーターと C/C++ コードを統合することが可能です。HDL Verifier と MATLAB Coder™ または Simulink Coder™ を併用することで、SystemVerilog DPI テストベンチを生成し、製品を検証できます。
HDL Verifier は、SystemVerilog DPI テストベンチを次の 2 種類の形式で生成できます。
- コンポーネント テストベンチ: DPI コンポーネントとして使用するために Simulink サブシステムから C コンポーネントを生成する場合は、SystemVerilogテストベンチを生成できます。このテストベンチでは、Simulink モデルのデータベクトルに対して、生成された DPI コンポーネントを検証します。(SystemVerilog DPI コンポーネントの生成を参照。)
- HDL コードテストベンチ: HDL Coder を使用して Simulink サブシステムから HDL コードを生成する場合は、SystemVerilog テストベンチを生成できます。このテストベンチは、HDL 実装の出力を Simulink モデルの結果と比較します。(SystemVerilog DPI テストベンチを使用した HDL 設計の検証を参照。)
Verilogテストベンチによる生成された HDL の検証
HDL Coder を使用して HDL を生成する際に、サブシステムを選択して Verilogテストベンチを生成できます。HDL Coder では、Simulink シミュレーションを実行し、DUT の入力ベクトルと期待される出力データを取得することで、Verilogテストベンチを生成します。HDL Coder は、MATLAB® または Simulink のシミュレーションからデータファイル (.dat) に DUT のスティミュラスと参照データを書き込みます。
HDL シミュレーション中に、HDL テストベンチは .dat ファイルに保存されたスティミュラスを読み取ります。このテストベンチでは、実際の DUT 出力と期待される出力を比較します。
製品使用例および使い方
HDL コシミュレーション
FPGA インザループ シミュレーション
SystemVerilog DPI テストベンチ
参考: FPGA、ASIC、および SoC 開発向け MATLAB, HDL Coder, HDL Verifier, Vision HDL Toolbox, MATLAB Coder, Simulink Coder