Main Content

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

シーケンス サブシステムの調整可能なパラメーター

Simulink®シーケンス サブシステムに調整可能パラメーターが含まれている場合、 uvmbuild関数は、調整可能パラメーターごとに SystemVerilogパラメーターを含むシーケンス オブジェクトを生成します。これらのパラメーターはランダム化でき、最小値、最大値、およびデフォルト値はSimulinkパラメーターから導出されます。

メモ

この機能には、 ASIC Testbench for HDL Verifierアドオンが必要です。

調整可能なパラメーターを使用して UVM 生成用のシーケンスを準備する

調整可能なパラメーターを使用して Universal Verification Methodology (UVM) を生成するためのシーケンス サブシステムを準備するには、次の手順を実行します。

  1. Simulinkモデルを DPI と UVM 生成用に設定します。SimulinkModelingタブで、 Model Settingsをクリックします。[コンフィギュレーションパラメーター]ダイアログ ボックスの左側のペインでCode Generationを選択します。次に、 System target filesystemverilog_dpi_grt.tlcに設定します。TG Embedded Coder®製品をお持ちの場合は、この値をsystemverilog_dpi_ert.tlcに設定することもできます。 $$。

  2. Simulink.Parameter (Simulink)オブジェクトを使用して、パラメーターのデータ オブジェクトを作成します。たとえば、 dataValueという名前のパラメーターを作成するには、 MATLABコマンド プロンプトで次のコードを入力します。

    dataValue = Simulink.Parameter
    open dataValue

    dataValueパラメーターのプロパティを定義します。Simulinkで。パラメーターウィンドウでこれらの値を設定します。

    • Value – 生成された UVMパラメーターのデフォルト値を設定します。

    • Minimum – 生成される UVMパラメーターの最小値を設定します。

    • Maximum – 生成される UVMパラメーターの最大値を設定します。

    • Data type – 生成される UVMパラメーターのデータ型を設定します。シーケンス サブシステムの場合は、制約付きランダムパラメーターに整数データ型を使用する場合と浮動小数点データ型を使用する場合の違いに注意してください。

    • Storage classModel defaultSimulinkGlobal、またはExportedGlobalを選択します。

      パラメーターがインスタンス固有の場合は、 Model defaultを使用します。グローバル変数を生成するには、 SimulinkGlobalまたはExportedGlobalを使用します。Storage classAutoに設定すると、コード生成中にパラメーターが最適化されるため、お勧めできません。

  3. Simulinkモデルのシーケンス サブシステムで作成したパラメーターを使用します。たとえば、 Constant (Simulink)ブロックをパラメータ化して、 Constant value (Simulink)パラメーターをSimulinkパラメーターに設定することで、指定された範囲内のランダムな値を生成できます。以前に定義したものです。

UVMシーケンスの生成

uvmbuild関数を使用して UVM テストベンチを生成します。uvmbuildによって定期的に生成されるファイルに加えて、この関数はファイルtop_model_name_uvmbuild/uvm_testbench/sequence/mw_DUT_sequence.svにコンポーネントを追加します。

  • 整数データ型を使用する場合、シーケンスには 2 つの追加された SystemVerilog ランダム制約コード ブロックが含まれます。

    • 既定値

    • 範囲

    これらの制約の値は、Simulinkパラメーターで設定した値から導出されます。

  • 浮動小数点データ型を使用する場合、シーケンスにはこれら 2 つの追加関数が含まれます。

    • pre_randomize – この関数は、調整可能なパラメーターのデフォルト値を設定します。

    • post_randomize – この関数は、パラメーターに設定された値がSimulinkパラメーターで定義された範囲内にあるかどうかをチェックします。

      整数データ型を使用する場合、これらの関数は空です。

uvmbuild関数によって生成されるファイルの詳細については、 「 生成されるファイルとフォルダー構造 」を参照してください。

UVM シミュレーションの制御シーケンスパラメーター

システムの UVM コンポーネントを生成した後、次の 2 つの方法のいずれかで刺激の生成を制御できます。

調整可能なパラメーターが整数データ型の場合、デフォルト値と範囲の制約をオンまたはオフにできます。追加の SystemVerilog 制約を追加および設定することもできます。

調整可能なパラメーターが浮動小数点データ型の場合、次のことができます。

  • pre_randomize関数を使用して、独自のランダム化関数を作成します。

  • pre_randomize関数を拡張して、パラメーターのデフォルト値を変更します。

post_randomize関数は、浮動小数点調整可能パラメーターがSimulinkモデルで定義された範囲内にあるかどうかをチェックします。MinimumパラメーターのMaximumおよびSimulink プロパティが空の場合、この関数は空です。

参考

関連するトピック