Main Content

Cross-Network Cosimulation

Why Perform Cross-Network Cosimulation?

You can perform cross-network cosimulation when your setup comprises one machine running MATLAB® and Simulink® software and another machine running the HDL simulator. Typically, a Windows®-platform machine runs the MATLAB and Simulink software, while a Linux® machine runs the HDL simulator. However, these procedures apply to any combination of platforms that HDL Verifier™ and the HDL simulator support.

Vivado® cosimulation runs as a single process with a shared DLL, and therefore does not support cross-network cosimulation.

Preparing for Cross-Network Cosimulation

Before you cosimulate between the HDL simulator and MATLAB or Simulink across a network, perform the following steps:

  1. Create your design and testing files.

     ModelSim Users

     Xcelium Users

  2. Install MATLAB and HDL Verifier on the machine with the HDL simulator.

    Note

    In releases prior to R2022b, you could copy the Linux libraries from the Windows installation and vice-versa.

    Since R2022b, MATLAB only ships platform-specific libraries, so you must also install MATLAB on the machine with the HDL simulator.

  3. On the machine with the HDL simulator, copy the HDL Verifier libraries to a known location.

    You can find the libraries in the default installed folder:

    matlabroot/toolbox/edalink/extensions/adaptor/platform/productlibraryname_
    compiler_tag.ext

    where the variable shown in the following table have the values indicated.

    VariableValue
    matlabrootThe location where you installed the MATLAB software; default value is MATLAB/version where version is the installed release (for example, R2009a).
    adaptorincisive or modelsim
    platformThe operating system of the machine with the HDL simulator, for example, linux32. (For more information, see Cosimulation Libraries.)
    productlibrarynameThe name of the library files for MATLAB and for Simulink (for example, liblfmhdlc, liblfmhdls for ModelSim™ users; liblfihdlc, liblfihdls for Xcelium™ users). See Cosimulation Libraries.
    compiler_tagThe compiler used to create the library (for example, gcc32 or spro). For more information, see Cosimulation Libraries.
    extdll (dynamic link library—Windows only) or so ( shared library extension)

    For a list of all the HDL Verifier HDL shared libraries shipped, see Default Libraries.

    Make note of the location to which you copied the libraries; you'll need this information when you are actually establishing the connection to the HDL simulator. For purposes of this example, the sample code refers to the destination folder as HDLSERVER_LIB_LOCATION.

If you now want to cosimulate with MATLAB, see Performing Cross-Network Cosimulation Using MATLAB. If you want to cosimulate with Simulink, see Performing Cross-Network Cosimulation Using Simulink.

Performing Cross-Network Cosimulation Using MATLAB

To perform an HDL-simulator-to-MATLAB cosimulation session across a network, follow these steps:

 ModelSim Users:

 Xcelium Users

Performing Cross-Network Cosimulation Using Simulink

When you want to perform an HDL-simulator-to-Simulink cosimulation session across a network, follow these steps:

 ModelSim Users

 Xcelium Users

Next, run your simulation, add more blocks, or make other desired changes. For instructions on using Simulink and the HDL simulator for cosimulation, see Simulink as a Testbench or Component Simulation with Simulink.