Main Content

このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。

SystemVerilog DPI テストベンチ

HDL Verifier™ は、C 言語コンポーネントを生成し、それをダイレクト プログラミング インターフェイス (DPI) を備えた SystemVerilog テスト ベンチに統合する 2 種類のテスト ベンチを提供します。1 つのテストベンチは、Simulink®サブシステムから保存されたデータ ベクトルに対して、生成された C コンポーネントを検証します。もう 1 つのテストベンチは、生成された HDL コードを、Simulinkモデル全体から生成された C コンポーネントに対して検証します。

  • コンポーネント テスト ベンチ — DPI コンポーネントとして使用するためにSimulinkサブシステムから C コンポーネントを生成する場合、オプションで SystemVerilog テスト ベンチを生成できます。テストベンチは、生成された DPI コンポーネントをSimulinkモデルのデータ ベクトルに対して検証します。この機能は、[モデル コンフィギュレーションパラメーター]ダイアログ ボックスのCode Generationの下で使用できます。SystemVerilog DPI コンポーネントの生成を参照してください。

  • HDL コード テスト ベンチ — HDL Coder™を使用してサブシステムから HDL コードを生成する場合、オプションで SystemVerilog テスト ベンチを生成できます。このテストベンチは、HDL 実装の出力をSimulinkモデルの結果と比較します。この機能には、HDL ワークフロー アドバイザーのHDL Code GenerationSet Testbench Options、または [モデル コンフィギュレーションパラメーター]ダイアログ ボックスのHDL Code GenerationTest Benchでアクセスできます。あるいは、コマンドライン アクセスの場合は、 GenerateSVDPITestBenchmakehdltb (HDL Coder)プロパティを設定します。Verify HDL Design Using SystemVerilog DPI Test Bench (HDL Coder)を参照してください。

どちらのタイプのテストベンチも、Simulink Coder™ライセンスとASIC Testbench for HDL Verifierアドオンが必要です。

制限

  • HDL Verifier は、 SystemVerilog で行列とベクトルを 1 次元配列に変換します。たとえば、 Simulinkの 4 行 2 列の行列は、SystemVerilog では 8 つの要素からなる 1 次元配列に変換されます。

  • これらのサブシステムは、DPI テストベンチの生成をサポートしていません。

    • トリガーされたサブシステム

    • 有効なサブシステム

    • アクションポートを備えたサブシステム

コンポーネントテストベンチ

SystemVerilog DPI コンポーネント ジェネレーターはテストベンチも作成します。このテストベンチを使用すると、生成された SystemVerilog コンポーネントが元のSimulinkサブシステムと機能的に同等であることを検証できます。テストベンチは、 Simulinkシミュレーションからのデータ ベクトルを保存し、スティミュラスとして適用し、コンポーネントの出力と照合します。このテストベンチは、独自のアプリケーションのシステム テストベンチの代替として意図されたものではありません。ただし、生成されたテストベンチを独自のシステム テストベンチの開始例として使用できます。

モデル内のテスト ポイントのログ記録を有効にすると、生成されたテスト ベンチは、SystemVerilog コンポーネント内の信号値とSimulinkのログ値も比較します。

メモ

HDL Verifier は、カスタム生成された SystemVerilog コードのテストベンチ生成をサポートしていません。カスタマイズを参照してください。

マルチレートコンポーネントテストベンチ

サブシステムに複数のサンプル レートの信号が含まれている場合、生成されるテストベンチにはタイミング コントローラー モジュールが含まれます。タイミング コントローラーは、適切なレートで入力クロック信号を生成します。入力刺激と予想されるデータ出力が適用され、サンプル レートに従ってチェックされます。

HDL コードのテストベンチ

HDL Coderを使用してサブシステムから HDL コードを生成する場合、SystemVerilog DPI テストベンチも生成できます。このテストベンチは、HDL 実装の出力をSimulinkモデルの結果と比較します。DUT サブシステムの C コードに加えて、コーダーは入力刺激を生成するモデルの部分の C コードも生成します。このテストベンチの生成は、大規模なデータ セットのデフォルトの HDL テスト ベンチよりも高速です。この利点は、コーダーが入力データ ベクトルと出力データ ベクトルを取得するためにSimulinkモデルを実行しないためです。生成された C コンポーネントは、HDL 実装と比較するために入力刺激と出力結果を計算します。

生成された SystemVerilog テストベンチには次のものが含まれます。

  • サブシステム用に生成されたVerilog®またはVHDL®コード

  • 生成されたCコンポーネント

  • HDL コードの出力と C コンポーネントの出力を比較するコード。

このテストベンチを実行して、生成された HDL コードがSimulinkモデルと同じアルゴリズムを実装していることを確認します。

関連するトピック