I am having issues simulating my IP in a supported Third Party Simulator.
How do I get the files needed for simulation and create a successful simulation script from within a Managed IP Project?
In some use cases, users create large numbers of IP within a single Managed IP Project. They then test the IP via a 3rd Party Simulation tool, (for example QuestaSim) before they start designing in a Vivado Project.
Below are a few approaches to finding the required files for simulating the IP(s).
When you create an IP customization (XCI), the Vivado IDE creates a directory whose name is the same as the IP that contains the IP definition and output products.
Within this directory, there is an ip_user_files directory that stores the IP support files. Inside the ip_user_files folder there is a folder named sim_scripts.
By default, scripts for all supported simulators for the selected OS are created in this folder for each IP present.
To control scripts generation, see the General IP Settings:
For Microsoft Windows, this includes:
For Linux, this includes the above simulators as well as:
2) Use the following command:
report_compile_order -used_in simulation
This will create a list of files needed to simulate ALL of the IP in the Managed IP Project and include the location of the file. It will also list what libraries are needed for each specific IP.
Note: The output products need to be generated for this Tcl command to run properly.
3) Use the following command:
export_simulation -directory <output_directory> -simulator <simulator_name> -of_objects [get_files <ip_name>.xci]
This will create a simulation script of the specified IP in the specified output directory for the specified target simulator.
Note: This can be used for ALL IP in the Managed IP Project. i.e. you can use *.xci in get_files. It will however make a separate script for each IP.