Some IP are designed to use other IP as design sources. Depending on how the parent IP was created, there can be OOC synthesis runs for the children IP. The following are types of subsystem IP with a parent-child relationship:
- IP that reference another IP as a library of files or IP that are beneath the top-level (sub-core reference): Sub-core references are described in Vivado Design Suite User Guide: Creating and Packaging Custom IP (UG1118), have one OOC synthesis run. In the IP Sources there are no sub-core IP shown, there is only one XCI.
- IP that are packaged with XCI files for child IP (static IP): Static IP are those that were packaged with XCI files for other IP.
- IP that dynamically create child IP and HDL (dynamic IP): Dynamic IP have one OOC synthesis run because all the IP are synthesized together. Similar to the static IP, you see multiple XCI in the IP sources.
- IP that use the IP integrator technologies to dynamically create and interconnect IP (subsystem IP): Subsystem IP are the IP that the IP integrator technology creates. For example, when viewing the synthesis log for the 10G Ethernet Subsystem IP you see that black boxes are inferred for the child IP. This is similar to the default flow of IP in a user design during synthesis.
Looking at the IP Sources, you see the XCI for the child IP with output products in the Synthesis
folder for the parent IP, as shown in the following figure.
During OOC synthesis per IP, after the synthesis of the children IP is completed, they are linked together to create the combined DCP for the IP, as shown in the following figure. In this way subsystem IP look just like other IP.
The Generate Output Products dialog box lets you specify the number of parallel runs in the Run Settings field.
Additionally, if IP Caching is enabled, the hierarchical IP can have cache hits for the children IP. These can greatly speed-up generation.