supported eda tools and hardware
cosimulation requirements
to get started, see or .
cadence xcelium requirements
matlab® and simulink® support cadence® verification tools using hdl verifier™. only the 64-bit version of xcelium™ is supported for cosimulation. use this recommended version, which has been fully tested against the current release:
xcelium 2021.09
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.
mentor graphics questa and modelsim usage requirements
matlab and simulink support mentor graphics® verification tools using hdl verifier. use the following recommended versions. each version has been fully tested against the current release:
questa® core/prime 2022.2
modelsim® pe 2022.2
note
hdl verifier does not support these versions of modelsim:
modelsim me
modelsim-intel® fpga edition
modelsim-intel starter edition
questasim-intel fpga edition
questasim-intel starter edition
vivado simulator requirements
matlab and simulink support xilinx® vivado® verification tool using hdl verifier. use this recommended version, which has been fully tested against the current release:
xilinx vivado 2022.1
fpga verification requirements
xilinx usage requirements
matlab and simulink support xilinx design tools using hdl verifier. use the fpga-in-the-loop (fil) tools with these recommended versions:
xilinx vivado 2022.1.
xilinx ise 14.7
note
xilinx ise is required for fpga boards in the spartan®-6, virtex®-4, virtex-5, and virtex-6 families.
for tool setup instructions, see .
intel quartus usage requirements
matlab and simulink support intel design tools using hdl verifier. use the fil tools with these recommended versions:
intel quartus® prime standard 21.1
intel quartus prime pro 21.3 (supported for intel arria® 10 and cyclone® 10 gx only)
intel quartus ii 13.1 (supported for intel cyclone iii boards only)
for tool setup instructions, see .
microchip usage requirements
matlab and simulink support microchip design tools using hdl verifier. use the fil tools with these recommended versions:
microchip libero® soc v12.6 (supports smartfusion® 2 and rtg4® boards)
microchip libero soc v12.0 (supports polarfire® boards)
these features require a gold or platinum license from microchip. for tool setup instructions, see .
fpga board connections
additional boards can be custom added with the . see supported fpga device families for board customization.
jtag connection. you can run fpga-in-the-loop, fpga data capture, or axi manager over a jtag cable to your board. however, each feature requires exclusive use of the jtag cable, so you cannot run more than one feature at the same time. to allow other tools access to the jtag cable, such as programming the fpga, and xilinx chipscope, you must discontinue the jtag connection in matlab. to release the jtag cable:
fpga-in-the-loop — close the simulink model, or call the
release
method of the system object™.fpga data capture — close the fpga data capture tool, release the system object, or close the simulink model.
axi manager — call the
release
method of the object.
however, the nonblocking capture mode enables you to simultaneously use fpga data capture and axi manager, which share a common jtag interface. for more information, see the "simultaneous use of fpga data capture and axi manager" section of .
vendor | required hardware | required software |
---|---|---|
intel | usb blaster i or usb blaster ii download cable |
|
xilinx | digilent® download cable
|
|
ftdi usb-jtag cable
| install these d2xx drivers.
for the installation guide, see from the ftdi chip website. | |
microchip | jtag connection not supported |
note
the xilinx platform cable usb ii is not supported for fpga verification.
when simulating your fpga design through digilent jtag cable with simulink or matlab, you cannot use any debugging software that requires access to jtag, such as vivado logic analyzer.
ethernet connection. you can run fpga-in-the-loop, fpga data capture, or axi manager over an ethernet connection. to use fpga data capture and axi manager over an ethernet connection in a single hdl project, connect the fpga data capture and axi manager ips to the same ethernet mac hub ip using different port addresses.
on zynq® soc devices you can access the ethernet interface only through the processing system (ps). to implement ethernet communication between the host and the hardware board, operation system (os) and related software applications must run on the ps. use the hardware setup app to guide you in setting up the sd card and boot the board with a compatible os.
required hardware | supported interfacesa | required software |
---|---|---|
|
| there are no software requirements for an ethernet connection, but ensure that the firewall on the host computer does not prevent udp communication. |
a the hdl verifier support package for microchip fpga boards supports only sgmii interfaces. |
note
fpga data capture and axi manager support gmii, mii, and sgmii interfaces only.
rmii is supported with vivado versions older than 2019.2.
ethernet connection to virtex-7 vc707 not supported for vivado versions older than 2013.4.
axi manager and fpga data capture in hdl workflow advisor support programmable logic (pl) ethernet only. ps ethernet is not supported.
fpga data capture in hdl workflow advisor does not support sgmii interface.
supported fpga devices for fpga verification
hdl verifier supports fil simulation, fpga data capture, and axi manager on the devices shown in the following table. the board definition files for these boards are in the . you can add other fpga boards for use with fil, fpga data capture, and axi manager with fpga board customization ().
device family | board | ethernet | jtag | pci express | comments | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|
fil | fpga data capture | axi manager | fil | fpga data capture | axi manager | fila | fpga data capture | axi manager | |||
xilinx artix®-7 | digilent nexys™ 4 artix-7 | x | x | x | x | ||||||
digilent arty board | x | x | x | x | x | x | |||||
xilinx kintex®-7 | kintex-7 kc705 | x | x | x | x | x | x | x | x | ||
xilinx kintex ultrascale™ | kintex ultrascale fpga kcu105 evaluation kit | x | x | x | x | x | x | x | |||
xilinx kintex ultrascale ™ | kintex ultrascale fpga kcu116 evaluation kit | x | x | x | x | x | for more information, see . | ||||
xilinx spartan-6 | spartan-6 sp605 | x | |||||||||
spartan-6 sp601 | x | ||||||||||
xup atlys spartan-6 | x | ||||||||||
xilinx spartan-7 | digilent arty s7-25 | x | x | x | |||||||
xilinx virtex ultrascale | virtex ultrascale fpga vcu108 evaluation kit | x | x | x | x | x | x | x | |||
xilinx virtex ultrascale | virtex ultrascale fpga vcu118 evaluation kit | x | x | x | x | x | x | x | |||
xilinx virtex-7 | virtex-7 vc707 | x | x | x | x | x | x | x | x | ||
virtex-7 vc709 | x | x | x | x | x | ||||||
xilinx virtex-6 | virtex-6 ml605 | x | |||||||||
xilinx virtex-5 | virtex ml505 | x | |||||||||
virtex ml506 | x | ||||||||||
virtex ml507 | x | ||||||||||
virtex xupv5–lx110t | x | ||||||||||
xilinx virtex-4 | virtex ml401 | x |
note support for virtex-4 device family will be removed in a future release. | ||||||||
virtex ml402 | x | ||||||||||
virtex ml403 | x | ||||||||||
xilinx zynq | zynq-7000 zc702 | x | x | x | x | x | this board supports ps ethernet. | ||||
zynq-7000 zc706 | x | x | x | x | x | this board supports ps ethernet. | |||||
zedboard™ | x | x | x | x | x | use the usb port marked "prog" for programming. this board supports ps ethernet. | |||||
zybo™ zynq-7000 development board | x | x | x | ||||||||
picozed™ sdr development kit | x | x | x | ||||||||
minized™ | x | x | |||||||||
xilinx zynq ultrascale | zynq ultrascale mpsoc zcu102 evaluation kit | x | x | x | x | x | this board supports ps ethernet. | ||||
zynq ultrascale mpsoc zcu104 evaluation kit | x | x | x | ||||||||
zynq ultrascale mpsoc zcu106 evaluation kit | x | x | x | ||||||||
zynq ultrascale rfsoc zcu111 evaluation kit | x | x | x | x | x | this board supports ps ethernet. | |||||
zynq ultrascale rfsoc zcu216 evaluation kit | x | x | x | x | x | this board supports ps ethernet. | |||||
xilinx versal® | versal ai core series vck190 evaluation kit | x | x | x | x | ||||||
intel arria ii | arria ii gx fpga development kit | x | x | x | x | x | x | ||||
intel arria v | arria v soc development kit | x | x | x | x | ||||||
arria v starter kit | x | x | x | x | x | x | |||||
intel arria 10 | arria 10 soc development kit | x | x | x | x | x | for ethernet connection, use quartus prime 16.1 or newer. | ||||
arria 10 gx | x | x | x | x | x | x | x | for ethernet connection, use quartus prime 16.1 or newer. quartus prime 18.0 is not recommended for arria 10 gx over pci express®. | |||
intel cyclone iv | cyclone iv gx fpga development kit | x | x | x | x | x | x | ||||
de2-115 development and education board | x | x | x | x | x | the altera® de2-115 fpga development board has two ethernet ports. fil uses only ethernet 0 port. make sure that you connect your host computer with the ethernet 0 port on the board via an ethernet cable. | |||||
bemicro sdk | x | x | x | x | x | ||||||
intel cyclone iii | cyclone iii fpga starter kit | x | x | x | x | altera cyclone iii boards are supported with quartus ii 13.1 note support for cyclone iii device family will be removed in a future release. | |||||
cyclone iii fpga development kit | x | x | x | x | x | ||||||
altera nios ii embedded evaluation kit, cyclone iii edition | x | x | x | x | x | ||||||
intel cyclone v | cyclone v gx fpga development kit | x | x | x | x | x | x | ||||
cyclone v soc development kit | x | x | x | x | |||||||
cyclone v gt fpga development kit | x | x | x | x | x | x | x | ||||
terasic atlas-soc kit / de0-nano soc kit | x | x | x | x | |||||||
arrow® sockit development kit | x | x | x | x | |||||||
intel cyclone 10 lp | altera cyclone 10 lp evaluation kit | x | x | x | x | ||||||
intel cyclone 10 gx | altera cyclone 10 gx fpga development kit | x | x | x | x | x | must be used with quartus prime pro. | ||||
intel max® 10 | arrow max 10 deca | x | x | x | x | x | |||||
intel stratix® iv | stratix iv gx fpga development kit | x | x | x | x | x | x | ||||
intel stratix v | dsp development kit, stratix v edition | x | x | x | x | x | x | x | |||
microchip smartfusion 2 | microchip smartfusion 2 soc fpga advanced development kit | x | see . | ||||||||
microchip polarfire | microchip polarfire evaluation kit | x | see . use with libero soc v12.0. | ||||||||
microchip rtg4 | rtg4-dev-kit | x | |||||||||
a fil over pci express connection is supported only for 64-bit windows operating systems. |
limitations
for fpga development boards that have more than one fpga device, only one such device can be used with fil.
fpga board support packages. the fpga board support packages contain the definition files for all supported boards. you can download one or more vendor-specific packages. to use fil, download at least one of these packages, or customize your own board definition file. see .
to see the list of hdl verifier support packages, visit hdl verifier supported hardware. to download an fpga board support package:
on the matlab home tab, in the environment section, click add-ons > get hardware support packages.
supported fpga device families for board customization
hdl verifier supports the following fpga device families for board customization; that is, when you create your own board definition file. see . pci express is not a supported connection for board customization.
note
the hdl verifier support package for microchip fpga boards does not support board customization.
device family | restrictions | |
---|---|---|
xilinx | artix 7 | |
kintex 7 | ||
kintex ultrascale | ||
kintex ultrascale | ||
spartan 6 | ethernet phy rgmii is not supported. | |
spartan 7 | ||
virtex 4 |
note support for virtex-4 device family will be removed in a future release. | |
virtex 5 | ||
virtex 6 | ||
virtex 7 | supports ethernet phy sgmii only. | |
virtex ultrascale | ||
virtex ultrascale | ||
zynq 7000 | ||
zynq ultrascale | ||
intel | arria ii | |
arria v | ||
arria 10 | ||
cyclone iii |
note support for cyclone iii device family will be removed in a future release. | |
cyclone iv | ||
cyclone v | ||
cyclone 10 lp | ||
cyclone 10 gx | ||
max 10 | ||
stratix iv | ||
stratix v |
uvm and dpi component generation requirements
uvm and dpi component generation supports the same versions of cadence xcelium and mentor graphics questa and modelsim as for cosimulation. you can generate a dpi component for use with either 64-bit or 32-bit xcelium.
in addition, uvm and dpi component generation also supports:
synopsys® vcs® mx vs-2021.09-1
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
specify
and specify the compiler flag-o3
.
uvm generation also requires a uvm reference implementation, available for download from the . this feature is tested with the default shipped version for each supported simulator.
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 . 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 .
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 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.