Step 3: Disable XDC Files - 2021.1 English

Vivado Design Suite Tutorial: Designing with IP (UG939)

Document ID
UG939
Release Date
2021-07-19
Version
2021.1 English
As in Project Mode, if an IP delivers XDC constraints, they are automatically processed and added to the in-memory design. For this design, you will disable the XDC files that are included with the Clock Wizard IP as you have constraints in the top-level XDC file that you will apply instead. However, the Clock Wizard IP has not had the output products generated, so you will first need to generate the output products, which include the XDC files.

When generating the output products for an included XCI file IP, you must decide whether to use an out-of-context flow, including the creation of a synthesis Design Checkpoint (DCP), or to let the IP be synthesized as part of the top-level design.

Because, for the Clocking wizard, you want to disable the use of an XDC; consequently you need to also configure the IP to not use a DCP.

  1. Add the following to your script to configure the IP to not use a Synthesis Design Checkpoint:
    set_property generate_synth_checkpoint false [get_files clk_wiz_0.xci]

    Now when synthesis is done in the top-level, the RTL output products are used and a DCP is not expected. Unlike in a Project Flow, output products are not automatically generated as needed, and need to be manually created.

  2. Add the generate_target command to your Tcl script:
    generate_target all [get_ips clk_wiz_0]

    Because you copied the XCI file from the source IP repository into a local directory, the output products are written to the local directory.

    Tip: To find out what output products an IP supports, use either the report_property command on the IP, or get_property to get the KNOWN_TARGETS property from the IP. For example, do not add these to your script:
    report_property [get_ips clk_wiz_0]
    get_property KNOWN_TARGETS [get_ips clk_wiz_0]

    Multiple output products can be generated by passing a list to the command, such as {synthesis instantiation_template}.

    To disable the XDC files delivered with the Clock Wizard, you need the names of the files. You can query the XDC file(s) that are delivered with an IP, by using the get_files command with the -of_objects and -filter options.

  3. To capture the XDC file names of the Clock Wizard IP in a Tcl variable, add the following lines to your script:
    set clk_wiz_xdc [get_files -of_objects \
    [get_files clk_wiz_0.xci] -filter {FILE_TYPE == XDC}]

    This returns the names of the XDC files delivered with the Clock Wizard.

  4. To disable the XDC files, add this line to your script as well:
    set_property is_enabled false [get_files $clk_wiz_xdc]

    The XDC files delivered with clk_wiz IP are disabled when you run your script.

    To check what XDC files are evaluated, and in what order, you can use the report_compile_order command with the -constraints option.