Cosimulate HDL code with MATLAB®
|Cosimulation Wizard||Generate a cosimulation block or System object from existing HDL files|
|Load instantiated HDL module for verification with Cadence Xcelium and MATLAB|
|Load instantiated HDL module for cosimulation with Cadence Xcelium and MATLAB System object|
|Associate MATLAB component function with instantiated HDL design|
|Schedule MATLAB test bench session for instantiated HDL module|
|End active MATLAB test bench and MATLAB component sessions|
|Call MATLAB function once and immediately on behalf of instantiated HDL module|
|Load instantiated HDL module for verification with ModelSim and MATLAB|
|Load instantiated HDL module for cosimulation with ModelSim and MATLAB System object|
|Control MATLAB server that supports interactions with HDL simulator|
|Send HDL simulator event ID and process ID to MATLAB server|
|Block cosimulation until HDL simulator is ready|
|Wait until specified event ID is obtained or time-out occurs|
|Configure HDL cosimulation workflow|
|Create a System object for HDL cosimulation with MATLAB|
|Create a System object for HDL cosimulation with the Vivado simulator and MATLAB|
Startup and Connection
- Set Up for HDL Cosimulation
To cosimulate your HDL code with a MATLAB or Simulink® design, you must first:
- Supported EDA Tools and Hardware
List of supported third-party EDA software and FPGA boards.
- Set Up MATLAB-HDL Simulator Connection
Cosimulation requires a connection between MATLAB and your HDL simulation tool.
- TCP/IP Socket Ports
Provides some direction for choosing TCP/IP socket ports.
- Cross-Network Cosimulation
Provides instructions for performing cosimulation across a local network.
- Run MATLAB-HDL Cosimulation
Run your test bench or component, including the cosimulation of your HDL module.
Cosimulation with System Object
- Create a MATLAB System Object
You can verify HDL modules using the HDL Cosimulation System object™.
- Verify Viterbi Decoder Using MATLAB System Object and HDL Simulator
This example shows you how to use MATLAB® System objects and an HDL simulator to cosimulate a Viterbi decoder implemented in VHDL.
- Import HDL Code for MATLAB System Object
Generate a MATLAB System object to cosimulate your HDL code.
Cosimulation with Function
- Import HDL Code for MATLAB Function
Generate a MATLAB function to cosimulate your HDL code.
- Test Bench and Component Function Writing
This section explains how you use the
use_instance_objargument for MATLAB functions
- Verify Raised Cosine Filter Design Using MATLAB
Tutorial with the steps for setting up an HDL Verifier™ application using the Cosimulation Wizard.
- Automatic Verification of Generated HDL Code from MATLAB
Verify generated HDL code using a generated cosimulation script.
- Verify Code with HDL Test Bench (HDL Coder)
Simulate the generated HDL design under test (DUT) with test vectors from the test bench using the specified simulation tool.
- 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.