VPR-7.0
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
rr_graph.h
Go to the documentation of this file.
1 #ifndef RR_GRAPH_H
2 #define RR_GRAPH_H
3 
5  GRAPH_GLOBAL, /* One node per channel with wire capacity > 1 and full connectivity */
6  GRAPH_BIDIR, /* Detailed bidirectional graph */
7  GRAPH_UNIDIR, /* Detailed unidir graph, untilable */
8  /* RESEARCH TODO: Get this option debugged */
9  GRAPH_UNIDIR_TILEABLE /* Detail unidir graph with wire groups multiples of 2*L */
10 };
12 
13 /* Warnings about the routing graph that can be returned.
14  * This is to avoid output messages during a value sweep */
15 enum {
19 };
20 
21 void build_rr_graph(INP t_graph_type graph_type,
22  INP int L_num_types,
23  INP t_type_ptr types,
24  INP int L_nx,
25  INP int L_ny,
26  INP struct s_grid_tile **L_grid,
27  INP int chan_width,
28  INP struct s_chan_width_dist *chan_capacity_inf,
29  INP enum e_switch_block_type sb_type,
30  INP int Fs,
31  INP int num_seg_types,
32  INP int num_switches,
33  INP t_segment_inf * segment_inf,
34  INP int global_route_switch,
35  INP int delayless_switch,
36  INP t_timing_inf timing_inf,
37  INP int wire_to_ipin_switch,
38  INP enum e_base_cost_type base_cost_type,
39  INP t_direct_inf *directs,
40  INP int num_directs,
41  INP boolean ignore_Fc_0,
42  OUTP int *Warnings);
43 
44 void free_rr_graph(void);
45 
46 void dump_rr_graph(INP const char *file_name);
47 void print_rr_indexed_data(FILE * fp, int index); /* For debugging only */
48 void load_net_rr_terminals(t_ivec *** L_rr_node_indices);
49 
50 void print_rr_node(FILE *fp, t_rr_node *L_rr_node, int inode);
51 
52 #endif
53 
void print_rr_node(FILE *fp, t_rr_node *L_rr_node, int inode)
Definition: rr_graph.c:1814
void print_rr_indexed_data(FILE *fp, int index)
Definition: rr_graph.c:1868
enum e_graph_type t_graph_type
Definition: rr_graph.h:11
void load_net_rr_terminals(t_ivec ***L_rr_node_indices)
Definition: rr_graph.c:855
e_switch_block_type
void build_rr_graph(INP t_graph_type graph_type, INP int L_num_types, INP t_type_ptr types, INP int L_nx, INP int L_ny, INP struct s_grid_tile **L_grid, INP int chan_width, INP struct s_chan_width_dist *chan_capacity_inf, INP enum e_switch_block_type sb_type, INP int Fs, INP int num_seg_types, INP int num_switches, INP t_segment_inf *segment_inf, INP int global_route_switch, INP int delayless_switch, INP t_timing_inf timing_inf, INP int wire_to_ipin_switch, INP enum e_base_cost_type base_cost_type, INP t_direct_inf *directs, INP int num_directs, INP boolean ignore_Fc_0, OUTP int *Warnings)
Definition: rr_graph.c:192
#define INP
Definition: util.h:19
void free_rr_graph(void)
Definition: rr_graph.c:798
void dump_rr_graph(INP const char *file_name)
Definition: rr_graph.c:1788
Definition: util.h:47
e_base_cost_type
Definition: vpr_types.h:688
#define OUTP
Definition: util.h:20
e_graph_type
Definition: rr_graph.h:4