Generate SystemVerilog DPI test bench
'ModelSim'
(default)
Generate SystemVerilog DPI test bench, and build-and-run scripts, for the Mentor Graphics® ModelSim® simulator.
'Incisive'
Generate SystemVerilog DPI test bench, and build-and-run scripts, for the Cadence Incisive® simulator.
'VCS'
(default)
Generate SystemVerilog DPI test bench, and build-and-run scripts, for the Synopsys® VCS® simulator.
'Vivado'
Generate SystemVerilog DPI test bench, and build-and-run scripts, for the Xilinx® Vivado® simulator.
When you set this property, the coder generates a direct programming interface (DPI) component for your entire Simulink® model, including your DUT and data sources. Your entire model must support C code generation with Simulink Coder™. The coder generates a SystemVerilog test bench that compares the output of the DPI component with the output of the HDL implementation of your DUT. The coder also builds shared libraries and generates a simulation script for the simulator you select.
Consider using this option if the default HDL test bench takes a long time to generate or simulate. Generation of a DPI test bench is sometimes faster than the default version because it does not run a full Simulink simulation to create the test bench data. Simulation of a DPI test bench with a large data set is faster than the default version because it does not store the input or expected data in a separate file.
To use this feature, you must have HDL Verifier™ and Simulink Coder licenses. To run the SystemVerilog testbench with generated VHDL code, you must have a mixed-language simulation license for your HDL simulator.
This test bench is not supported when you generate HDL code for the top-level Simulink model. Your DUT subsystem must meet the following conditions:
Input and output data types of the DUT cannot be larger than 64 bits.
Input and output ports of the DUT cannot use enumerated data types.
Input and output ports cannot be single-precision or double-precision data types.
The DUT cannot have multiple clocks. You must set the Clock
inputs code generation option to
Single
.
Use trigger signal as clock must not be selected.
If the DUT uses vector ports, you must use Scalarize vector ports to flatten the interface.
To set this property, use hdlset_param
or makehdl
. To view the property value, use hdlget_param
.