slvnvruntest

Simulate model by using input data

Description

outData = slvnvruntest(model, dataFile) simulates model by using all the test cases in dataFile. outData is an array of Simulink.SimulationOutput objects. Each array element contains the simulation output data of the corresponding test case.

outData = slvnvruntest(model, dataFile, runOpts) simulates model by using all the test cases in dataFile. runOpts defines the options for simulating the test cases.

[outData, covData] = slvnvruntest(model, dataFile, runOpts) simulates model by using the test cases in dataFile. When the runOpts field coverageEnabled is true, the Simulink® Coverage™ software collects model coverage information during the simulation. slvnvruntest returns the coverage data in the cvdata object covData.

Input Arguments

collapse all

The Simulink model to simulate.

Name of the data file or structure that contains the input data. You can generate dataFile with Simulink Design Verifier™ software, or by running the slvnvlogsignals function.

A structure whose fields specify the configuration of slvnvruntest.

FieldDescription

testIdx

Test case index array to simulate from dataFile. If testIdx is [], slvnvruntest simulates all test cases.

Default: []

coverageEnabled

If true, specifies that the Simulink Coverage software collects model coverage data during simulation.

Default: false

coverageSetting

cvtest object for collecting model coverage. If [], slvnvruntest uses the existing coverage settings for model.

Default: []

fastRestart

If true, Simulink Coverage uses fast restart mode for model simulation.

Default: true

useParallel

If true, Simulink Coverage simulates test cases with parallel computing. This option requires a Parallel Computing Toolbox™ license.

Default: false

Output Arguments

collapse all

Each Simulink.SimulationOutput object has the following fields.

Field NameDescription

tout_slvnvruntest

Simulation time

xout_slvnvruntest

State data

yout_slvnvruntest

Output signal data

logsout_slvnvruntest

Signal logging data for:

  • Signals connected to outports

  • Signals that are configured for logging on the model

cvdata object that contains the model coverage data collected during simulation.

Note

covdata references a file containing the coverage results. The coverage data from the referenced file is automatically loaded into memory when covdata is used by a coverage function.

Examples

Analyze the Model and Examine the Output Data with the Simulation Data Inspector

% Analyze the sldemo_mdlref_basic model and log the input signals to the CounterA Model block:
open_system('sldemo_mdlref_basic');
loggedData = slvnvlogsignals('sldemo_mdlref_basic/CounterA');

% Using the logged signals, simulate the model referenced in the Counter block (sldemo_mdlref_counter):
runOpts = slvnvruntestopts;
runOpts.coverageEnabled = true;
open_system('sldemo_mdlref_counter');
[ outData ] = slvnvruntest('sldemo_mdlref_counter',...
    loggedData, runOpts);

% Examine the output data from the first test case using the Simulation Data Inspector:
Simulink.sdi.createRun('Test Case 1 Output', 'namevalue',...
    {'output'}, {outData(1).find('logsout_slvnvruntest')});
Simulink.sdi.view;

Tips

The dataFile that you create with a Simulink Design Verifier analysis or by running slvnvlogsignals contains time values and data values. When you simulate a model by using these test cases, you might see missing coverage. This issue occurs when the time values in the dataFile are not aligned with the current simulation time step due to numeric calculation differences. You see this issue more frequently with multirate models—models that have multiple sample times.

Tips

  • For useParallel, the following points must be considered when simulating test cases using parallel computing:

    • Starting a parallel pool can take time, which impacts the overall analysis time. To reduce the analysis time:

      • Make sure that the parallel pool is already running before you run a test generation analysis. By default, the parallel pool shuts down after being idle for a specified number of minutes. To change the setting, see Specify Your Parallel Preferences (Parallel Computing Toolbox).

      • Load Simulink on all the parallel pool workers.

    • The simulation occurs sequentially when:

      • The cluster is not local. Configure parallel preferences to use the local cluster only. See Specify Your Parallel Preferences (Parallel Computing Toolbox).

      • The model is in dirty state prior to launching the SLDV analysis.

      • The model has ToFile blocks.

      • The model is in Software-in-the-loop (SIL) simulation mode.

Introduced in R2010b