Skip to content

Commit 0af49af

Browse files
authored
Merge pull request #2938 from verilog-to-routing/init_place_wl
Parsing Initial Placement WL and CPD
2 parents ab25381 + c115a4a commit 0af49af

File tree

5 files changed

+9
-3
lines changed

5 files changed

+9
-3
lines changed

libs/libvtrutil/src/tl_optional.hpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,9 @@ struct is_nothrow_swappable
281281

282282
// std::void_t from C++17
283283
template<class...>
284-
struct voider { using type = void; };
284+
struct voider {
285+
using type = void;
286+
};
285287
template<class... Ts>
286288
using void_t = typename voider<Ts...>::type;
287289

vpr/src/place/placement_log_printer.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,10 @@ void PlacementLogPrinter::print_post_placement_stats() const {
236236
VTR_LOG("Swaps called: %d\n", swap_stats.num_ts_called);
237237
placer_.annealer_->get_move_abortion_logger().report_aborted_moves();
238238

239+
VTR_LOG("\n");
240+
double estimated_wirelength = placer_.net_cost_handler_.get_total_wirelength_estimate();
241+
VTR_LOG("BB estimate of min-dist (placement) wire length: %.0f\n", estimated_wirelength);
242+
239243
if (placer_.placer_opts_.place_algorithm.is_timing_driven()) {
240244
//Final timing estimate
241245
VTR_ASSERT(placer_.timing_info_);

vpr/src/place/placer.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -261,8 +261,6 @@ int Placer::check_placement_costs_() {
261261
double timing_cost_check;
262262

263263
const auto [bb_cost_check, expected_wirelength] = net_cost_handler_.comp_bb_cost(e_cost_methods::CHECK);
264-
VTR_LOGV(!log_printer_.quiet(),
265-
"\nBB estimate of min-dist (placement) wire length: %.0f\n", expected_wirelength);
266264

267265
if (fabs(bb_cost_check - costs_.bb_cost) > costs_.bb_cost * PL_INCREMENTAL_COST_TOLERANCE) {
268266
VTR_LOG_ERROR(

vtr_flow/parse/parse_config/common/vpr.place.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
#VPR Place Metrics
2+
initial_placed_wirelength_est;vpr.out;Initial placement BB estimate of wirelength:\s*(\d+)
23
placed_wirelength_est;vpr.out;BB estimate of min-dist \(placement\) wire length: (\d+)
34

45
#VPR Number of heap operations

vtr_flow/parse/parse_config/timing/vpr.place.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
%include "../common/vpr.place.txt"
22

33
#VPR Place Timing Metrics
4+
initial_placed_CPD_est;vpr.out;Initial placement estimated Critical Path Delay \(CPD\): (.*) ns
45
placed_CPD_est;vpr.out;Placement estimated critical path delay \(least slack\): (.*) ns
56
placed_setup_TNS_est;vpr.out;Placement estimated setup Total Negative Slack \(sTNS\): (.*) ns
67
placed_setup_WNS_est;vpr.out;Placement estimated setup Worst Negative Slack \(sWNS\): (.*) ns

0 commit comments

Comments
 (0)