@@ -36,6 +36,9 @@ Placer::Placer(const Netlist<>& net_list,
3636 const auto & device_ctx = g_vpr_ctx.device ();
3737 const auto & atom_ctx = g_vpr_ctx.atom ();
3838
39+ const auto & timing_ctx = g_vpr_ctx.timing ();
40+ pre_place_timing_stats_ = timing_ctx.stats ;
41+
3942 init_placement_context (placer_state_.mutable_blk_loc_registry (), directs);
4043
4144 // create a NoC cost handler if NoC optimization is enabled
@@ -255,7 +258,7 @@ int Placer::check_placement_costs_() {
255258void Placer::place () {
256259 const auto & timing_ctx = g_vpr_ctx.timing ();
257260 const auto & cluster_ctx = g_vpr_ctx.clustering ();
258- const auto & p_runtime_ctx = placer_state_. runtime ();
261+
259262
260263 bool skip_anneal = false ;
261264#ifdef ENABLE_ANALYTIC_PLACE
@@ -265,9 +268,6 @@ void Placer::place() {
265268 }
266269#endif
267270
268- const t_annealing_state& annealing_state = annealer_->get_annealing_state ();
269- const auto & [swap_stats, move_type_stats, placer_stats] = annealer_->get_stats ();
270-
271271 if (!skip_anneal) {
272272 // Table header
273273 log_printer_.print_place_status_header ();
@@ -307,7 +307,7 @@ void Placer::place() {
307307 // Start Quench
308308 annealer_->start_quench ();
309309
310- auto pre_quench_timing_stats = timing_ctx.stats ;
310+ pre_quench_timing_stats_ = timing_ctx.stats ;
311311 { // Quench
312312 vtr::ScopedFinishTimer temperature_timer (" Placement Quench" );
313313
@@ -323,9 +323,10 @@ void Placer::place() {
323323
324324 log_printer_.print_place_status (temperature_timer.elapsed_sec ());
325325 }
326- auto post_quench_timing_stats = timing_ctx.stats ;
326+ post_quench_timing_stats_ = timing_ctx.stats ;
327327
328328 // Final timing analysis
329+ const t_annealing_state& annealing_state = annealer_->get_annealing_state ();
329330 PlaceCritParams crit_params;
330331 crit_params.crit_exponent = annealing_state.crit_exponent ;
331332 crit_params.crit_limit = placer_opts_.place_crit_limit ;
@@ -370,25 +371,6 @@ void Placer::place() {
370371 check_place_ ();
371372
372373 log_printer_.print_post_placement_stats ();
373-
374- // Print out swap statistics and resource utilization
375- log_printer_.print_resources_utilization ();
376- log_printer_.print_placement_swaps_stats ();
377-
378- move_type_stats.print_placement_move_types_stats ();
379-
380- if (noc_opts_.noc ) {
381- write_noc_placement_file (noc_opts_.noc_placement_file_name , placer_state_.block_locs ());
382- }
383-
384- print_timing_stats (" Placement Quench" , post_quench_timing_stats, pre_quench_timing_stats);
385- // print_timing_stats("Placement Total ", timing_ctx.stats, pre_place_timing_stats);
386-
387- VTR_LOG (" update_td_costs: connections %g nets %g sum_nets %g total %g\n " ,
388- p_runtime_ctx.f_update_td_costs_connections_elapsed_sec ,
389- p_runtime_ctx.f_update_td_costs_nets_elapsed_sec ,
390- p_runtime_ctx.f_update_td_costs_sum_nets_elapsed_sec ,
391- p_runtime_ctx.f_update_td_costs_total_elapsed_sec );
392374}
393375
394376void Placer::copy_locs_to_global_state () {
0 commit comments