The :ref:`parse_vtr_task` scripts allow you to compare an executed task to a golden reference result.
The comparison, which is performed when using the :option:`parse_vtr_task.pl -check_golden` option, which reports either Pass
or Fail
.
The requirements that must be met to qualify as a Pass
are specified in the pass requirements file.
Tasks can be configured to use a specific pass requirements file using the pass_requirements_file keyword in the :ref:`vtr_tasks` configuration file.
All provided pass requirements files are located here:
$VTR_ROOT/vtr_flow/parse/pass_requirements
Users can also create their own pass requirement files.
Each line of the file indicates a single metric, data type and allowable values in the following format:
<metric>;<requirement>
<metric>: The name of the metric.
<requirement>: The metric's pass requirement.
Valid requiremnt types are:
Equal()
: The metric value must exactly match the golden reference result.Range(<min_ratio>,<max_ratio>)
: The metric value (normalized to the golden result) must be between<min_ratio>
and<max_ratio>
.RangeAbs(<min_ratio>,<max_ratio>,<abs_threshold>)
: The metric value (normalized to the golden result) must be between<min_ratio>
and<max_ratio>
, or the metric's absolute value must be below<abs_threshold>
.
Or an include directive to import metrics from a separate file:
%include "<filepath>"
- <filepath>: a relative path to another pass requirements file, whose metric pass requirements will be added to the current file.
In order for a Pass
to be reported, all requirements must be met.
For this reason, all of the specified metrics must be included in the parse results (see :ref:`vtr_parse_config`).
Comments can be specified with #
. Anything following a #
is ignored.
vpr_status;Equal() #Pass if precisely equal
vpr_seconds;RangeAbs(0.80,1.40,2) #Pass if within -20%, or +40%, or absolute value less than 2
num_pre_packed_nets;Range(0.90,1.10) #Pass if withing +/-10%
%include "routing_metrics.txt" #Import all pass requirements from the file 'routing_metrics.txt'