Main Content


Simulate model by using input data


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.



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

Default: []


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

Default: false


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

Default: []


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

Default: true


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


Simulation time


State data


Output signal data


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.


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. This file gets stored in the sldv_covoutput folder inside the current directory.


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:
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;
[ 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')});


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.


  • 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 in Software-in-the-loop (SIL) simulation mode.

      • The model is an internal harness.

Introduced in R2010b