このページは機械翻訳を使用して翻訳されました。元の英語を参照するには、ここをクリックします。
スコアボードサブシステムの調整可能なパラメータ
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'