Main Content

Supported EDA Tools and Hardware

R2026b

Cosimulation Requirements

Cosimulation is supported for the 64-bit version of the following simulators.

To get started, see Connect MATLAB and HDL Simulator or Start HDL Simulator for Cosimulation in Simulink.

Cadence Xcelium Requirements

MATLAB® and Simulink® support Cadence® verification tools on Linux® using HDL Verifier™. Use this recommended version, which has been fully tested against the current release:

  • Xcelium™ 25.03

The HDL Verifier shared libraries (liblfihdls*.so, liblfihdlc*.so) are built using the gcc included in the Cadence Xcelium simulator platform distribution. If you are building your own application, choose the version of the library that matches the version of gcc that you are using. See the HDL simulator documentation for more details about how to build and link your own applications.

Siemens Questa and ModelSim Requirements

HDL Verifier has been tested against the following stand-alone version of Questa™:

  • Questa Base/Core/Prime 2025.3

HDL Verifier should work with the same FPGA vendor-bundled versions of Questa.

Vivado Simulator Requirements

MATLAB and Simulink support AMD® Vivado® verification tool using HDL Verifier. Use this recommended version, which has been fully tested against the current release:

  • AMD Vivado 2025.1

    Note

    The Vivado upgrade to 2025.1 introduces a backward incompatibility. You must update your Vivado to match this tested version.

Synopsys VCS Simulator Requirements

MATLAB and Simulink support Synopsys® VCS® verification tool on Linux using HDL Verifier. Use this recommended version, which has been fully tested against the current release:

  • Synopsys VCS 2025.06

UVM and DPI Component Generation Requirements

UVM and DPI component generation workflows supports the same versions of these HDL simulators as for cosimulation:

  • Siemens® Questa

  • Siemens ModelSim™

  • AMD Vivado simulator (not supported for uvmbuild)

  • Synopsys VCS (Linux only)

  • Cadence Xcelium (Linux only)

For cross platform workflow, see Generate Cross-Platform DPI Components or Generate Cross-Platform UVM Components.

UVM generation requires a UVM Reference Implementation, available for download from the UVM standard website. This feature is tested with the default shipped version for each supported simulator.

UVM Framework (UVMF) requires Siemens UVMF tools. Use this recommended version, which has been fully tested against the current release:

  • Siemens UVM Framework release 2023.4_2

Note

When you run a DPI component in ModelSim 10.5b on Debian® 8.3, you may encounter a library incompatibility error:

** Warning: ** Warning: (vsim-7032) The 64-bit glibc RPM 
does not appear to be installed on this machine.  Calls to gcc may fail.
** Fatal: ** Error: (vsim-3827) Could not compile 'STUB_SYMS_OF_fooour.so':
To avoid this issue, on the Code Generation pane in the Configuration Parameters, try these options:

  • Set the Build configuration to Faster Runs.

  • Or, set the Build configuration to Specify and specify the compiler flag -O3.

TLM Generation Requirements

With the current release, TLMG includes support for:

  • Compilers:

    • Visual Studio®: VS2008, VS2010, VS2012, VS2013, VS2015, and VS2017

    • Windows® 7.1 SDK

    • gcc 6.3

  • SystemC™:

    • SystemC 2.3.1 (TLM included)

      You can download SystemC and TLM libraries at https://www.accellera.org/. Consult the Accellera Systems Initiative website for information about how to build these libraries after downloading.

  • System C Modeling Library (SCML):

Troubleshooting

Path exceeds Windows limit.  When executing the HDL Verifier product examples on a Windows machine there can be errors caused by a Windows path limit of 260 characters. Sometimes the condition can be caught and you may receive an error such as the following:

Build failed because the build file name(s) exceed the Windows limit of 260 characters. Build from a working directory with a shorter path, to allow build files to be created with shorter filenames.

Often, however, the long path is created during the execution of third party tools such as Vivado or Quartus® and the resulting error from those tools will seem to be unrelated. Some examples for such errors are:

  • ERROR: [Common 17-680] Path length exceeds 260-Byte maximum allowed by Windows: 
    c:\Users\user\OneDrive - MathWorks\Documents\MATLAB\Examples\R2022a\xilinxfpgaboards\
    ZynqEthernet\ethernetaximanagerzynq.srcs\sources_1\bd\design_1\ip\design_1_mig_7series_0_0\
    _tmp\/design_1_mig_7series_0_0/example_design/rtl/traffic_gen/mig_7series_v4_2_axi4_tg.v 
    Please consider using the OS subst command to shorten the path length by mapping part 
    of the path to a virtual drive letter. See Answer Record AR52787 for 
    more information. 
    Resolution: In Windows 7 or later, the mklink command can also be used to create a 
    symbolic link and shorten the path. 

  • WARNING: [Vivado 12-8222] Failed run(s) : 'clk_wiz_0_synth_1', 'simcycle_fifo_synth_1'
    wait_on_run: Time (s): cpu = 00:00:00 ; elapsed = 00:02:16 . 
    Memory (MB): peak = 1636.988 ; gain = 0.000
    # if {[get_property PROGRESS [get_runs synth_1]] != "100%"} {  
    #   error "ERROR: Synthesis failed"
    

  • Error (12006): Node instance "ident" instantiates undefined entity 
    "alt_sld_fab_altera_connection_identification_hub_171_gdd6b5i"
    Ensure that required library paths are specified correctly, 
    define the specified entity, or change the instantiation.
    If this entity represents Intel FPGA or third-party IP,
    generate the synthesis files for the IP.  

A long path may be suspected when the root folder for running the example is already fairly long, such as over 100 characters.

In both the detected and undetected long path scenarios, to avoid the errors, use one of these methods:

  • Map the example directory to a shorter letter drive alias. For example, the following will eliminate 122 characters from the path, allowing much more headroom for the 260 character limit.

    cmd> subst W: “C:\Users\janedoe\OneDrive - Personal\Documents\MATLAB\Examples\R2021b\hdlverifier\GettingStartedWithSimulinkHDLCosimExample”

  • After opening an example, copy the example directory to a directory with a short name (such as /tmp).

Unrecognized Function.  When you have more than one version of a third party tool, but only one version is licensed (or when only one version is supported by HDL Verifier), MATLAB might error out with "Unrecognized function" when calling that tool.

To make sure MATLAB opens the licensed version of your simulator you must:

  • Set the correct license variable with the path to the licence file.

  • Make sure that the Path variable points to your licensed executable version.