The Xilinx® Vivado® Design Suite provides an intellectual property (IP) centric design flow that lets you add IP modules to your design from various design sources. Central to the environment is an extensible IP catalog that contains Xilinx-delivered Plug-and-Play IP. The IP catalog can be extended by adding the following:
- Modules from System Generator for DSP designs ( MATLAB® from Simulink® algorithms)
- Vivado High-Level Synthesis (HLS) designs (C/C++ algorithms)
- Third-party IP
- Designs packaged as IP using the Vivado IP packager tool
The following figure illustrates the IP-centric design flow.
The available methods to work with IP in a design are:
- Use the Managed IP flow to customize IP and generate output products, including a synthesized design checkpoint (DCP) to preserve the customization for use in the current and future releases. See Using Manage IP Projects for more information.
- Use IP in either Project or Non-Project modes by referencing the created Xilinx core instance (XCI) file, which is a recommended method for working with large projects with contributing team members.
- Access the IP catalog from a project to customize and add IP to a design. Store the IP files either local to the project, or for projects with small team sizes, it is recommended that you save it externally from the project.
- Add sources by right-clicking in IP integrator canvas and add an RTL module to a design diagram, which provides an RTL on Canvas. See this link to Vivado Design Suite User Guide: Designing IP Subsystems Using IP Integrator (UG994) for more information on module references.
- Create and customize IP and generate output products in a Non-Project script
flow, including generation of a DCP. See this link for more information about
Non-Project mode in the Vivado Design Suite User Guide: Design
Flows Overview (UG892).
Always reference the IP using the XCI file. It is not recommended to read just the IP DCP file, either in a Project Mode or Non-Project Mode flow. While the DCP did contain constraints prior to 2017.1, in Vivado releases going forward, it does not contain constraints or provide other output products that an IP could deliver and that could be needed, such as ELF or COE files, and Tcl scripts.
The Vivado Design Suite Tutorial: Designing with IP (UG939) provides instruction on how to use Xilinx IP in Vivado.