Supported EDA Tools and Hardware
R2026bCosimulation 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':
Set the Build configuration to
Faster Runs.Or, set the Build configuration to
Specifyand 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):
SCML 2.4.3
You can download SCML from https://www.synopsys.com.
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
Pathvariable points to your licensed executable version.