Within the Vivado® IDE, the Vivado IP catalog can be accessed from the Vivado IDE and the Tcl design environment.
To accommodate end-users that prefer batch scripting mode, every IP catalog action
such as IP creation, re-customization, output product generation, which is performed in
the Vivado IDE, echoes an equivalent Tcl command into the vivado.log
file; consequently, anything that you can do in
the Vivado IDE you can script also.
The Vivado IP catalog provides direct access to IP parameter customization from the integrated Vivado IDE Tcl Console so you can set individual IP parameters directly from the Tcl Console.
The following are examples of common IP operations using Tcl commands:
Create a customization of the accumulator IP:
create_ip -name c_accum -vendor xilinx.com -library ip \
-module_name c_accum_0
Change customization parameter such as input and output widths:
set_property -dict [list CONFIG.Input_Width {10}
CONFIG.Output_Width {10}] [get_ips c_accum_0]
Generate selective output products:
generate_target {synthesis instantiation_template simulation} \
[get_ips c_accum_0]
Reset any output products generated:
reset_target all [get_ips c_accum_0]
You can use a Tcl script to list the user configuration parameters that are
available for an IP. by using either the list_property
or report_property
command and referencing the created
IP. The following are useful Tcl commands for IP.
Return a list of objects which can be processed with a Tcl script as a list:
list_property
Return a text report giving the current value for each parameter, its type, and other parameters:
report_property
Get a list of all properties which apply to an IP:
list_property [get_ips fifo_generator_0]
Return an alphabetized list of just the customization parameters:
lsearch -all -inline [ list_property [ get_ips fifo_generator_0 ] ] CONFIG.*
Create a report listing all the properties for an IP, including the configuration parameters:
report_property [get_ips fifo_generator_0]
Remove a design run:
delete_ip_run
Export a simulation:
export_simulation
Extract files from a core container to disk:
extract_files
When you remove a design run for an IP and reset the output products for an IP in
the Vivado IDE, two Tcl commands are issued: reset_target
and delete_ip_run
.
Write constraints to an XDC file:
write_xdc <file>
The command writes the constraints into the file in the same order in which the constraints are executed, based on the constraint settings. See Managing IP Constraints for more information on setting IP constraints. Also, see Overriding IP Constraints. Go to the Vivado Design Suite User Guide: Using Constraints (UG903) for more information.
Create a Tcl script of either all RTL IP or individual RTL IP with customizations:
write_ip_tcl
For more information on the supported IP Tcl commands type, help -category IPFlow
in the Tcl Console.