Main Content

MATLAB Cosimulation

Cosimulate HDL code with MATLAB®


Cosimulation WizardGenerate a cosimulation block or System object from existing HDL files


expand all

nclaunchStart and configure Cadence Xcelium simulator for use with HDL Verifier software
vsimStart and configure ModelSim for use with HDL Verifier
hdlsimmatlabLoad instantiated HDL module for verification with Cadence Xcelium and MATLAB
hdlsimmatlabsysobjLoad instantiated HDL module for cosimulation with Cadence Xcelium and MATLAB System object
matlabcpAssociate MATLAB component function with instantiated HDL design
matlabtbSchedule MATLAB test bench session for instantiated HDL module
nomatlabtbEnd active MATLAB test bench and MATLAB component sessions
matlabtbevalCall MATLAB function once and immediately on behalf of instantiated HDL module
vsimmatlabLoad instantiated HDL module for verification with ModelSim and MATLAB
vsimmatlabsysobjLoad instantiated HDL module for cosimulation with ModelSim and MATLAB System object
hdldaemonControl MATLAB server that supports interactions with HDL simulator
notifyMatlabServerSend HDL simulator event ID and process ID to MATLAB server
pingHdlSimBlock cosimulation until HDL simulator is ready
waitForHdlClientWait until specified event ID is obtained or time-out occurs
dec2mvlConvert decimal to binary character vector
mvl2decConvert multivalued logic to decimal


cosimulationConfigurationConfigure HDL cosimulation workflow (Since R2022b)
hdlverifier.HDLCosimulationCreate a System object for HDL cosimulation with MATLAB
hdlverifier.VivadoHDLCosimulationCreate a System object for HDL cosimulation with the Vivado simulator and MATLAB (Since R2022a)


Startup and Connection

Cosimulation with System Object

Cosimulation with Function

Automatic Verification

All Cosimulation

  • HDL Cosimulation
    The HDL Verifier™ software consists of MATLAB functions, a MATLAB System object, and a library of Simulink blocks, all of which establish communication links between the HDL simulator and MATLAB or Simulink.
  • Prepare to Import HDL Code for Cosimulation
    Prepare for cosimulation and choose whether to cosimulate your HDL code as a function, System object, or block.
  • Supported Data Types
    If your HDL application needs to send HDL data to a MATLAB function or a Simulink block, you may first need to convert the data to a type supported by MATLAB and the HDL Verifier software.
  • Race Conditions in HDL Simulators
    Describes ways to avoid race conditions in hardware cosimulations with MATLAB and Simulink software.
  • Use HDL Parameters in Cosimulation
    Use Verilog parameters or VHDL generics in cosimulation.