Verifying Configurations - 2023.2 English

Vivado Design Suite User Guide: Dynamic Function eXchange (UG909)

Document ID
Release Date
2023.2 English

Once all configurations have been completely placed and routed, a final verification check can be done to validate consistency between these configurations using pr_verify. This command takes in multiple routed checkpoints (DCPs) as arguments, and outputs a log of any differences found in the static implementation and Partition Pin placement between them. Placement and routing within any RMs is ignored during the comparison.

The pr_verify utility must be run on the same types of design checkpoints. If the full standard DFX design flow is used, pr_verify compares full design configuration checkpoints that have completed routing to confirm compatibility. If the Abstract Shell flow is used, use pr_verify to compare the initial abstract shell checkpoint that still contains a black box for the RP to a checkpoint that has an RM implemented in that partition, or to compare two RM implementations within the same abstract shell. Any pr_verify comparisons between full and abstract shells or different abstract shells are expected to fail, as the static design contents are different.

When just two configurations are to be compared, list the two routed checkpoints as <file1> and <file2>. The pr_verify command loads both in memory and makes the comparison.

When more than two configurations are to be compared, provide a master configuration using the -initial switch, then list the remaining configurations by using the -additional switch, listing configurations in braces ({ and }). The initial configuration is kept in memory and the remaining configurations are compared against the initial one. Bitstreams should not be generated for any configurations if any pair of configurations do not pass the PR Verify check.

pr_verify [-full_check] [-file <arg>] [-initial <arg>] [-additional <arg>] 
[-quiet] [-verbose] [<file1>] [<file2>]
Table 1. pr_verify Options
Command Option Description
-full_check Default behavior is to report the first difference only; if this option is selected, pr_verify reports all differences in placement or routing.
-file Filename to output results to. Send output to console if -file is not used.
-initial Select one routed design checkpoint against which all others will be compared.

Select one or more routed design checkpoints to compare against the initial one. List multiple checkpoints within braces, separated by a space, as in this example:

{config2.dcp config3.dcp config4.dcp}

-quiet Ignore command errors.
-verbose Suspend message limits during command execution.

The following is a sample command line comparing two configurations:

pr_verify -full_check config1_routed.dcp config2_routed.dcp -file pr_verify_c1_c2.log

The following is a second example verifying three configurations:

pr_verify -full_check -initial config1.dcp -additional {config2.dcp config3.dcp} -file 

The scripts provided with the Vivado Design Suite Tutorial: Dynamic Function eXchange (UG947) have a Tcl Proc called verify_configs that automatically runs all existing configurations through pr_verify, and reports if the DCPs are compatible or not.