Skip to content

Commit 6314262

Browse files
committed
[vpr][place] use appropiate wirelength est function
1 parent 5f163bd commit 6314262

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

vpr/src/place/net_cost_handler.cpp

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,8 @@ std::pair<double, double> NetCostHandler::comp_per_layer_bb_cost_(e_cost_methods
315315
net_cost_[net_id] = get_net_per_layer_bb_cost_(net_id, /*use_ts=*/false);
316316
cost += net_cost_[net_id];
317317
if (method == e_cost_methods::CHECK) {
318-
expected_wirelength += get_net_wirelength_from_layer_bb_(net_id);
318+
expected_wirelength += get_net_wirelength_from_layer_bb_(place_move_ctx.layer_bb_coords[net_id],
319+
place_move_ctx.num_sink_pin_layer[size_t(net_id)]);
319320
}
320321
}
321322
}
@@ -1636,12 +1637,16 @@ void NetCostHandler::recompute_costs_from_scratch(const PlaceDelayModel* delay_m
16361637

16371638
double NetCostHandler::get_total_wirelength_estimate() const {
16381639
const auto& clb_nlist = g_vpr_ctx.clustering().clb_nlist;
1639-
const auto& bb_coords = placer_state_.move().bb_coords;
16401640

16411641
double estimated_wirelength = 0.0;
16421642
for (ClusterNetId net_id : clb_nlist.nets()) { /* for each net ... */
16431643
if (!clb_nlist.net_is_ignored(net_id)) { /* Do only if not ignored. */
1644-
estimated_wirelength += get_net_wirelength_estimate(net_id, bb_coords[net_id]);
1644+
if (cube_bb_) {
1645+
estimated_wirelength += get_net_wirelength_estimate(net_id, placer_state_.move().bb_coords[net_id]);
1646+
} else {
1647+
estimated_wirelength += get_net_wirelength_from_layer_bb_(placer_state_.move().layer_bb_coords[net_id],
1648+
placer_state_.move().num_sink_pin_layer[size_t(net_id)]);
1649+
}
16451650
}
16461651
}
16471652

0 commit comments

Comments
 (0)