#define INFINITE -1 #define NOT_FOUND 0 #define WNEED 1 #define WL 2 #define PROC_TIME 3 typedef struct s_fmap_cell { int fs; /* at this fs */ int fc; /* at this fc */ int wneed; /* need wneed to route */ int wirelength; /* corresponding wirelength of successful routing at wneed */ int proc_time; struct s_fmap_cell *next; } t_fmap_cell; void place_and_route(enum e_operation operation, struct s_placer_opts placer_opts, char *place_file, char *net_file, char *arch_file, char *route_file, struct s_annealing_sched annealing_sched, struct s_router_opts router_opts, struct s_det_routing_arch det_routing_arch, t_segment_inf * segment_inf, t_timing_inf timing_inf, t_chan_width_dist chan_width_dist, struct s_model *models, t_direct_inf *directs, int num_directs, float sram_area, /*Xifan TANG: Switch Segment Pattern Support*/ t_swseg_pattern_inf* swseg_patterns); void init_chan(int cfactor, t_chan_width_dist chan_width_dist);