Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed
| Rev | Author | Line No. | Line |
|---|---|---|---|
| 11 | mjames | 1 | /* |
| 2 | mjames | 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 |
||
| 11 | mjames | 33 | * |
| 2 | mjames | 34 | * Revision 1.41 2000/10/04 10:37:11 10:37:11 mjames (Mike James) |
| 35 | * Part of Release PSAVAT01 |
||
| 11 | mjames | 36 | * |
| 2 | mjames | 37 | * Revision 1.40 2000/10/02 11:04:20 11:04:20 mjames (Mike James) |
| 38 | * new_vhdl |
||
| 11 | mjames | 39 | * |
| 2 | mjames | 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 | |||
| 11 | mjames | 45 | * |
| 2 | mjames | 46 | |
| 47 | * Revision 1.38 2000/09/21 10:15:54 10:15:54 mjames (Mike James) |
||
| 48 | |||
| 49 | * Part of Release Sep21Alpha |
||
| 50 | |||
| 11 | mjames | 51 | * |
| 2 | mjames | 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 | |||
| 11 | mjames | 57 | * |
| 2 | mjames | 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 | |||
| 11 | mjames | 63 | * |
| 2 | mjames | 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 | |||
| 11 | mjames | 69 | * |
| 2 | mjames | 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 | |||
| 11 | mjames | 75 | * |
| 2 | mjames | 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 | |||
| 11 | mjames | 81 | * |
| 2 | mjames | 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 | |||
| 11 | mjames | 87 | * |
| 2 | mjames | 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 | |||
| 11 | mjames | 93 | * |
| 2 | mjames | 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 | |||
| 11 | mjames | 99 | * |
| 2 | mjames | 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 | |||
| 11 | mjames | 105 | * |
| 2 | mjames | 106 | |
| 107 | * Revision 1.28 2000/03/08 16:19:30 16:19:30 mjames (Mike James) |
||
| 108 | |||
| 109 | * New version including PC |
||
| 110 | |||
| 11 | mjames | 111 | * |
| 2 | mjames | 112 | |
| 113 | * Revision 1.25 2000/01/20 15:58:53 15:58:53 mjames (Mike James) |
||
| 114 | |||
| 115 | * Part of Release R22 |
||
| 116 | |||
| 11 | mjames | 117 | * |
| 2 | mjames | 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 | |||
| 11 | mjames | 123 | * |
| 2 | mjames | 124 | |
| 125 | * Revision 1.23 99/05/04 09:52:50 09:52:50 mjames (Mike James) |
||
| 126 | |||
| 127 | * General checkin |
||
| 128 | |||
| 11 | mjames | 129 | * |
| 2 | mjames | 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 | |||
| 11 | mjames | 137 | * |
| 2 | mjames | 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 | |||
| 11 | mjames | 143 | * |
| 2 | mjames | 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 | |||
| 11 | mjames | 149 | * |
| 2 | mjames | 150 | |
| 151 | * Revision 1.18 97/01/03 13:41:12 13:41:12 mjames (Mike James) |
||
| 152 | |||
| 11 | mjames | 153 | * Added the force_route() function to set/clear the |
| 2 | mjames | 154 | |
| 155 | * how_routed field of the net to enable/disable |
||
| 156 | |||
| 157 | * usability of a routed net. |
||
| 158 | |||
| 11 | mjames | 159 | * |
| 2 | mjames | 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 | |||
| 11 | mjames | 165 | * |
| 2 | mjames | 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 | |||
| 11 | mjames | 256 | |
| 257 | |||
| 2 | mjames | 258 | /* the number of nodes that will be accepted on a net while trying to find |
| 259 | if a connection exists between two EPLDs */ |
||
| 260 | #define MAX_NODES_FOR_PATH_SEARCH 100 |
||
| 261 | |||
| 11 | mjames | 262 | |
| 263 | |||
| 2 | mjames | 264 | /* used in search for pre-existing path */ |
| 265 | extern int MaxNodesForSearch; |
||
| 266 | |||
| 11 | mjames | 267 | |
| 268 | |||
| 2 | mjames | 269 | /* if this is =1 then all nets connected must be in the same groups on EPLDs */ |
| 11 | mjames | 270 | extern int global_group_flag; |
| 2 | mjames | 271 | |
| 11 | mjames | 272 | |
| 273 | |||
| 274 | |||
| 275 | |||
| 2 | mjames | 276 | /* these define the head and tail of a dummy net identifier rsvXXXXXz */ |
| 277 | |||
| 278 | /* which is ignored on net input */ |
||
| 11 | mjames | 279 | #define RES_FMT "rsv%05dz" |
| 2 | mjames | 280 | |
| 281 | /* 3 + 5 + 1 character */ |
||
| 282 | #define RES_NAMLEN 9 |
||
| 283 | |||
| 11 | mjames | 284 | |
| 285 | |||
| 2 | mjames | 286 | /* format of created jumpered nets */ |
| 287 | #define JUMP_FMT "jmp%s%05d" |
||
| 288 | |||
| 11 | mjames | 289 | |
| 290 | |||
| 2 | mjames | 291 | #define JUMP_NAMLEN (MAXIDLEN) |
| 292 | |||
| 293 | |||
| 294 | |||
| 11 | mjames | 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 | |||
| 303 | extern void clear_routing_flags(noderef_t * net_nodes); |
||
| 304 | |||
| 305 | |||
| 306 | |||
| 2 | mjames | 307 | extern void count_nets (char *message); |
| 308 | |||
| 11 | mjames | 309 | |
| 310 | |||
| 2 | mjames | 311 | /* normal routing */ |
| 11 | mjames | 312 | extern void perform_routing(HowRouted_t how); |
| 2 | mjames | 313 | |
| 314 | |||
| 11 | mjames | 315 | |
| 316 | extern void perform_trial_naming(void); |
||
| 317 | |||
| 318 | |||
| 319 | |||
| 2 | mjames | 320 | /* routing utilities used in jumpering */ |
| 11 | mjames | 321 | extern net_t * remove_net (net_t ** list, net_t * net); |
| 2 | mjames | 322 | |
| 323 | |||
| 324 | |||
| 11 | mjames | 325 | extern void combine_routed_and_unrouted (net_t * routed_net, |
| 326 | net_t * unrouted_net); |
||
| 327 | |||
| 328 | |||
| 329 | |||
| 330 | extern void transfer_net_to_named (net_t ** from_list, |
||
| 331 | net_t * net); |
||
| 332 | |||
| 333 | |||
| 334 | |||
| 2 | mjames | 335 | /* alter whether or not a net is routable */ |
| 11 | mjames | 336 | extern void force_route(char * netname,HowRouted_t flag); |
| 2 | mjames | 337 | |
| 11 | mjames | 338 | |
| 339 | |||
| 2 | mjames | 340 | /* set the group routing flags on a given socket */ |
| 11 | mjames | 341 | extern void set_group_route_flags(char * template,int flag); |
| 2 | mjames | 342 | |
| 11 | mjames | 343 | |
| 2 | mjames | 344 | /* set the group routing flags on pins on a given socket */ |
| 11 | mjames | 345 | extern void set_pin_group_flags(char * template,int flag); |
| 2 | mjames | 346 | |
| 11 | mjames | 347 | |
| 348 | |||
| 349 | extern void ensure_reservation(void); |