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>]
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. |
-additional
|
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:
|
-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
three_config.log
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.