Rev 2 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 2 | Rev 11 | ||
|---|---|---|---|
| Line 54... | Line 54... | ||
| 54 | * Mike put it here |
54 | * Mike put it here |
| 55 | * |
55 | * |
| 56 | * |
56 | * |
| 57 | * Revision 1.21 2000/10/04 10:37:14 10:37:14 mjames (Mike James) |
57 | * Revision 1.21 2000/10/04 10:37:14 10:37:14 mjames (Mike James) |
| 58 | * Modified for Vertical2 : support COMPONENTS and SIGNALS |
58 | * Modified for Vertical2 : support COMPONENTS and SIGNALS |
| 59 | * |
59 | * |
| 60 | * Revision 1.21 2000/10/04 10:37:14 10:37:14 mjames (Mike James) |
60 | * Revision 1.21 2000/10/04 10:37:14 10:37:14 mjames (Mike James) |
| 61 | * Part of Release PSAVAT01 |
61 | * Part of Release PSAVAT01 |
| 62 | * |
62 | * |
| 63 | * Revision 1.20 2000/10/02 11:04:21 11:04:21 mjames (Mike James) |
63 | * Revision 1.20 2000/10/02 11:04:21 11:04:21 mjames (Mike James) |
| 64 | * new_vhdl |
64 | * new_vhdl |
| 65 | * |
65 | * |
| 66 | * Revision 1.19 2000/09/27 14:42:29 14:42:29 mjames (Mike James) |
66 | * Revision 1.19 2000/09/27 14:42:29 14:42:29 mjames (Mike James) |
| 67 | * Part of Release Sep_27_ST_2000 |
67 | * Part of Release Sep_27_ST_2000 |
| 68 | * |
68 | * |
| 69 | * Revision 1.18 2000/09/21 10:15:58 10:15:58 mjames (Mike James) |
69 | * Revision 1.18 2000/09/21 10:15:58 10:15:58 mjames (Mike James) |
| 70 | * Part of Release Sep21Alpha |
70 | * Part of Release Sep21Alpha |
| 71 | * |
71 | * |
| 72 | * Revision 1.17 2000/08/25 09:57:23 09:57:23 mjames (Mike James) |
72 | * Revision 1.17 2000/08/25 09:57:23 09:57:23 mjames (Mike James) |
| 73 | * Part of Release Aug25_alpha |
73 | * Part of Release Aug25_alpha |
| 74 | * |
74 | * |
| 75 | * Revision 1.16 2000/08/16 08:57:39 08:57:39 mjames (Mike James) |
75 | * Revision 1.16 2000/08/16 08:57:39 08:57:39 mjames (Mike James) |
| 76 | * Part of Release CD01_Aug2000 |
76 | * Part of Release CD01_Aug2000 |
| 77 | * |
77 | * |
| 78 | * Revision 1.15 2000/08/14 14:45:18 14:45:18 mjames (Mike James) |
78 | * Revision 1.15 2000/08/14 14:45:18 14:45:18 mjames (Mike James) |
| 79 | * Part of Release Aug_14_2000 |
79 | * Part of Release Aug_14_2000 |
| 80 | * |
80 | * |
| 81 | * Revision 1.14 2000/08/11 08:30:39 08:30:39 mjames (Mike James) |
81 | * Revision 1.14 2000/08/11 08:30:39 08:30:39 mjames (Mike James) |
| 82 | * Part of Release Aug_11_2000 |
82 | * Part of Release Aug_11_2000 |
| 83 | * |
83 | * |
| 84 | * Revision 1.13 2000/08/09 10:31:56 10:31:56 mjames (Mike James) |
84 | * Revision 1.13 2000/08/09 10:31:56 10:31:56 mjames (Mike James) |
| 85 | * Part of Release Aug__9_2000 |
85 | * Part of Release Aug__9_2000 |
| 86 | * |
86 | * |
| 87 | * Revision 1.12 2000/05/31 11:43:09 11:43:09 mjames (Mike James) |
87 | * Revision 1.12 2000/05/31 11:43:09 11:43:09 mjames (Mike James) |
| 88 | * Part of Release May_31_2000 |
88 | * Part of Release May_31_2000 |
| 89 | * |
89 | * |
| 90 | * Revision 1.11 2000/05/08 17:01:45 17:01:45 mjames (Mike James) |
90 | * Revision 1.11 2000/05/08 17:01:45 17:01:45 mjames (Mike James) |
| 91 | * Part of Release May__8_2000 |
91 | * Part of Release May__8_2000 |
| 92 | * |
92 | * |
| 93 | * Revision 1.10 2000/05/08 16:59:39 16:59:39 mjames (Mike James) |
93 | * Revision 1.10 2000/05/08 16:59:39 16:59:39 mjames (Mike James) |
| 94 | * Part of Release May__8_2000 |
94 | * Part of Release May__8_2000 |
| 95 | * |
95 | * |
| 96 | * Revision 1.9 2000/05/08 16:57:15 16:57:15 mjames (Mike James) |
96 | * Revision 1.9 2000/05/08 16:57:15 16:57:15 mjames (Mike James) |
| 97 | * Part of Release May__8_2000 |
97 | * Part of Release May__8_2000 |
| 98 | * |
98 | * |
| 99 | * Revision 1.8 2000/03/08 16:19:32 16:19:32 mjames (Mike James) |
99 | * Revision 1.8 2000/03/08 16:19:32 16:19:32 mjames (Mike James) |
| 100 | * New version including PC |
100 | * New version including PC |
| 101 | * |
101 | * |
| 102 | * Revision 1.5 2000/01/20 15:58:57 15:58:57 mjames (Mike James) |
102 | * Revision 1.5 2000/01/20 15:58:57 15:58:57 mjames (Mike James) |
| 103 | * Part of Release R22 |
103 | * Part of Release R22 |
| 104 | * |
104 | * |
| 105 | * Revision 1.4 99/12/22 11:15:37 11:15:37 mjames (Mike James) |
105 | * Revision 1.4 99/12/22 11:15:37 11:15:37 mjames (Mike James) |
| 106 | * Part of Release Dec_22_1999 |
106 | * Part of Release Dec_22_1999 |
| 107 | * |
107 | * |
| 108 | * Revision 1.3 98/02/11 11:27:21 11:27:21 mjames (Mike James) |
108 | * Revision 1.3 98/02/11 11:27:21 11:27:21 mjames (Mike James) |
| 109 | * Checked in for version 6.2a |
109 | * Checked in for version 6.2a |
| 110 | * |
110 | * |
| 111 | * Revision 1.2 97/04/23 08:44:46 08:44:46 mjames (Mike James) |
111 | * Revision 1.2 97/04/23 08:44:46 08:44:46 mjames (Mike James) |
| 112 | * CHecked in for release rel23041997 |
112 | * CHecked in for release rel23041997 |
| 113 | * |
113 | * |
| 114 | * Revision 1.1 96/12/23 10:24:34 10:24:34 mjames (Mike James) |
114 | * Revision 1.1 96/12/23 10:24:34 10:24:34 mjames (Mike James) |
| 115 | * Initial revision |
115 | * Initial revision |
| 116 | * */ |
116 | * */ |
| 117 | - | ||
| 118 | #pragma once |
- | |
| 119 | - | ||
| 120 | #include <regex.h> |
- | |
| 121 | /* pin identifying letters that are permitted in IC pin identifiers */ |
117 | /* pin identifying letters that are permitted in IC pin identifiers */ |
| 122 | #define PIN_MAP_LEGAL_CHARS "ABCDEFGHJKLMNPQRSTUVWXYZ" |
118 | #define PIN_MAP_LEGAL_CHARS "ABCDEFGHJKLMNPQRSTUVWXYZ" |
| 123 | /* the number of characters in the legal character set */ |
119 | /* the number of characters in the legal character set */ |
| 124 | #define PIN_MAP_LEGAL_CHAR_COUNT 24 |
120 | #define PIN_MAP_LEGAL_CHAR_COUNT 24 |
| 125 | 121 | ||
| 126 | /* pin identifying letters that are not permitted in IC pin identifiers */ |
122 | /* pin identifying letters that are not permitted in IC pin identifiers */ |
| 127 | #define PIN_MAP_ILLEGAL_CHARS "IO"; |
123 | #define PIN_MAP_ILLEGAL_CHARS "IO"; |
| 128 | /* the number of characters in the illegal character set */ |
124 | /* the number of characters in the illegal character set */ |
| 129 | #define PIN_MAP_ILLEGAL_CHAR_COUNT 2 |
125 | #define PIN_MAP_ILLEGAL_CHAR_COUNT 2 |
| 130 | 126 | ||
| 131 | /* maximum alphabetic characters before we decide pin identifier should not be |
127 | /* maximum alphabetic characters before we decide pin identifier should not be |
| 132 | assigned a column number in sort_nodes */ |
128 | assigned a column number in sort_nodes */ |
| 133 | #define MAX_ID_ALPHA_SORT 5 |
129 | #define MAX_ID_ALPHA_SORT 5 |
| 134 | 130 | ||
| 135 | /* this function also determines the 'row' and 'columns' of each chip sorted, |
131 | /* this function also determines the 'row' and 'columns' of each chip sorted, |
| 136 | as well as the minimum and maximum row and column numbers */ |
132 | as well as the minimum and maximum row and column numbers */ |
| 137 | 133 | ||
| 138 | /* this now made conditional on mode being EXTRACT_XY */ |
134 | /* this now made conditional on mode being EXTRACT_XY */ |
| 139 | typedef enum |
135 | typedef enum { NO_EXTRACT_XY,EXTRACT_XY} extract_xy_t; |
| 140 | { |
136 | |
| 141 | NO_EXTRACT_XY, |
- | |
| 142 | EXTRACT_XY |
- | |
| 143 | } extract_xy_t; |
- | |
| 144 | 137 | ||
| 145 | extern void sort_nodes (socket_t *chip, extract_xy_t mode); |
138 | extern void sort_nodes(socket_t * chip,extract_xy_t mode) ; |
| 146 | extern socket_t *sort_sockets (socket_t **s); |
139 | extern socket_t * sort_sockets(socket_t ** s); |
| 147 | /* regular expression compiler according to Vertical rules */ |
140 | /* regular expression compiler according to Vertical rules */ |
| 148 | 141 | ||
| 149 | #define MAX_REGEXP_SUBEXPR 10 |
142 | #define MAX_REGEXP_SUBEXPR 10 |
| 150 | 143 | ||
| - | 144 | ||
| 151 | typedef struct vrt |
145 | typedef struct vrt |
| 152 | { |
146 | { |
| 153 | regex_t preg[1]; |
147 | regex_t preg[1]; |
| 154 | regmatch_t regpatt[MAX_REGEXP_SUBEXPR]; |
148 | regmatch_t regpatt[MAX_REGEXP_SUBEXPR]; |
| 155 | char *buff; |
149 | char* buff; |
| 156 | } vert_regex_t; |
150 | } vert_regex_t; |
| - | 151 | ||
| - | 152 | extern int vert_regcomp(vert_regex_t ** preg,char * expr); |
|
| 157 | 153 | ||
| 158 | extern int vert_regcomp (vert_regex_t **preg, char *expr); |
- | |
| 159 | 154 | ||
| 160 | extern int vert_regfree (vert_regex_t **preg); |
155 | extern int vert_regfree(vert_regex_t ** preg); |