Verifying Configurations - 2020.2 English

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

Document ID
Release Date
2020.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.

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:

expanse="page">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:

expanse="page">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.