Verilog テストベンチおよび VHDL テストベンチ

MATLAB および Simulink で作成した FPGA および ASIC の設計検証

従来の VHDL® や Verilog® テストベンチでは、HDL コードを使用して論理設計に対するスティミュラスを記述し、設計の出力が仕様と一致するかどうかを確認します。しかし、エンジニアの多くは、VHDL テストベンチや Verilog テストベンチの作成に MATLAB® と Simulink® を使用しています。MATLAB と Simulink には、アルゴリズムを記述するための生産性が高くコンパクトな表記法と、アルゴリズムの動作を確認できる可視化ツールが用意されているためです。

このように、MATLAB や Simulink を使用するエンジニアは、さまざまな方法でアルゴリズムによる HDL 実現の正確性を検証できます。

HDL コシミュレーションを使用した検証

MATLAB または Simulink テストベンチと HDL シミュレーターを併用して、テスト対象設計 (DUT) を検証します。HDL Verifier™ は、このコシミュレーション プロセスを自動化し、MATLAB または Simulink と HDL シミュレーター間の通信と同期を実行します。MATLAB または Simulink テストベンチでは、HDL シミュレーターからの出力値と真理値モデルからの期待値を比較して、不一致をレポートできます。

FPGA インザループ シミュレーションを使用した検証

FPGA インザループ シミュレーションには、Xilinx®Intel®Microsemi® の FPGA 開発ボードにプログラムされた DUT と MATLAB テストベンチまたは Simulink テストベンチを使用します。HDL Verifier は、FPGA ベンダーのツールと併用して、HDL のコンパイル、プログラミング ファイルの作成、開発ボードへの読み込み、MATLAB または Simulink セッションとボード間の通信を実行できます。FPGA インザループ シミュレーションでは、MATLAB や Simulink がその役割を果たすため、Verilog テストベンチや VHDL テストベンチを作成する必要はありません。

SystemVerilog DPI テストベンチを使用した検証

SystemVerilog はテストベンチ開発に使用される Verilog の拡張版であり、一般的なすべての HDL シミュレーターでサポートされています。SystemVerilog Direct Programming Interface (DPI) を通じて、C/C++ コードを Synopsys® VCS®、Cadence® Incisive®、Xcelium™、Mentor Graphics® ModelSim® または Questa® などのシミュレーターと統合できます。HDL Verifier と MATLAB Coder™ または Simulink Coder™ を併用することで、実稼働検証環境で使用する SystemVerilog DPI テストベンチを生成できます。

HDL Verifier は、SystemVerilog DPI テストベンチを次の 2 種類の形式で生成できます。

  • コンポーネント テスト ベンチ: DPI コンポーネントとして使用するために Simulink サブシステムから C コンポーネントを生成する場合は、オプションで SystemVerilog テストベンチを生成できます。テストベンチは、生成された DPI コンポーネントを Simulink モデルのデータベクトルに対して検証します。
  • HDL コードテストベンチ: HDL Coder を使用して Simulink サブシステムから HDL コードを生成する場合は、オプションで SystemVerilog テストベンチを生成できます。このテストベンチは、HDL 実装の出力と Simulink モデルの結果を比較します。

Universal Verification Methodology (UVM) による検証

HDL Verifier は、Simulink モデルから直接 UVM コンポーネントを生成することもできます。HDL Verifier は、テストベンチのモデルから SystemVerilog UVM シーケンスやスコアボードのコンポーネントを生成します。また、動作レベルのテスト対象設計 (DUT) の SystemVerilog ファイルも作成します。その後、動作レベルの DUT をハンドコーディングされた RTL または HDL Coder で生成された RTL に置換できます。

生成されたコンポーネントは、Siemens EDA ModelSim® または Questa®、Cadence® Xcelium™、Synopsys®VC® で、完全な UVM 環境として実行できます。


参考: FPGA、ASIC、および SoC 開発向け MATLAB, HDL Coder, HDL Verifier, Vision HDL Toolbox, MATLAB Coder, Simulink Coder