Rev 2 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 2 | Rev 11 | ||
|---|---|---|---|
| Line 1... | Line 1... | ||
| 1 | /* |
1 | /* |
| 2 | * $Header: C:/cvsroot/Vert03/vertlib/routing.h,v 1.2 2004/06/22 21:44:15 mjames Exp $ |
2 | * $Header: C:/cvsroot/Vert03/vertlib/routing.h,v 1.2 2004/06/22 21:44:15 mjames Exp $ |
| 3 | * |
3 | * |
| 4 | * $Log: routing.h,v $ |
4 | * $Log: routing.h,v $ |
| 5 | * Revision 1.2 2004/06/22 21:44:15 mjames |
5 | * Revision 1.2 2004/06/22 21:44:15 mjames |
| 6 | * Firrst build most files |
6 | * Firrst build most files |
| Line 28... | Line 28... | ||
| 28 | * Mike put it here |
28 | * Mike put it here |
| 29 | * |
29 | * |
| 30 | * |
30 | * |
| 31 | * Revision 1.41 2000/10/04 10:37:11 10:37:11 mjames (Mike James) |
31 | * Revision 1.41 2000/10/04 10:37:11 10:37:11 mjames (Mike James) |
| 32 | * Modified for Vertical2 : support COMPONENTS and SIGNALS |
32 | * Modified for Vertical2 : support COMPONENTS and SIGNALS |
| 33 | * |
33 | * |
| 34 | * Revision 1.41 2000/10/04 10:37:11 10:37:11 mjames (Mike James) |
34 | * Revision 1.41 2000/10/04 10:37:11 10:37:11 mjames (Mike James) |
| 35 | * Part of Release PSAVAT01 |
35 | * Part of Release PSAVAT01 |
| 36 | * |
36 | * |
| 37 | * Revision 1.40 2000/10/02 11:04:20 11:04:20 mjames (Mike James) |
37 | * Revision 1.40 2000/10/02 11:04:20 11:04:20 mjames (Mike James) |
| 38 | * new_vhdl |
38 | * new_vhdl |
| 39 | * |
39 | * |
| 40 | 40 | ||
| 41 | * Revision 1.39 2000/09/27 14:42:24 14:42:24 mjames (Mike James) |
41 | * Revision 1.39 2000/09/27 14:42:24 14:42:24 mjames (Mike James) |
| 42 | 42 | ||
| 43 | * Part of Release Sep_27_ST_2000 |
43 | * Part of Release Sep_27_ST_2000 |
| 44 | 44 | ||
| 45 | * |
45 | * |
| 46 | 46 | ||
| 47 | * Revision 1.38 2000/09/21 10:15:54 10:15:54 mjames (Mike James) |
47 | * Revision 1.38 2000/09/21 10:15:54 10:15:54 mjames (Mike James) |
| 48 | 48 | ||
| 49 | * Part of Release Sep21Alpha |
49 | * Part of Release Sep21Alpha |
| 50 | 50 | ||
| 51 | * |
51 | * |
| 52 | 52 | ||
| 53 | * Revision 1.37 2000/08/25 09:57:19 09:57:19 mjames (Mike James) |
53 | * Revision 1.37 2000/08/25 09:57:19 09:57:19 mjames (Mike James) |
| 54 | 54 | ||
| 55 | * Part of Release Aug25_alpha |
55 | * Part of Release Aug25_alpha |
| 56 | 56 | ||
| 57 | * |
57 | * |
| 58 | 58 | ||
| 59 | * Revision 1.36 2000/08/16 08:57:36 08:57:36 mjames (Mike James) |
59 | * Revision 1.36 2000/08/16 08:57:36 08:57:36 mjames (Mike James) |
| 60 | 60 | ||
| 61 | * Part of Release CD01_Aug2000 |
61 | * Part of Release CD01_Aug2000 |
| 62 | 62 | ||
| 63 | * |
63 | * |
| 64 | 64 | ||
| 65 | * Revision 1.35 2000/08/14 14:45:16 14:45:16 mjames (Mike James) |
65 | * Revision 1.35 2000/08/14 14:45:16 14:45:16 mjames (Mike James) |
| 66 | 66 | ||
| 67 | * Part of Release Aug_14_2000 |
67 | * Part of Release Aug_14_2000 |
| 68 | 68 | ||
| 69 | * |
69 | * |
| 70 | 70 | ||
| 71 | * Revision 1.34 2000/08/11 08:30:36 08:30:36 mjames (Mike James) |
71 | * Revision 1.34 2000/08/11 08:30:36 08:30:36 mjames (Mike James) |
| 72 | 72 | ||
| 73 | * Part of Release Aug_11_2000 |
73 | * Part of Release Aug_11_2000 |
| 74 | 74 | ||
| 75 | * |
75 | * |
| 76 | 76 | ||
| 77 | * Revision 1.33 2000/08/09 10:31:53 10:31:53 mjames (Mike James) |
77 | * Revision 1.33 2000/08/09 10:31:53 10:31:53 mjames (Mike James) |
| 78 | 78 | ||
| 79 | * Part of Release Aug__9_2000 |
79 | * Part of Release Aug__9_2000 |
| 80 | 80 | ||
| 81 | * |
81 | * |
| 82 | 82 | ||
| 83 | * Revision 1.32 2000/05/31 11:43:05 11:43:05 mjames (Mike James) |
83 | * Revision 1.32 2000/05/31 11:43:05 11:43:05 mjames (Mike James) |
| 84 | 84 | ||
| 85 | * Part of Release May_31_2000 |
85 | * Part of Release May_31_2000 |
| 86 | 86 | ||
| 87 | * |
87 | * |
| 88 | 88 | ||
| 89 | * Revision 1.31 2000/05/08 17:01:43 17:01:43 mjames (Mike James) |
89 | * Revision 1.31 2000/05/08 17:01:43 17:01:43 mjames (Mike James) |
| 90 | 90 | ||
| 91 | * Part of Release May__8_2000 |
91 | * Part of Release May__8_2000 |
| 92 | 92 | ||
| 93 | * |
93 | * |
| 94 | 94 | ||
| 95 | * Revision 1.30 2000/05/08 16:59:36 16:59:36 mjames (Mike James) |
95 | * Revision 1.30 2000/05/08 16:59:36 16:59:36 mjames (Mike James) |
| 96 | 96 | ||
| 97 | * Part of Release May__8_2000 |
97 | * Part of Release May__8_2000 |
| 98 | 98 | ||
| 99 | * |
99 | * |
| 100 | 100 | ||
| 101 | * Revision 1.29 2000/05/08 16:57:12 16:57:12 mjames (Mike James) |
101 | * Revision 1.29 2000/05/08 16:57:12 16:57:12 mjames (Mike James) |
| 102 | 102 | ||
| 103 | * Part of Release May__8_2000 |
103 | * Part of Release May__8_2000 |
| 104 | 104 | ||
| 105 | * |
105 | * |
| 106 | 106 | ||
| 107 | * Revision 1.28 2000/03/08 16:19:30 16:19:30 mjames (Mike James) |
107 | * Revision 1.28 2000/03/08 16:19:30 16:19:30 mjames (Mike James) |
| 108 | 108 | ||
| 109 | * New version including PC |
109 | * New version including PC |
| 110 | 110 | ||
| 111 | * |
111 | * |
| 112 | 112 | ||
| 113 | * Revision 1.25 2000/01/20 15:58:53 15:58:53 mjames (Mike James) |
113 | * Revision 1.25 2000/01/20 15:58:53 15:58:53 mjames (Mike James) |
| 114 | 114 | ||
| 115 | * Part of Release R22 |
115 | * Part of Release R22 |
| 116 | 116 | ||
| 117 | * |
117 | * |
| 118 | 118 | ||
| 119 | * Revision 1.24 99/12/22 11:15:34 11:15:34 mjames (Mike James) |
119 | * Revision 1.24 99/12/22 11:15:34 11:15:34 mjames (Mike James) |
| 120 | 120 | ||
| 121 | * Part of Release Dec_22_1999 |
121 | * Part of Release Dec_22_1999 |
| 122 | 122 | ||
| 123 | * |
123 | * |
| 124 | 124 | ||
| 125 | * Revision 1.23 99/05/04 09:52:50 09:52:50 mjames (Mike James) |
125 | * Revision 1.23 99/05/04 09:52:50 09:52:50 mjames (Mike James) |
| 126 | 126 | ||
| 127 | * General checkin |
127 | * General checkin |
| 128 | 128 | ||
| 129 | * |
129 | * |
| 130 | 130 | ||
| 131 | * Revision 1.21 98/06/15 14:20:44 14:20:44 mjames (Mike James) |
131 | * Revision 1.21 98/06/15 14:20:44 14:20:44 mjames (Mike James) |
| 132 | 132 | ||
| 133 | * Removed and added Route Create from general routing algorithm. |
133 | * Removed and added Route Create from general routing algorithm. |
| 134 | 134 | ||
| 135 | * Added routing routing groups |
135 | * Added routing routing groups |
| 136 | 136 | ||
| 137 | * |
137 | * |
| 138 | 138 | ||
| 139 | * Revision 1.20 98/02/11 11:27:17 11:27:17 mjames (Mike James) |
139 | * Revision 1.20 98/02/11 11:27:17 11:27:17 mjames (Mike James) |
| 140 | 140 | ||
| 141 | * Checked in for version 6.2a |
141 | * Checked in for version 6.2a |
| 142 | 142 | ||
| 143 | * |
143 | * |
| 144 | 144 | ||
| 145 | * Revision 1.19 97/04/23 08:44:45 08:44:45 mjames (Mike James) |
145 | * Revision 1.19 97/04/23 08:44:45 08:44:45 mjames (Mike James) |
| 146 | 146 | ||
| 147 | * CHecked in for release rel23041997 |
147 | * CHecked in for release rel23041997 |
| 148 | 148 | ||
| 149 | * |
149 | * |
| 150 | 150 | ||
| 151 | * Revision 1.18 97/01/03 13:41:12 13:41:12 mjames (Mike James) |
151 | * Revision 1.18 97/01/03 13:41:12 13:41:12 mjames (Mike James) |
| 152 | 152 | ||
| 153 | * Added the force_route() function to set/clear the |
153 | * Added the force_route() function to set/clear the |
| 154 | 154 | ||
| 155 | * how_routed field of the net to enable/disable |
155 | * how_routed field of the net to enable/disable |
| 156 | 156 | ||
| 157 | * usability of a routed net. |
157 | * usability of a routed net. |
| 158 | 158 | ||
| 159 | * |
159 | * |
| 160 | 160 | ||
| 161 | * Revision 1.17 96/12/13 08:44:14 08:44:14 mjames (Mike James) |
161 | * Revision 1.17 96/12/13 08:44:14 08:44:14 mjames (Mike James) |
| 162 | 162 | ||
| 163 | * Update to v5.1, added Write ID , exact routing |
163 | * Update to v5.1, added Write ID , exact routing |
| 164 | 164 | ||
| 165 | * |
165 | * |
| 166 | 166 | ||
| 167 | * Revision 1.16 96/08/06 13:40:48 13:40:48 mjames (Mike James) |
167 | * Revision 1.16 96/08/06 13:40:48 13:40:48 mjames (Mike James) |
| 168 | 168 | ||
| 169 | * Added FIX_LOCATION attribute |
169 | * Added FIX_LOCATION attribute |
| 170 | 170 | ||
| Line 251... | Line 251... | ||
| 251 | * Revision 1.1 96/01/10 13:15:09 13:15:09 mjames (Mike James) |
251 | * Revision 1.1 96/01/10 13:15:09 13:15:09 mjames (Mike James) |
| 252 | * Initial revision |
252 | * Initial revision |
| 253 | 253 | ||
| 254 | * */ |
254 | * */ |
| 255 | 255 | ||
| - | 256 | ||
| - | 257 | ||
| 256 | /* the number of nodes that will be accepted on a net while trying to find |
258 | /* the number of nodes that will be accepted on a net while trying to find |
| 257 | if a connection exists between two EPLDs */ |
259 | if a connection exists between two EPLDs */ |
| 258 | #define MAX_NODES_FOR_PATH_SEARCH 100 |
260 | #define MAX_NODES_FOR_PATH_SEARCH 100 |
| 259 | 261 | ||
| - | 262 | ||
| - | 263 | ||
| 260 | /* used in search for pre-existing path */ |
264 | /* used in search for pre-existing path */ |
| 261 | extern int MaxNodesForSearch; |
265 | extern int MaxNodesForSearch; |
| 262 | 266 | ||
| - | 267 | ||
| - | 268 | ||
| 263 | /* if this is =1 then all nets connected must be in the same groups on EPLDs */ |
269 | /* if this is =1 then all nets connected must be in the same groups on EPLDs */ |
| 264 | extern int global_group_flag; |
270 | extern int global_group_flag; |
| - | 271 | ||
| - | 272 | ||
| - | 273 | ||
| - | 274 | ||
| 265 | 275 | ||
| 266 | /* these define the head and tail of a dummy net identifier rsvXXXXXz */ |
276 | /* these define the head and tail of a dummy net identifier rsvXXXXXz */ |
| 267 | 277 | ||
| 268 | /* which is ignored on net input */ |
278 | /* which is ignored on net input */ |
| 269 | #define RES_FMT "rsv%05dz" |
279 | #define RES_FMT "rsv%05dz" |
| 270 | 280 | ||
| 271 | /* 3 + 5 + 1 character */ |
281 | /* 3 + 5 + 1 character */ |
| 272 | #define RES_NAMLEN 9 |
282 | #define RES_NAMLEN 9 |
| 273 | 283 | ||
| - | 284 | ||
| - | 285 | ||
| 274 | /* format of created jumpered nets */ |
286 | /* format of created jumpered nets */ |
| 275 | #define JUMP_FMT "jmp%s%05d" |
287 | #define JUMP_FMT "jmp%s%05d" |
| 276 | 288 | ||
| - | 289 | ||
| - | 290 | ||
| 277 | #define JUMP_NAMLEN (MAXIDLEN) |
291 | #define JUMP_NAMLEN (MAXIDLEN) |
| 278 | 292 | ||
| 279 | extern noderef_t * |
- | |
| 280 | search_net_for_socket (noderef_t *wanted_ref, noderef_t *net_nodes, int use_group_mask); |
- | |
| 281 | 293 | ||
| - | 294 | ||
| - | 295 | ||
| - | 296 | ||
| - | 297 | extern noderef_t * search_net_for_socket (noderef_t * wanted_ref, |
|
| - | 298 | noderef_t * net_nodes, |
|
| - | 299 | int use_group_mask); |
|
| - | 300 | ||
| - | 301 | ||
| - | 302 | ||
| 282 | extern void clear_routing_flags (noderef_t *net_nodes); |
303 | extern void clear_routing_flags(noderef_t * net_nodes); |
| - | 304 | ||
| - | 305 | ||
| 283 | 306 | ||
| 284 | extern void count_nets (char *message); |
307 | extern void count_nets (char *message); |
| 285 | 308 | ||
| - | 309 | ||
| - | 310 | ||
| 286 | /* normal routing */ |
311 | /* normal routing */ |
| 287 | extern void perform_routing (HowRouted_t how); |
312 | extern void perform_routing(HowRouted_t how); |
| - | 313 | ||
| - | 314 | ||
| - | 315 | ||
| - | 316 | extern void perform_trial_naming(void); |
|
| - | 317 | ||
| 288 | 318 | ||
| 289 | extern void perform_trial_naming (void); |
- | |
| 290 | 319 | ||
| 291 | /* routing utilities used in jumpering */ |
320 | /* routing utilities used in jumpering */ |
| 292 | extern net_t *remove_net (net_t **list, net_t *net); |
321 | extern net_t * remove_net (net_t ** list, net_t * net); |
| - | 322 | ||
| - | 323 | ||
| - | 324 | ||
| - | 325 | extern void combine_routed_and_unrouted (net_t * routed_net, |
|
| - | 326 | net_t * unrouted_net); |
|
| 293 | 327 | ||
| 294 | extern void combine_routed_and_unrouted (net_t *routed_net, net_t *unrouted_net); |
- | |
| 295 | 328 | ||
| - | 329 | ||
| 296 | extern void transfer_net_to_named (net_t **from_list, net_t *net); |
330 | extern void transfer_net_to_named (net_t ** from_list, |
| - | 331 | net_t * net); |
|
| - | 332 | ||
| - | 333 | ||
| 297 | 334 | ||
| 298 | /* alter whether or not a net is routable */ |
335 | /* alter whether or not a net is routable */ |
| 299 | extern void force_route (char *netname, HowRouted_t flag); |
336 | extern void force_route(char * netname,HowRouted_t flag); |
| - | 337 | ||
| - | 338 | ||
| 300 | 339 | ||
| 301 | /* set the group routing flags on a given socket */ |
340 | /* set the group routing flags on a given socket */ |
| 302 | extern void set_group_route_flags (char *template, int flag); |
341 | extern void set_group_route_flags(char * template,int flag); |
| - | 342 | ||
| 303 | 343 | ||
| 304 | /* set the group routing flags on pins on a given socket */ |
344 | /* set the group routing flags on pins on a given socket */ |
| 305 | extern void set_pin_group_flags (char *template, int flag); |
345 | extern void set_pin_group_flags(char * template,int flag); |
| - | 346 | ||
| - | 347 | ||
| 306 | 348 | ||
| 307 | extern void ensure_reservation (void); |
349 | extern void ensure_reservation(void); |