Initial commit at Tue Apr 25 08:36:02 EDT 2017 by tim on stravinsky
[xcircuit.git] / asg / externs1.h
blob2147d871c32403692e5f2544d3c39feb9f42c7d1
1 /*---------------------------------------------------------------
2 * Defined in main.c
3 *---------------------------------------------------------------
4 */
6 extern mlist *modules; /* M the set of all modules */
7 extern nlist *nets; /* N the set of all nets */
8 extern tlist *ext_terms; /* ST the set of all system terminals */
9 extern mlist *ext_mods; /* the modules associated w/ ST */
11 /* NOT USED */
12 extern tlist *int_terms; /* T the set of all inter-module terminals */
14 /* FOR THE ROUTER (only) */
15 extern tile **routingRoot[2];
16 extern int currentPartition;
18 /* NOT USED MUCH */
19 extern mlist **boxes; /* the sets of unit boxes */
20 extern ctree **parti_stats; /* partition statistics */
22 /* FOR THE PLACER (only) */
23 extern mlist **strings; /* the set of strings */
24 extern mlist **partitions; /* the set of PARTITIONS (lists) of modules */
25 extern tile **rootTiles; /* the tile-spaces that correspond to each partition */
26 extern int *x_positions; /* and their postions, after placement */
27 extern int *y_positions;
28 extern int *str_length;
29 extern int *str_height;
31 /* Used by a lot of files: */
32 extern int *x_sizes; /* max x size of each partition */
33 extern int *y_sizes; /* max y size of each partition */
34 extern int xfloor, yfloor;
37 /* NOT USED ENOUGH */
38 extern int partition_count; /* the total number of partitions created */
39 extern int lcount; /* number of input lines read */
40 extern int module_count; /* number of modules/objects read in */
41 extern int node_count; /* number of nodes/signals read in */
42 extern int terminal_count; /* number of terminals read in */
44 extern int connected[MAX_MOD][MAX_MOD]; /* BIG array of connection counts */
45 extern info_type module_info[MAX_MOD]; /* reused module information array */
47 extern int compute_aspect_ratios; /* command line flag: a(spect ratios) */
48 extern int Xcanvas_scaling; /* command line flag: b (use XCanvas scaling) */
49 extern int max_partition_conn; /* command line arg: c(onnections) */
50 extern int debug_level; /* command line arg: d(ebug) */
51 extern int stopAtFirstCut; /* command line flag: f(irst cut @ Global Route) */
52 extern int congestion_rule; /* command line flag: conGestion Rule */
53 extern int do_hand_placement; /* command line flag: h(and placement) */
54 extern int includeSysterms; /* command line flag: i(donot Include system terminals)*/
55 extern int cc_search_level; /* command line arg: l(evel) */
56 extern int matrix_type; /* command line arg: m(atrix type) */
57 extern int do_routing; /* command line flag: n(o routing) */
58 extern FILE *outputFile; /* command line arg: o(utput to file) */
59 extern int partition_rule; /* command line arg: p(artition_rule) */
60 extern int recordStats; /* command line flag: q(uality statistics) */
61 extern float partition_ratio; /* command line arg: r(atio) */
62 extern int max_partition_size; /* command line arg: s(ize) */
63 extern int turn_mode; /* command line arg: t(urn mode) */
64 extern int useSlivering; /* command line flag: v(bypass sliver correction code) */
65 extern int useAveraging; /* command line flag: w(use Weighted averaging) */
66 extern int latex; /* command line flag: x(lateX mode) */
67 extern int recordTiming; /* command line flag: y(collect timing stats) */
68 extern int useBlockPartitioning ; /* -u flag; skips automatic partitioning */
69 extern char *ivffilename; /* input ivf file name */
70 extern int collapseNullModules ; /* -k flag;denies kollapse of NL_GATES */
71 /*---------------------------------------------------------------
72 * Defined in n2a.c
73 *---------------------------------------------------------------
75 //void GenerateXcircuitFormat(Clientdata areastruct, FILE *ps,Boolean bIsSparmode);
79 /*---------------------------------------------------------------
80 * Defined in parse.c
81 *---------------------------------------------------------------
84 extern void readivf();
85 extern module *curobj_module;
86 extern char *str_end_copy();
88 /*---------------------------------------------------------------
89 * Defined in place.c
90 *---------------------------------------------------------------
93 extern int partition();
94 extern void place_first_strings();
95 extern void box_placement();
96 extern void placement_prep();
97 extern mlist *partition_placement();
98 extern mlist *gross_systerm_placement();
99 extern mlist *make_room_for_systerm_placement();
100 extern int cross_coupled_p();
101 extern int on_output_net_p();
103 /*---------------------------------------------------------------
104 * Defined in terminals.c
105 *---------------------------------------------------------------
107 extern mlist *fine_systerm_placement();
109 /*---------------------------------------------------------------
110 * Defined in hand_place.c
111 *---------------------------------------------------------------
113 extern mlist *hand_placement();
115 /*---------------------------------------------------------------
116 * Defined in global_route.c
117 *---------------------------------------------------------------
119 extern void create_routing_space();
120 extern nlist *first_global_route();
121 extern nlist *incremental_global_route();
122 extern void print_global_route();
123 extern int identity();
124 extern int (*set_congestion_value)();
126 /*---------------------------------------------------------------
127 * Defined in local_route.c
128 *---------------------------------------------------------------
130 extern void local_route();
131 extern void print_local_route();
132 extern void collect_congestion_stats();
134 /*---------------------------------------------------------------
135 * Defined in psfigs.c
136 *---------------------------------------------------------------
138 extern int ps_print_seg();
139 extern int ps_print_mod();
140 extern int ps_print_contact();
141 extern int ps_print_border();
142 extern int ps_put_label();
143 extern int ps_put_int();
145 extern int ps_print_standard_header();
147 /*---------------------------------------------------------------
148 * Defined in debug.c
149 *---------------------------------------------------------------
151 extern void print_modules();
152 extern void print_nets();
153 extern void print_ext();
154 extern void print_connections();
155 extern void p_cons();
156 extern int print_ctree();
157 extern void print_info();
158 extern void print_boxes();
159 extern void print_strings();
160 extern void print_result();
161 extern void draft_statistics();
162 extern float manhattan_PWS();
163 extern void print_distance_stats();
164 extern void print_distance_matricies();
166 /*---------------------------------------------------------------
167 * Defined in utility.c
168 *---------------------------------------------------------------
170 extern void newnode();
171 extern module *newobject();
172 extern void addin();
173 extern void addout();
174 extern void adddelay();
175 extern void add_port();
177 extern llist *insert_index_list();
178 extern module *get_module();
179 extern mark_connection();
180 extern count_terms();
181 extern count_terms_part();
183 extern tnode *build_leaf();
184 extern tnode *build_node();
186 extern int pull_terms_from_nets();
187 extern int add_terms_to_nets();
189 extern void clip_null_gates();
191 extern int pin_spacing();
192 extern int get_terminal_counts();
193 extern int reposition_all_terminals();
194 extern int reset_default_icon_size();
195 extern int fix_pin_position();