Generally, the IP Tcl commands used for working are consistent between the Project Mode flow and the Non-Project Mode flow with a few exceptions related to setting the part to be used for IP creation and synthesis. The following table lists the Tcl command in the order that you would use them in a design.
Action | Project Mode Command | Non Project Mode Command |
---|---|---|
Set part for IP creation | N/A. Part is a project setting. |
Creates project in memory, not on disk. Commands that have a part option, for example, synth_design , then use the specified part. |
Create an IP Customization |
create_ip
<ip_name>
|
create_ip <ip_name>
|
Upgrade an IP |
upgrade_ip
<ip_name>
|
upgrade_ip <ip_name>
CAUTION: Do not use
upgrade_ip [get_ips -all]; this can cause issues with Vivado. The -all option returns sub-core IP. These IP might get removed during an upgrade of the parent and can lead to unreferenced Tcl objects.
|
Configure IP Customization |
|
|
Create a target Clock Period | If supported, use IP Customization GUI. If not supported use the Tcl command as shown in Non Project mode. |
set_property \ CONFIG.<clock_name>.FREQ_HZ \ <#>[get_ips char_fifo] |
Generate output products |
Optionally, you can specify the target(s) you want to generate. |
Optionally, you can specify the target(s) you want to generate. |
Synthesize IP to create OOC DCP |
|
synth_ip [get_ips <ip_name
>
]
|
Read an IP |
Copy an IP into a project along with any output products:
Add the IP to a project along with any output products and reference from the specified location. Use either of the following:
|
Read the IP as well as any generated output products. Use either of the following:
Unlike in the Project Flow, the output products are not generated automatically. You must generate them using the generate_target command. If you use the synth_ip command to produce a DCP for the IP, it is not necessary to generate the output targets first; those targets are generated automatically. |
File queries |
|
|
Simulation | See Simulating IP. | See Delivering IP Simulation Models. |
Debug | See Debugging Flows. | |
IP Definition |
report_property -all [get_ipdefs <IPVLNV>
|
|
IP Creation |
write_ip_tcl
|
write_ip_tcl
|