@@ -20,6 +20,8 @@ Placer::Placer(const Netlist<>& net_list,
2020 const t_placer_opts& placer_opts,
2121 const t_analysis_opts& analysis_opts,
2222 const t_noc_opts& noc_opts,
23+ const IntraLbPbPinLookup& pb_gpin_lookup,
24+ const ClusteredPinAtomPinsLookup& netlist_pin_lookup,
2325 const std::vector<t_direct_inf>& directs,
2426 std::shared_ptr<PlaceDelayModel> place_delay_model,
2527 bool cube_bb,
@@ -28,6 +30,8 @@ Placer::Placer(const Netlist<>& net_list,
2830 : placer_opts_(placer_opts)
2931 , analysis_opts_(analysis_opts)
3032 , noc_opts_(noc_opts)
33+ , pb_gpin_lookup_(pb_gpin_lookup)
34+ , netlist_pin_lookup_(netlist_pin_lookup)
3135 , costs_(placer_opts.place_algorithm, noc_opts.noc)
3236 , placer_state_(placer_opts.place_algorithm.is_timing_driven(), cube_bb)
3337 , rng_(placer_opts.seed)
@@ -36,8 +40,6 @@ Placer::Placer(const Netlist<>& net_list,
3640 , log_printer_(*this , quiet)
3741 , is_flat_(is_flat) {
3842 const auto & cluster_ctx = g_vpr_ctx.clustering ();
39- const auto & device_ctx = g_vpr_ctx.device ();
40- const auto & atom_ctx = g_vpr_ctx.atom ();
4143
4244 pre_place_timing_stats_ = g_vpr_ctx.timing ().stats ;
4345
@@ -102,11 +104,6 @@ Placer::Placer(const Netlist<>& net_list,
102104 init_draw_coords ((float )width_fac, placer_state_.blk_loc_registry ());
103105 }
104106
105- // Allocate here because it goes into timing critical code where each memory allocation is expensive
106- pb_gpin_lookup_ = IntraLbPbPinLookup (device_ctx.logical_block_types );
107- // Enables fast look-up of atom pins connect to CLB pins
108- netlist_pin_lookup_ = ClusteredPinAtomPinsLookup (cluster_ctx.clb_nlist , atom_ctx.nlist , pb_gpin_lookup_);
109-
110107 // Gets initial cost and loads bounding boxes.
111108 costs_.bb_cost = net_cost_handler_.comp_bb_cost (e_cost_methods::NORMAL);
112109 costs_.bb_cost_norm = 1 / costs_.bb_cost ;
0 commit comments