Use the Create and Package IP Wizard - 2020.2 English

Vivado Design Suite Tutorial: Creating and Packaging Custom IP (UG1119)

Document ID
UG1119
Release Date
2021-02-04
Version
2020.2 English
  1. From the Tools menu, select Create and Package New IP to open the Create and Package IP Wizard.
  2. Click Next at the Welcome screen for the Create and Package New IP dialog box.
  3. In the Create Peripheral, Package IP, or Package Block Design dialog box, select Package a specified directory.
  4. Click Next.
  5. In the Package a Specified Directory dialog box, shown in the following figure, set the options as follows:
    • Directory: <Extract_Dir>/lab_4/trunk/myip_v1_0
    • Do not select the Package as a library core option.


  6. Click Next.
  7. On the Edit in IP Packager Project Name window, leave the default locations, and click Next.
  8. Click Finish.

    An edit IP project opens in a new Vivado window with the Package IP window opened, as shown in the following figure, to continue with the next steps.



  9. Update the IP Information and Contents In the Package IP window, update the following information on the Identification page:
    Vendor
    my_company
    Display Name
    My IP
    Description
    UG1119 Tutorial Lab #4 – My IP
    Vendor Display Name
    My Company
    Company url
    <company_URL>
  10. Click the File Groups to examine the files included in the packaged IP, as shown in the following figure.

    The packaged IP only contains the top-level source file, myip_top, as this was the only file in the selected IP directory <Extract_Dir>/lab_4/trunk/myip_v1_0. This file instantiates the IP common_v1_0.

  11. As reference, if you examine the Hierarchy Sources in the project, you can see that the common module is missing, as shown in the following figure.

    This is expected behavior, because you add the missing IP source files through the Package IP window.

  12. In the File Group window, right-click the Synthesis file group and select Add Sub-Core Reference, as shown in the following figure.

  13. In the Add Sub-Core Reference dialog box, select the My Company Common Library that you created in the previous steps, as shown in the following figure.

  14. Click OK.

    The File Groups page is updated with the selected Sub-Core Reference under the Synthesis File Group, as shown in the following figure.

    Adding an IP as a Sub-Core Reference informs the Vivado IDE to copy the files associated IP to the parent IP during generation; therefore, when myip_v1_0 is generated, the common_v1_0 files are copied to the location with the rest of the generated output products. This mechanism allows users to systematically share IP files.



    The Sub-Core Reference is added for the Synthesis File Group, and the same process needs to be performed for Simulation.

  15. In the File Group window, right-click the Simulation file group, and select Add Sub-Core Reference.
  16. In Add Sub-Core Reference dialog box, select My Company Common Library.
  17. Click OK.

    The Sub-Core References are now added to both the Synthesis and Simulation File Groups, as shown in the following figure. The necessary files from the common_v1_0 IP are available to myip_v1_0 for both Synthesis and Simulation.



  18. Click the Review and Package page to view the name, location, and root directory information about the IP.
  19. Click Package IP to update the IP with the updated identification and Sub-Core Reference information.

    This completes the packaging for the myip_v1_0 IP. If prompted, you can close the edit_ip_project.

    Note: Adding a sub-core reference in the Package IP window does affect the state of the edit IP project. The Hierarchy Sources window continues to display the missing modules located within the sub-core reference. This information only exists within the Package IP window and component.xml. If you want to verify the IP with the files from the Sub-Core Reference, you can reopen the packaged IP in an edit IP project through the IP catalog and the associated Sub-Core Reference files will be present.