Main Content

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

SystemVerilog DPI コンポーネント テスト ポイント アクセス

モデル内の内部信号をテスト ポイントとして指定し、SystemVerilog DPI ジェネレーターを構成して 1 つ以上のアクセス関数を作成できます。テスト ポイントでログ記録を有効にすることもできます。次に、生成されたテストベンチを使用して、Simulink® データと SystemVerilog コンポーネントの実行中に観測された値を比較できます。

このワークフローには、ASIC Testbench for HDL Verifier アドオンのライセンスが必要です。

手順 1.内部シグナルを選択

次のガイドラインに従って、モデル内の内部信号を選択します。

  • 信号のソースでテスト ポイントを有効にします。テスト ポイントがサブシステム間などの接続信号上にある場合、生成されたコードから信号が最適化される可能性があります。

  • コンポーネントの入力または出力ではない信号を選択します。I/O 信号を選択した場合、ジェネレーターはアクセス機能を提供しません。I/O 信号はすでに可視であるため、このようなアクセス機能は冗長です。

  • タイプ enum の信号はサポートされていません。

  • 仮想信号とバスはサポートされていません。

  • 連続、非同期、およびトリガーされたサンプル時間はサポートされていません。

  • マルチレート設計は信号ログではサポートされていません。テストポイントを追加し、アクセス関数を生成できます。ただし、テスト ベンチは単一レートであり、異なるレートで記録されたデータとの比較を実行することはできません。

  • モデル参照はサポートされていません。モデル参照にテスト ポイントを追加する場合は、まずモデル参照から信号を配線する必要があります。モデル内で信号にアクセスできるようになると、それをテスト ポイントとして選択できます。

手順 2.テストポイントを追加する

  1. モデル内で信号を右クリックし、Properties を選択します。

  2. Test pointチェックボックスを選択します。

  3. Signal name ボックスでテスト ポイントに一意の名前を付けます。

  4. オプションで、Log signal data を選択します。このチェック ボックスをオンにすると、生成されたテスト ベンチは、モデルから記録されたデータと、生成されたコンポーネントの実行中に観測された値を比較できるようになります。テストベンチは、生成されたアクセス関数を使用して、シミュレーション中に信号値を取得します。

Simulink でのテスト ポイントとログ記録の詳細については、テスト ポイントとしての信号の設定 (Simulink) を参照してください。

手順 3.コンポーネントインターフェースを有効にする

  1. モデルを開き、Apps タブで HDL Verifier をクリックします。次に、[HDL Verifier] タブで [C Code Settings] をクリックします。Code GenerationConfiguration Parameters ダイアログが開きます。

  2. 左側のペインの「Code Generation」の下で、「Interface」を選択します。

  3. Generate C API for で、signals チェックボックスが選択されていることを確認します。その他のチェック ボックスは、DPI コンポーネントまたはテスト ベンチには影響しません。

手順 4.アクセス機能の設定

  1. HDL Verifier タブで、SystemVerilog Settings をクリックします。

  2. Generate access function to test point の場合は、One function per Test Point または One function for all Test Points を選択します。

    One function for all Test Points を選択した場合、単一の関数がすべてのテスト ポイントの値を返します。

    DPI_TestPointAccessFcn(input chandle objhandle,input real Name1,inout real Name2);

    One function per Test Point を選択した場合、各信号には個別のアクセス機能が備わります。

    DPI_Name_TestPoint(input chandle objhandle,inout real Name);

    None を選択した場合、ツールはアクセス関数を生成しません。

関連するトピック