To create an IP customization using the IP catalog, select the IP by double-clicking the IP, from the toolbar, select the Customize IP command, or right-click and select the command.
The Customize IP dialog box shows the various parameters available for you to customize the IP. This interface varies, depending on the IP you select, and can include one or more tabs in which to enter values.
Also, the Customize IP dialog box includes an IP symbol and tabs for setting configuration options for the specific IP. The Vivado IDE writes these configuration options to the <ip_name>.xci file, and stores them as properties on the IP object.
The IP symbol supports zoom, re-size, and auto-fit options that are consistent with the schematic viewer canvas in Vivado IDE.
The following figure shows the Customize IP interface for the FIFO Generator IP.
In the IP dialog box, set the following options:
- Documentation > Product Guide: Open the product guide for the selected IP.
- IP Location: Specify the location on disk to store the IP. This location can only be adjusted per IP in an RTL-based project. This functionality is not provided in a Managed IP project because Managed IP builds a repository.
- Switch to Defaults: Displays a window asking if you want to reset all configuration options back to their default starting point.
Customize the IP as needed for your design, and click OK.
Xilinx recommends that when specifying a numerical value, use hexadecimal to speed processing.
Tcl Commands for IP
The following are example Tcl commands for use with IP.
Example for Creating an IP Customization
You can also create IP customizations using the create_ip Tcl command. For example:
create_ip -name fifo_generator -version 12.0 -vendor xilinx.com -library ip\
-module_name fifo_gen
You must specify either -vlnv
or all of -vendor
,
-library
, -name
, and
-version
.
create_ip
command. Example for Setting IP Properties
To define the different configuration settings of the IP, use the set_property command. For example:
set_property CONFIG.Input_Data_Width 12 [get_ips fifo_gen]
Example for Reporting IP Properties
To get a list of properties available for an IP, use the report_property command. For example:
report_property CONFIG.* [get_ips <ip_name>]
Configuration properties start with CONFIG
.
Example of a Query of an IP Customization Property
To determine if an IP customization property is set to the default or set by the user, see the following example:
# Find the read data count width.
get_property CONFIG.Read_Data_Count_Width [get_ips char_fifo]
10
# Determine the source of CONFIG.Read_Data_Count_Width property.
# See that this is the default value
get_property CONFIG.Read_Data_Count_Width.value_src [get_ips char_fifo]
default
# Get the output data width.
get_property CONFIG.Output_Data_Width [get_ips char_fifo]
8
# Determine the source of CONFIG.Output_Data_Width property.
# See that this is set by the user.
get_property CONFIG.Output_Data_Width.value_src [get_ips char_fifo]
user