Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
2 | mjames | 1 | /* |
2 | * $Header: C:/cvsroot/Vert03/vertlib/routing.h,v 1.2 2004/06/22 21:44:15 mjames Exp $ |
||
3 | * |
||
4 | * $Log: routing.h,v $ |
||
5 | * Revision 1.2 2004/06/22 21:44:15 mjames |
||
6 | * Firrst build most files |
||
7 | * |
||
8 | * Revision 1.6 2002/09/09 09:53:39 mjames |
||
9 | * Moved pin remapping function to pin ident editing function from |
||
10 | * sorting pin name routine. |
||
11 | * |
||
12 | * Revision 1.5 2001/12/24 21:18:12 mjames |
||
13 | * Declare ensure_reservation externally |
||
14 | * |
||
15 | * Revision 1.4 2001/10/31 22:20:17 mjames |
||
16 | * Tidying up problematical comments caused by CVS |
||
17 | * 'intelligent' comment guessing |
||
18 | * |
||
19 | * Revision 1.3 2001/07/20 10:47:43 mjames |
||
20 | * Allowed setting of pin routing group properties on pins on nets |
||
21 | * by the |
||
22 | * "set pin" command |
||
23 | * |
||
24 | * Revision 1.2 2001/06/06 12:10:17 mjames |
||
25 | * Move from HPUX |
||
26 | * |
||
27 | * Revision 1.1.1.1 2000/10/19 21:58:40 mjames |
||
28 | * Mike put it here |
||
29 | * |
||
30 | * |
||
31 | * Revision 1.41 2000/10/04 10:37:11 10:37:11 mjames (Mike James) |
||
32 | * Modified for Vertical2 : support COMPONENTS and SIGNALS |
||
33 | * |
||
34 | * Revision 1.41 2000/10/04 10:37:11 10:37:11 mjames (Mike James) |
||
35 | * Part of Release PSAVAT01 |
||
36 | * |
||
37 | * Revision 1.40 2000/10/02 11:04:20 11:04:20 mjames (Mike James) |
||
38 | * new_vhdl |
||
39 | * |
||
40 | |||
41 | * Revision 1.39 2000/09/27 14:42:24 14:42:24 mjames (Mike James) |
||
42 | |||
43 | * Part of Release Sep_27_ST_2000 |
||
44 | |||
45 | * |
||
46 | |||
47 | * Revision 1.38 2000/09/21 10:15:54 10:15:54 mjames (Mike James) |
||
48 | |||
49 | * Part of Release Sep21Alpha |
||
50 | |||
51 | * |
||
52 | |||
53 | * Revision 1.37 2000/08/25 09:57:19 09:57:19 mjames (Mike James) |
||
54 | |||
55 | * Part of Release Aug25_alpha |
||
56 | |||
57 | * |
||
58 | |||
59 | * Revision 1.36 2000/08/16 08:57:36 08:57:36 mjames (Mike James) |
||
60 | |||
61 | * Part of Release CD01_Aug2000 |
||
62 | |||
63 | * |
||
64 | |||
65 | * Revision 1.35 2000/08/14 14:45:16 14:45:16 mjames (Mike James) |
||
66 | |||
67 | * Part of Release Aug_14_2000 |
||
68 | |||
69 | * |
||
70 | |||
71 | * Revision 1.34 2000/08/11 08:30:36 08:30:36 mjames (Mike James) |
||
72 | |||
73 | * Part of Release Aug_11_2000 |
||
74 | |||
75 | * |
||
76 | |||
77 | * Revision 1.33 2000/08/09 10:31:53 10:31:53 mjames (Mike James) |
||
78 | |||
79 | * Part of Release Aug__9_2000 |
||
80 | |||
81 | * |
||
82 | |||
83 | * Revision 1.32 2000/05/31 11:43:05 11:43:05 mjames (Mike James) |
||
84 | |||
85 | * Part of Release May_31_2000 |
||
86 | |||
87 | * |
||
88 | |||
89 | * Revision 1.31 2000/05/08 17:01:43 17:01:43 mjames (Mike James) |
||
90 | |||
91 | * Part of Release May__8_2000 |
||
92 | |||
93 | * |
||
94 | |||
95 | * Revision 1.30 2000/05/08 16:59:36 16:59:36 mjames (Mike James) |
||
96 | |||
97 | * Part of Release May__8_2000 |
||
98 | |||
99 | * |
||
100 | |||
101 | * Revision 1.29 2000/05/08 16:57:12 16:57:12 mjames (Mike James) |
||
102 | |||
103 | * Part of Release May__8_2000 |
||
104 | |||
105 | * |
||
106 | |||
107 | * Revision 1.28 2000/03/08 16:19:30 16:19:30 mjames (Mike James) |
||
108 | |||
109 | * New version including PC |
||
110 | |||
111 | * |
||
112 | |||
113 | * Revision 1.25 2000/01/20 15:58:53 15:58:53 mjames (Mike James) |
||
114 | |||
115 | * Part of Release R22 |
||
116 | |||
117 | * |
||
118 | |||
119 | * Revision 1.24 99/12/22 11:15:34 11:15:34 mjames (Mike James) |
||
120 | |||
121 | * Part of Release Dec_22_1999 |
||
122 | |||
123 | * |
||
124 | |||
125 | * Revision 1.23 99/05/04 09:52:50 09:52:50 mjames (Mike James) |
||
126 | |||
127 | * General checkin |
||
128 | |||
129 | * |
||
130 | |||
131 | * Revision 1.21 98/06/15 14:20:44 14:20:44 mjames (Mike James) |
||
132 | |||
133 | * Removed and added Route Create from general routing algorithm. |
||
134 | |||
135 | * Added routing routing groups |
||
136 | |||
137 | * |
||
138 | |||
139 | * Revision 1.20 98/02/11 11:27:17 11:27:17 mjames (Mike James) |
||
140 | |||
141 | * Checked in for version 6.2a |
||
142 | |||
143 | * |
||
144 | |||
145 | * Revision 1.19 97/04/23 08:44:45 08:44:45 mjames (Mike James) |
||
146 | |||
147 | * CHecked in for release rel23041997 |
||
148 | |||
149 | * |
||
150 | |||
151 | * Revision 1.18 97/01/03 13:41:12 13:41:12 mjames (Mike James) |
||
152 | |||
153 | * Added the force_route() function to set/clear the |
||
154 | |||
155 | * how_routed field of the net to enable/disable |
||
156 | |||
157 | * usability of a routed net. |
||
158 | |||
159 | * |
||
160 | |||
161 | * Revision 1.17 96/12/13 08:44:14 08:44:14 mjames (Mike James) |
||
162 | |||
163 | * Update to v5.1, added Write ID , exact routing |
||
164 | |||
165 | * |
||
166 | |||
167 | * Revision 1.16 96/08/06 13:40:48 13:40:48 mjames (Mike James) |
||
168 | |||
169 | * Added FIX_LOCATION attribute |
||
170 | |||
171 | * |
||
172 | |||
173 | * Revision 1.15 96/07/19 14:38:57 14:38:57 mjames (Mike James) |
||
174 | |||
175 | * Update to give to PRL |
||
176 | |||
177 | * |
||
178 | |||
179 | * Revision 1.14 1996/07/12 15:52:12 mjames |
||
180 | |||
181 | * Sorted out things like Alias and Jumpers |
||
182 | |||
183 | * Work Correctly |
||
184 | |||
185 | * Print COrrectly |
||
186 | |||
187 | * |
||
188 | |||
189 | * Revision 1.13 96/06/17 13:02:29 13:02:29 mjames (Mike James) |
||
190 | |||
191 | * Added fix_pins function to try and sort out internal/external |
||
192 | |||
193 | * connections being fixed to external pins by name |
||
194 | |||
195 | * |
||
196 | |||
197 | * Revision 1.12 96/06/11 14:11:58 14:11:58 mjames (Mike James) |
||
198 | |||
199 | * Added hierarchical jumpering |
||
200 | |||
201 | * |
||
202 | |||
203 | * Revision 1.11 96/06/04 11:58:15 11:58:15 mjames (Mike James) |
||
204 | |||
205 | * Added a lot of stuff to do with internal/external sockets, |
||
206 | |||
207 | * Net renaming. Net jumpering by node ID as well as net name |
||
208 | |||
209 | * |
||
210 | |||
211 | * Revision 1.10 96/03/29 14:47:16 14:47:16 mjames (Mike James) |
||
212 | |||
213 | * Added VHDL netlist writing to the capabilities of ACFREAD |
||
214 | |||
215 | * |
||
216 | |||
217 | * Revision 1.9 96/03/26 07:22:18 07:22:18 mjames (Mike James) |
||
218 | |||
219 | * |
||
220 | |||
221 | * Revision 1.8 96/03/18 13:51:26 13:51:26 mjames (Mike James) |
||
222 | |||
223 | * Real Revision 2.1 |
||
224 | |||
225 | * |
||
226 | |||
227 | * Revision 1.5 96/02/13 09:13:34 09:13:34 mjames (Mike James) |
||
228 | |||
229 | * Updated to be version 2.0 with net joining |
||
230 | |||
231 | * |
||
232 | |||
233 | * Revision 1.4 96/02/08 15:28:36 15:28:36 mjames (Mike James) |
||
234 | |||
235 | * First release |
||
236 | |||
237 | * |
||
238 | |||
239 | * Revision 1.3 96/02/07 16:01:37 16:01:37 mjames (Mike James) |
||
240 | |||
241 | * Added correct RCS header |
||
242 | |||
243 | * |
||
244 | |||
245 | * Revision 1.2 96/02/07 15:50:51 15:50:51 mjames (Mike James) |
||
246 | |||
247 | * Added RCS ident message |
||
248 | |||
249 | * |
||
250 | |||
251 | * Revision 1.1 96/01/10 13:15:09 13:15:09 mjames (Mike James) |
||
252 | * Initial revision |
||
253 | |||
254 | * */ |
||
255 | |||
256 | /* the number of nodes that will be accepted on a net while trying to find |
||
257 | if a connection exists between two EPLDs */ |
||
258 | #define MAX_NODES_FOR_PATH_SEARCH 100 |
||
259 | |||
260 | /* used in search for pre-existing path */ |
||
261 | extern int MaxNodesForSearch; |
||
262 | |||
263 | /* if this is =1 then all nets connected must be in the same groups on EPLDs */ |
||
264 | extern int global_group_flag; |
||
265 | |||
266 | /* these define the head and tail of a dummy net identifier rsvXXXXXz */ |
||
267 | |||
268 | /* which is ignored on net input */ |
||
269 | #define RES_FMT "rsv%05dz" |
||
270 | |||
271 | /* 3 + 5 + 1 character */ |
||
272 | #define RES_NAMLEN 9 |
||
273 | |||
274 | /* format of created jumpered nets */ |
||
275 | #define JUMP_FMT "jmp%s%05d" |
||
276 | |||
277 | #define JUMP_NAMLEN (MAXIDLEN) |
||
278 | |||
279 | extern noderef_t * |
||
280 | search_net_for_socket (noderef_t *wanted_ref, noderef_t *net_nodes, int use_group_mask); |
||
281 | |||
282 | extern void clear_routing_flags (noderef_t *net_nodes); |
||
283 | |||
284 | extern void count_nets (char *message); |
||
285 | |||
286 | /* normal routing */ |
||
287 | extern void perform_routing (HowRouted_t how); |
||
288 | |||
289 | extern void perform_trial_naming (void); |
||
290 | |||
291 | /* routing utilities used in jumpering */ |
||
292 | extern net_t *remove_net (net_t **list, net_t *net); |
||
293 | |||
294 | extern void combine_routed_and_unrouted (net_t *routed_net, net_t *unrouted_net); |
||
295 | |||
296 | extern void transfer_net_to_named (net_t **from_list, net_t *net); |
||
297 | |||
298 | /* alter whether or not a net is routable */ |
||
299 | extern void force_route (char *netname, HowRouted_t flag); |
||
300 | |||
301 | /* set the group routing flags on a given socket */ |
||
302 | extern void set_group_route_flags (char *template, int flag); |
||
303 | |||
304 | /* set the group routing flags on pins on a given socket */ |
||
305 | extern void set_pin_group_flags (char *template, int flag); |
||
306 | |||
307 | extern void ensure_reservation (void); |