このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。
スコアボードサブシステムの調整可能なパラメータ
Simulink® スコアボード サブシステムに調整可能なパラメータが含まれている場合、uvmbuild 関数は、調整可能なパラメータごとに SystemVerilog パラメータを含むスコアボード構成オブジェクトを生成します。この機能を使用すると、スコアボード コンポーネントを一般化できるため、パラメーター値をコマンド ライン引数として変更することで、さまざまなシナリオで同じ SystemVerilog スコアボードを再利用できるようになります。
メモ
この機能には ASIC Testbench for HDL Verifier アドオンが必要です。
調整可能なパラメータを使用して UVM 生成用のスコアボードを準備する
調整可能なパラメータを使用してユニバーサル検証方法論 (UVM) を生成するためのスコアボード サブシステムを準備するには、次の手順を実行します。
DPI および UVM 生成用に Simulink モデルを設定します。Simulink の Modeling タブで、Model Settings をクリックします。[構成パラメータ] ダイアログ ボックスで、左側のペインから [Code Generation] を選択します。次に、System target file を
systemverilog_dpi_grt.tlcに設定します。Embedded Coder® 製品をお持ちの場合は、代わりにこの値をsystemverilog_dpi_ert.tlcに設定することもできます。Simulink.Parameter(Simulink) オブジェクトを使用して、パラメータのデータ オブジェクトを作成します。たとえば、dataValueという名前のパラメータを作成するには、MATLAB コマンド プロンプトでこのコードを入力します。dataValue = Simulink.Parameter open dataValue
dataValueパラメータのプロパティを定義します。Simulink.Parameter ウィンドウで、次の値を設定します。Value – 生成された UVM パラメータのデフォルト値を設定します。
Data type – 生成された UVM パラメータのデータ型を設定します。シーケンス サブシステムの場合、制約付きランダム パラメータに整数データ型と浮動小数点データ型を使用する違いに注意してください。
Storage class –
Model default、SimulinkGlobal、またはExportedGlobalを選択します。パラメータがインスタンス固有の場合は、
Model defaultを使用します。グローバル変数を生成するには、SimulinkGlobalまたはExportedGlobalのいずれかを使用します。Storage class をAutoに設定すると、コード生成中にパラメータが最適化されるため、推奨されません。
Simulink モデルのスコアボード サブシステムで作成したパラメータを使用します。コマンドラインからパラメータ値を制御して、さまざまなシナリオをテストします。
UVM スコアボードを生成する
uvmbuild 関数を使用して UVM テストベンチを生成します。uvmbuild によって定期的に生成されるファイルに加えて、関数はこれらの生成されたファイルを追加します。
– このファイルには、スコアボードの構成オブジェクトが含まれています。調整可能なパラメータのデフォルト値を、Simulink パラメータで設定した値として定義します。top_model_name_uvmbuild/uvm_testbench/scoreboard/mw_DUT_scoreboard_cfg_obj.sv– 関数top_model_name_uvmbuild/uvm_testbench/scoreboard/mw_DUT_scoreboard.svstart_of_simulation_phaseは構成オブジェクトを設定します。– テストはビルド フェーズで構成オブジェクトをインスタンス化します。top_model_name_uvmbuild/uvm_testbench/uvm_artifacts/mw_DUT_test.sv
uvmbuild 関数によって生成されるファイルの詳細については、生成されたファイルとフォルダ構造 を参照してください。
UVMシミュレーションにおけるスコアボードパラメータの制御
システム用の UVM コンポーネントを生成した後、SystemVerilog コマンドライン引数 (plusargs) を使用してパラメータ値を制御できます。たとえば、Simulink.Parameter オブジェクトを使用して作成された GoldenVal という名前のパラメータの場合、HDL シミュレータのコマンド プロンプトにこのコードを入力すると、その値を 10 に設定できます。
setenv EXTRA_UVM_SIM_ARGS '+RTWStructParam_GoldenVal=10'