1 #ifndef __P 2 # if defined(__STDC__) || defined(__GNUC__) 3 # define __P(x) x 4 # else 5 # define __P(x) () 6 # endif 7 #endif 8 /*------------------------------------------------------------\ 9 | | 10 | Tool : RDS | 11 | | 12 | File : rprparse.h | 13 | | 14 | Authors : Jacomme Ludovic | 15 | Picault Stephane *4p* | 16 | | 17 | Date : 27.06.95 | 18 | 15.07.98 *4p* | 19 | | 20 \------------------------------------------------------------*/ 21 22 # ifndef RPR_PARSE_H 23 # define RPR_PARSE_H 24 25 /*------------------------------------------------------------\ 26 | | 27 | Constants | 28 | | 29 \------------------------------------------------------------*/ 30 31 # define RPR_MAX_RDS_UNIT 100000L 32 # define RPR_EPSILON ((double)0.001) 33 # define RPR_MAX_BUFFER 512 34 # define RPR_MAX_KEYWORD 151 35 36 # define MBK_MAX_WIRESETTING 21 37 # define RPR_SEPARATORS_STRING " \t\n" 38 # define RPR_COMMENT_CHAR '#' 39 40 /*------------------------------------------------------------\ 41 | | 42 | Keyword Constants | 43 | | 44 \------------------------------------------------------------*/ 45 46 # define DEFINE_KEYWORD "DEFINE" 47 # define TABLE_KEYWORD "TABLE" 48 # define END_TABLE_KEYWORD "END" 49 # define END_RECORD_KEYWORD NULL 50 # define LAMBDA_KEYWORD "LAMBDA" 51 # define PHYSICAL_GRID_KEYWORD "PHYSICAL_GRID" 52 # define SEGMENT_KEYWORD "MBK_TO_RDS_SEGMENT" 53 # define VIA_KEYWORD "MBK_TO_RDS_VIA" 54 # define BIGVIA_HOLE_KEYWORD "MBK_TO_RDS_BIGVIA_HOLE" 55 # define BIGVIA_METAL_KEYWORD "MBK_TO_RDS_BIGVIA_METAL" 56 # define TURNVIA_KEYWORD "MBK_TO_RDS_TURNVIA" 57 # define CONNECTOR_KEYWORD "MBK_TO_RDS_CONNECTOR" 58 # define REFERENCE_KEYWORD "MBK_TO_RDS_REFERENCE" 59 # define WIRESETTING_KEYWORD "MBK_WIRESETTING" 60 # define CIF_LAYER_KEYWORD "CIF_LAYER" 61 # define GDS_LAYER_KEYWORD "GDS_LAYER" 62 # define S2R_POST_TREAT_KEYWORD "S2R_POST_TREAT" 63 # define S2R_OVERSIZE_KEYWORD "S2R_OVERSIZE_DENOTCH" 64 # define S2R_RING_WIDTH_KEYWORD "S2R_BLOC_RING_WIDTH" 65 # define S2R_LAYER_WIDTH_KEYWORD "S2R_MINIMUM_LAYER_WIDTH" 66 # define LYNX_GRAPH_KEYWORD "LYNX_GRAPH" 67 # define LYNX_CAPA_KEYWORD "LYNX_CAPA" 68 # define LYNX_RESISTOR_KEYWORD "LYNX_RESISTOR" 69 # define LYNX_TRANSISTOR_KEYWORD "LYNX_TRANSISTOR" 70 # define LYNX_DIFFUSION_KEYWORD "LYNX_DIFFUSION" 71 # define LYNX_BULK_IMPLICIT_KEYWORD "LYNX_BULK_IMPLICIT" /*4p*/ 72 73 # define DRC_RULES_KEYWORD "DRC_RULES" 74 75 76 /*------------------------------------------------------------\ 77 | | 78 | Mask | 79 | | 80 \------------------------------------------------------------*/ 81 82 # define RPR_LAMBDA_MASK 0x000001 83 # define RPR_PHYSICAL_GRID_MASK 0x000002 84 # define RPR_SEGMENT_MASK 0x000004 85 # define RPR_VIA_MASK 0x000008 86 # define RPR_CONNECTOR_MASK 0x000010 87 # define RPR_REFERENCE_MASK 0x000020 88 # define RPR_CIF_LAYER_MASK 0x000040 89 # define RPR_GDS_LAYER_MASK 0x000080 90 # define RPR_S2R_POST_TREAT_MASK 0x000100 91 # define RPR_S2R_OVERSIZE_MASK 0x000200 92 # define RPR_S2R_RING_WIDTH_MASK 0x000400 93 # define RPR_S2R_LAYER_WIDTH_MASK 0x000800 94 # define RPR_LYNX_GRAPH_MASK 0x001000 95 # define RPR_LYNX_CAPA_MASK 0x002000 96 # define RPR_LYNX_TRANSISTOR_MASK 0x004000 97 # define RPR_LYNX_RESISTOR_MASK 0x008000 98 # define RPR_LYNX_DIFFUSION_MASK 0x010000 99 # define RPR_LYNX_BULK_IMPLICIT_MASK 0x020000 100 # define RPR_BIGVIA_HOLE_MASK 0x040000 101 # define RPR_BIGVIA_METAL_MASK 0x080000 102 # define RPR_TURNVIA_MASK 0x100000 103 # define RPR_WIRESETTING_MASK 0x200000 104 105 # define RPR_ALL_DEFINED_MASK 0x3FFFFF 106 # define RPR_ALL_REQUIRED_MASK 0x1FFFFF 107 108 109 /*------------------------------------------------------------\ 110 | | 111 | Macros | 112 | | 113 \------------------------------------------------------------*/ 114 115 # define RprEqual(a,b) \ 116 \ 117 ((((a)-RPR_EPSILON) <= (b)) && (((b)) <= (a)+RPR_EPSILON)) 118 119 /*------------------------------------------------------------\ 120 | | 121 | Types | 122 | | 123 \------------------------------------------------------------*/ 124 125 typedef struct keyword 126 { 127 char *NAME; 128 char VALUE; 129 130 } keyword; 131 132 /*------------------------------------------------------------\ 133 | | 134 | Variables | 135 | | 136 \------------------------------------------------------------*/ 137 /*------------------------------------------------------------\ 138 | | 139 | Functions | 140 | | 141 \------------------------------------------------------------*/ 142 143 144 # endif 145