From d923d7518d3fd863a38e7a8c3f20db9e09261f4a Mon Sep 17 00:00:00 2001 From: soheilshahrouz Date: Wed, 20 Nov 2024 11:59:09 -0500 Subject: [PATCH] add is_flat to Placer --- vpr/src/place/place.cpp | 2 +- vpr/src/place/placer.cpp | 12 +++++++----- vpr/src/place/placer.h | 10 ++++++---- 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/vpr/src/place/place.cpp b/vpr/src/place/place.cpp index e687f3d41b..f0d0ab034c 100644 --- a/vpr/src/place/place.cpp +++ b/vpr/src/place/place.cpp @@ -93,7 +93,7 @@ void try_place(const Netlist<>& net_list, place_ctx.lock_loc_vars(); place_ctx.compressed_block_grids = create_compressed_block_grids(); - Placer placer(net_list, placer_opts, analysis_opts, noc_opts, directs, place_delay_model, cube_bb); + Placer placer(net_list, placer_opts, analysis_opts, noc_opts, directs, place_delay_model, cube_bb, is_flat, /*quiet=*/false); #ifndef NO_GRAPHICS if (placer.noc_cost_handler().has_value()) { diff --git a/vpr/src/place/placer.cpp b/vpr/src/place/placer.cpp index d2386e8612..e2a1af629d 100644 --- a/vpr/src/place/placer.cpp +++ b/vpr/src/place/placer.cpp @@ -22,7 +22,9 @@ Placer::Placer(const Netlist<>& net_list, const t_noc_opts& noc_opts, const std::vector& directs, std::shared_ptr place_delay_model, - bool cube_bb) + bool cube_bb, + bool is_flat, + bool quiet) : placer_opts_(placer_opts) , analysis_opts_(analysis_opts) , noc_opts_(noc_opts) @@ -31,7 +33,8 @@ Placer::Placer(const Netlist<>& net_list, , rng_(placer_opts.seed) , net_cost_handler_(placer_opts, placer_state_, cube_bb) , place_delay_model_(std::move(place_delay_model)) - , log_printer_(*this, /*quiet*/false) { + , log_printer_(*this, quiet) + , is_flat_(is_flat) { const auto& cluster_ctx = g_vpr_ctx.clustering(); const auto& device_ctx = g_vpr_ctx.device(); const auto& atom_ctx = g_vpr_ctx.atom(); @@ -61,7 +64,6 @@ Placer::Placer(const Netlist<>& net_list, normalize_noc_cost_weighting_factor(const_cast(noc_opts)); } - BlkLocRegistry& blk_loc_registry = placer_state_.mutable_blk_loc_registry(); initial_placement(placer_opts, placer_opts.constraints_file.c_str(), noc_opts, blk_loc_registry, noc_cost_handler_, rng_); @@ -151,7 +153,7 @@ void Placer::alloc_and_init_timing_objects_(const Netlist<>& net_list, placement_delay_calc_ = std::make_shared(atom_ctx.nlist, atom_ctx.lookup, p_timing_ctx.connection_delay, - /*is_flat=*/false); + is_flat_); placement_delay_calc_->set_tsu_margin_relative(placer_opts_.tsu_rel_margin); placement_delay_calc_->set_tsu_margin_absolute(placer_opts_.tsu_abs_margin); @@ -167,7 +169,7 @@ void Placer::alloc_and_init_timing_objects_(const Netlist<>& net_list, atom_ctx.nlist, atom_ctx.lookup, *timing_info_->timing_graph(), - /*is_flat=*/false); + is_flat_); // First time compute timing and costs, compute from scratch PlaceCritParams crit_params; diff --git a/vpr/src/place/placer.h b/vpr/src/place/placer.h index 29d4b4bdd2..d17f61b065 100644 --- a/vpr/src/place/placer.h +++ b/vpr/src/place/placer.h @@ -27,7 +27,9 @@ class Placer { const t_noc_opts& noc_opts, const std::vector& directs, std::shared_ptr place_delay_model, - bool cube_bb); + bool cube_bb, + bool is_flat, + bool quiet); void place(); @@ -55,7 +57,6 @@ class Placer { const std::optional& noc_cost_handler() const; - //TODO: make this private private: const t_placer_opts& placer_opts_; const t_analysis_opts& analysis_opts_; @@ -66,6 +67,8 @@ class Placer { NetCostHandler net_cost_handler_; std::optional noc_cost_handler_; std::shared_ptr place_delay_model_; + const PlacementLogPrinter log_printer_; + const bool is_flat_; t_placement_checkpoint placement_checkpoint_; @@ -76,7 +79,6 @@ class Placer { std::unique_ptr pin_timing_invalidator_; tatum::TimingPathInfo critical_path_; - std::unique_ptr timer_; IntraLbPbPinLookup pb_gpin_lookup_; @@ -84,7 +86,7 @@ class Placer { std::unique_ptr annealer_; - const PlacementLogPrinter log_printer_; + t_timing_analysis_profile_info pre_place_timing_stats_; t_timing_analysis_profile_info pre_quench_timing_stats_;