Verilog to Routing - VPR
place_and_route.h
Go to the documentation of this file.
1 #ifndef VPR_PLACE_AND_ROUTE_H
2 #define VPR_PLACE_AND_ROUTE_H
3 
4 #define INFINITE -1
5 #define NOT_FOUND 0
6 
7 #define WNEED 1
8 #define WL 2
9 #define PROC_TIME 3
10 
11 #include "vpr_types.h"
12 #include "timing_info.h"
13 #include "RoutingDelayCalculator.h"
14 
15 struct t_fmap_cell {
16  int fs;
17  int fc;
18  int wneed;
19  int wirelength;
20  int proc_time;
22 };
23 
24 int binary_search_place_and_route(const t_placer_opts& placer_opts_ref,
25  const t_annealing_sched& annealing_sched,
26  const t_router_opts& router_opts,
27  const t_analysis_opts& analysis_opts,
28  const t_file_name_opts& filename_opts,
29  const t_arch* arch,
30  bool verify_binary_search,
31  int min_chan_width_hint,
32  t_det_routing_arch* det_routing_arch,
33  std::vector<t_segment_inf>& segment_inf,
34  ClbNetPinsMatrix<float>& net_delay,
35  std::shared_ptr<SetupHoldTimingInfo> timing_info,
36  std::shared_ptr<RoutingDelayCalculator> delay_calc);
37 
38 t_chan_width init_chan(int cfactor, t_chan_width_dist chan_width_dist);
39 
40 void post_place_sync();
41 
42 #endif
int wneed
Definition: place_and_route.h:18
t_chan_width init_chan(int cfactor, t_chan_width_dist chan_width_dist)
Assigns widths to channels (in tracks).
Definition: place_and_route.cpp:392
void post_place_sync()
After placement, logical pins for blocks, and nets must be updated to correspond with physical pins o...
Definition: place_and_route.cpp:523
Defines the detailed routing architecture of the FPGA.
Definition: vpr_types.h:1129
This is a core file that defines the major data types used by VPR.
int fs
Definition: place_and_route.h:16
int binary_search_place_and_route(const t_placer_opts &placer_opts_ref, const t_annealing_sched &annealing_sched, const t_router_opts &router_opts, const t_analysis_opts &analysis_opts, const t_file_name_opts &filename_opts, const t_arch *arch, bool verify_binary_search, int min_chan_width_hint, t_det_routing_arch *det_routing_arch, std::vector< t_segment_inf > &segment_inf, ClbNetPinsMatrix< float > &net_delay, std::shared_ptr< SetupHoldTimingInfo > timing_info, std::shared_ptr< RoutingDelayCalculator > delay_calc)
This routine performs a binary search to find the minimum number of tracks per channel required to su...
Definition: place_and_route.cpp:51
int wirelength
Definition: place_and_route.h:19
Annealing schedule information for the placer.
Definition: vpr_types.h:803
Definition: place_and_route.h:15
int fc
Definition: place_and_route.h:17
Channel width data.
Definition: vpr_types.h:1440
Definition: vpr_types.h:1082
Definition: vpr_types.h:867
Names of various files.
Definition: vpr_types.h:722
t_fmap_cell * next
Definition: place_and_route.h:21
int proc_time
Definition: place_and_route.h:20
Definition: vpr_types.h:1023