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
Note: The output products need to be generated for this Tcl command to run properly.
3) Use the following commands:
set_property target_simulator <simulator_name> [current_project]This will create a simulation script of the specified IP for the specified target simulator.
launch_simulation -scripts_only -of_objects [get_files <ip_name>.xci]
4) 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.