# This collects QoR data that is interesting for the AP flow running on a fixed
# channel width.

vpr_status;output.txt;vpr_status=(.*)
post_gp_hpwl;vpr.out;\s*Placement estimated wirelength: (.*)
post_fl_hpwl;vpr.out;Initial placement BB estimate of wirelength: (.*)
post_dp_hpwl;vpr.out;BB estimate of min-dist \(placement\) wire length: (.*)
total_wirelength;vpr.out;\s*Total wirelength: (\d+)
post_gp_cpd;vpr.out;\s*Placement estimated CPD: (.*) ns
post_fl_cpd;vpr.out;Initial placement estimated Critical Path Delay \(CPD\): (.*) ns
post_dp_cpd;vpr.out;Placement estimated critical path delay \(least slack\): (.*) ns
crit_path_delay;vpr.out;Critical path: (.*) ns
post_gp_sTNS;vpr.out;\s*Placement estimated sTNS: (.*) ns
post_fl_sTNS;vpr.out;Initial placement estimated setup Total Negative Slack \(sTNS\): (.*) ns
post_dp_sTNS;vpr.out;Placement estimated setup Total Negative Slack \(sTNS\): (.*) ns
final_sTNS;vpr.out;Final setup Total Negative Slack \(sTNS\): (.*) ns
post_gp_overfilled_bins;vpr.out;\s*Number of overfilled bins: (\d+)
post_gp_avg_overfill;vpr.out;\s*Average overfill magnitude: (.*)
post_gp_num_misplaced_blocks;vpr.out;\s*Number of blocks in an incompatible bin: (\d+)
post_fl_cluster_err;vpr.out;\s*Percent of clusters with reconstruction errors: (.*)
post_fl_atom_err;vpr.out;\s*Percent of atoms misplaced from the flat placement: (.*)
post_fl_total_disp;vpr.out;\s*Total displacement of initial placement from flat placement: (.*)
post_fl_avg_disp;vpr.out;\s*Average atom displacement of initial placement from flat placement: (.*)
post_fl_max_disp;vpr.out;\s*Max atom displacement of initial placement from flat placement: (.*)
ap_runtime;vpr.out;Analytical Placement took (.*) seconds
ap_gp_runtime;vpr.out;AP Global Placer took (.*) seconds
ap_fl_runtime;vpr.out;AP Full Legalizer took (.*) seconds
ap_dp_runtime;vpr.out;AP Detailed Placer took (.*) seconds
route_runtime;vpr.out;Routing took (.*) seconds
total_runtime;vpr.out;The entire flow of VPR took (.*) seconds
num_clb;vpr.out;Netlist clb blocks:\s*(\d+)
num_lab;vpr.out;Netlist LAB blocks:\s*(\d+)

num_pre_packed_blocks;vpr.out;\s+total blocks:\s*(\d+),.*