Skip to content

Commit 82c0210

Browse files
authored
Merge pull request #1417 from Bill-hbrhbr/placer_timing_cost_consistency_check
Fix timing cost consistency check bug
2 parents 9686030 + 74c4250 commit 82c0210

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

vpr/src/place/timing_place.cpp

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,12 @@ void PlacerCriticalities::update_criticalities(const SetupTimingInfo* timing_inf
3737
if (INCR_UPDATE_CRITICALITIES) {
3838
cluster_pins_with_modified_criticality_.clear();
3939
if (crit_exponent != last_crit_exponent_) {
40-
//Criticality exponent changed, must re-calculate *all* criticalties
41-
auto pins = clb_nlist_.pins();
42-
cluster_pins_with_modified_criticality_.insert(pins.begin(), pins.end());
40+
//Criticality exponent changed, must re-calculate criticalities for *all* sink pins
41+
for (ClusterNetId net_id : clb_nlist_.nets()) {
42+
for (ClusterPinId pin_id : clb_nlist_.net_sinks(net_id)) {
43+
cluster_pins_with_modified_criticality_.insert(pin_id);
44+
}
45+
}
4346

4447
//Record new criticality exponent
4548
last_crit_exponent_ = crit_exponent;
@@ -68,8 +71,11 @@ void PlacerCriticalities::update_criticalities(const SetupTimingInfo* timing_inf
6871
}
6972
} else {
7073
//Non-incremental: all pins and nets need updating
71-
auto pins = clb_nlist_.pins();
72-
cluster_pins_with_modified_criticality_.insert(pins.begin(), pins.end());
74+
for (ClusterNetId net_id : clb_nlist_.nets()) {
75+
for (ClusterPinId pin_id : clb_nlist_.net_sinks(net_id)) {
76+
cluster_pins_with_modified_criticality_.insert(pin_id);
77+
}
78+
}
7379
}
7480

7581
//Update the effected pins

0 commit comments

Comments
 (0)