| /// -*- c++ -*- |
| /// drc: by vun on Oct 11 10:20:39 2017 |
| /// Copyright (c) 2017 by Cypress Semiconductor |
| /// Cypress Confidential Information |
| /// s8phirs-10r drawn-DRC TDR: 001-01905 REV ER |
| /// metopLayer: "met3" Metops 1-8 are checked by drc for layer "met3". |
| /// Switches = nil |
| /// $Id: s8_drcRules 1 2018/06/18 17:29:47 GMT ssoares Exp $ |
| |
| DRC INCREMENTAL CONNECT YES |
| TVF FUNCTION CALtvfOriginCheck [/* |
| tvf::GET_LAYER_ARGS layer1 |
| set cell_Extent [ tvf::GET_LAYER_EXTENT $layer1 ] ;# cooridnates of lower-left and up-right corners |
| set x1 [lindex $cell_Extent 0] ;# x coordinate of lower-left corner |
| set y1 [lindex $cell_Extent 1] ;# y coordinate of lower-left corner |
| if {($x1!=0) || ($y1!=0)} { |
| tvf::OUTLAYER "COPY $layer1" |
| puts "OriginCheck: lower-left corner is not on (0,0), currently locat at ($x1, $y1)" |
| } |
| */] |
| |
| |
| /// Tolerance for round-off errors on skew edges |
| DRC TOLERANCE FACTOR 0.001 |
| |
| /// Unused MaskLayers: (FOM DNM NWM HVTRM TUNM ONOM LVOM P1M NPCM LDNTM NSDM PSDM LICM1 LI1M CTM1 MM1 VIM MM2 VIM2 MM3 VIM3 MM4 VIM4 MM5 NSM PDM PBO RPM CU1M PMM2) |
| LAYER nwell 1000 |
| LAYER MAP 64 DATATYPE 20 1000 // nwell drawing |
| |
| LAYER diff 1001 |
| LAYER MAP 65 DATATYPE 20 1001 // diff drawing |
| |
| LAYER dnwell 1002 |
| LAYER MAP 64 DATATYPE 18 1002 // dnwell drawing |
| |
| LAYER tap 1003 |
| LAYER MAP 65 DATATYPE 44 1003 // tap drawing |
| |
| LAYER lvtn 1004 |
| LAYER MAP 125 DATATYPE 44 1004 // lvtn drawing |
| |
| LAYER hvtp 1005 |
| LAYER MAP 78 DATATYPE 44 1005 // hvtp drawing |
| |
| LAYER hvi 1006 |
| LAYER MAP 75 DATATYPE 20 1006 // hvi drawing |
| |
| LAYER tunm 1007 |
| LAYER MAP 80 DATATYPE 20 1007 // tunm drawing |
| |
| LAYER poly 1008 |
| LAYER MAP 66 DATATYPE 20 1008 // poly drawing |
| |
| LAYER npc 1009 |
| LAYER MAP 95 DATATYPE 20 1009 // npc drawing |
| |
| LAYER nsdm 1010 |
| LAYER MAP 93 DATATYPE 44 1010 // nsdm drawing |
| |
| LAYER psdm 1011 |
| LAYER MAP 94 DATATYPE 20 1011 // psdm drawing |
| |
| LAYER licon1 1012 |
| LAYER MAP 66 DATATYPE 44 1012 // licon1 drawing |
| |
| LAYER li1 1013 |
| LAYER MAP 67 DATATYPE 20 1013 // li1 drawing |
| |
| LAYER mcon 1014 |
| LAYER MAP 67 DATATYPE 44 1014 // mcon drawing |
| |
| LAYER met1 1015 |
| LAYER MAP 68 DATATYPE 20 1015 // met1 drawing |
| |
| LAYER via 1016 |
| LAYER MAP 68 DATATYPE 44 1016 // via drawing |
| |
| LAYER met2 1017 |
| LAYER MAP 69 DATATYPE 20 1017 // met2 drawing |
| |
| LAYER vhvi 1018 |
| LAYER MAP 74 DATATYPE 21 1018 // vhvi drawing |
| |
| LAYER via2 1019 |
| LAYER MAP 69 DATATYPE 44 1019 // via2 drawing |
| |
| LAYER met3 1020 |
| LAYER MAP 70 DATATYPE 20 1020 // met3 drawing |
| |
| LAYER via3 1021 |
| LAYER MAP 70 DATATYPE 44 1021 // via3 drawing |
| |
| LAYER met4 1022 |
| LAYER MAP 71 DATATYPE 20 1022 // met4 drawing |
| |
| LAYER via4 1023 |
| LAYER MAP 71 DATATYPE 44 1023 // via4 drawing |
| |
| LAYER met5 1024 |
| LAYER MAP 72 DATATYPE 20 1024 // met5 drawing |
| |
| LAYER nsm 1025 |
| LAYER MAP 61 DATATYPE 20 1025 // nsm drawing |
| |
| LAYER pad 1026 |
| LAYER MAP 76 DATATYPE 20 1026 // pad drawing |
| |
| LAYER ldntm 1027 |
| LAYER MAP 11 DATATYPE 44 1027 // ldntm drawing |
| |
| LAYER hvntm 1028 |
| LAYER MAP 125 DATATYPE 20 1028 // hvntm drawing |
| |
| LAYER pmm 1029 |
| LAYER MAP 85 DATATYPE 44 1029 // pmm drawing |
| |
| LAYER pnp 1030 |
| LAYER MAP 82 DATATYPE 44 1030 // pnp drawing |
| |
| LAYER capacitor 1031 |
| LAYER MAP 82 DATATYPE 64 1031 // capacitor drawing |
| |
| LAYER ncm 1032 |
| LAYER MAP 92 DATATYPE 44 1032 // ncm drawing |
| |
| LAYER pmm2 1033 |
| LAYER MAP 77 DATATYPE 20 1033 // pmm2 drawing |
| |
| LAYER inductor 1034 |
| LAYER MAP 82 DATATYPE 24 1034 // inductor drawing |
| |
| LAYER rdl 1035 |
| LAYER MAP 74 DATATYPE 20 1035 // rdl drawing |
| |
| LAYER rpm 1036 |
| LAYER MAP 86 DATATYPE 20 1036 // rpm drawing |
| |
| LAYER hvtr 1037 |
| LAYER MAP 18 DATATYPE 20 1037 // hvtr drawing |
| |
| LAYER ubm 1038 |
| LAYER MAP 127 DATATYPE 21 1038 // ubm drawing |
| |
| LAYER bump 1039 |
| LAYER MAP 127 DATATYPE 22 1039 // bump drawing |
| |
| LAYER target 1040 |
| LAYER MAP 76 DATATYPE 44 1040 // target drawing |
| |
| LAYER cfom 1041 |
| LAYER MAP 22 DATATYPE 20 1041 // cfom drawing |
| |
| LAYER clvtnm 1042 |
| LAYER MAP 25 DATATYPE 44 1042 // clvtnm drawing |
| |
| LAYER chvtpm 1043 |
| LAYER MAP 88 DATATYPE 44 1043 // chvtpm drawing |
| |
| LAYER conom 1044 |
| LAYER MAP 87 DATATYPE 44 1044 // conom drawing |
| |
| LAYER clvom 1045 |
| LAYER MAP 45 DATATYPE 20 1045 // clvom drawing |
| |
| LAYER cntm 1046 |
| LAYER MAP 26 DATATYPE 20 1046 // cntm drawing |
| |
| LAYER chvntm 1047 |
| LAYER MAP 38 DATATYPE 20 1047 // chvntm drawing |
| |
| LAYER cnpc 1048 |
| LAYER MAP 44 DATATYPE 20 1048 // cnpc drawing |
| |
| LAYER cnsdm 1049 |
| LAYER MAP 29 DATATYPE 20 1049 // cnsdm drawing |
| |
| LAYER cpsdm 1050 |
| LAYER MAP 31 DATATYPE 20 1050 // cpsdm drawing |
| |
| LAYER cli1m 1051 |
| LAYER MAP 115 DATATYPE 44 1051 // cli1m drawing |
| |
| LAYER cviam3 1052 |
| LAYER MAP 112 DATATYPE 20 1052 // cviam3 drawing |
| |
| LAYER cviam4 1053 |
| LAYER MAP 117 DATATYPE 20 1053 // cviam4 drawing |
| |
| LAYER metop1 1054 |
| LAYER MAP 70 DATATYPE 32 1054 // met3 option1 |
| |
| LAYER metop2 1055 |
| LAYER MAP 70 DATATYPE 33 1055 // met3 option2 |
| |
| LAYER metop3 1056 |
| LAYER MAP 70 DATATYPE 34 1056 // met3 option3 |
| |
| LAYER metop4 1057 |
| LAYER MAP 70 DATATYPE 35 1057 // met3 option4 |
| |
| LAYER metop5 1058 |
| LAYER MAP 70 DATATYPE 36 1058 // met3 option5 |
| |
| LAYER metop6 1059 |
| LAYER MAP 70 DATATYPE 37 1059 // met3 option6 |
| |
| LAYER metop7 1060 |
| LAYER MAP 70 DATATYPE 38 1060 // met3 option7 |
| |
| LAYER metop8 1061 |
| LAYER MAP 70 DATATYPE 39 1061 // met3 option8 |
| |
| LAYER diffTap 1001 1003 |
| // 1001 -> diff drawing |
| // 1003 -> tap drawing |
| |
| LAYER moduleCutAREA 1062 |
| LAYER MAP 81 DATATYPE 10 1062 // areaid moduleCut |
| |
| LAYER ETESTID 1063 |
| LAYER MAP 81 DATATYPE 101 1063 // areaid etest |
| |
| LAYER SEALID 1064 |
| LAYER MAP 81 DATATYPE 1 1064 // areaid seal |
| |
| LAYER FRAMEID 1065 |
| LAYER MAP 81 DATATYPE 3 1065 // areaid frame |
| |
| LAYER ESDID 1066 |
| LAYER MAP 81 DATATYPE 19 1066 // areaid esd |
| |
| LAYER DIODEID 1067 |
| LAYER MAP 81 DATATYPE 23 1067 // areaid diode |
| |
| LAYER RFDIODEID 1068 |
| LAYER MAP 81 DATATYPE 125 1068 // areaid rfdiode |
| |
| LAYER COREID 1069 |
| LAYER MAP 81 DATATYPE 2 1069 // areaid core |
| |
| LAYER STDCID 1070 |
| LAYER MAP 81 DATATYPE 4 1070 // areaid standardc |
| |
| LAYER ENID 1071 |
| LAYER MAP 81 DATATYPE 57 1071 // areaid extendedDrain |
| |
| LAYER LDID 1072 |
| LAYER MAP 81 DATATYPE 14 1072 // areaid lowTapDensity |
| |
| LAYER IJID 1073 |
| LAYER MAP 81 DATATYPE 17 1073 // areaid injection |
| |
| LAYER polyGate 1074 |
| LAYER MAP 66 DATATYPE 9 1074 // poly gate |
| |
| LAYER polyModel 1075 |
| LAYER MAP 66 TEXTTYPE 83 1075 // poly model |
| |
| LAYER LVID 1076 |
| LAYER MAP 81 DATATYPE 60 1076 // areaid lvNative |
| |
| LAYER frameBndr 1077 |
| LAYER MAP 81 DATATYPE 12 1077 // areaid frameRect |
| |
| LAYER HVNID 1078 |
| LAYER MAP 81 DATATYPE 63 1078 // areaid hvnwell |
| |
| LAYER dieCut 1079 |
| LAYER MAP 81 DATATYPE 11 1079 // areaid dieCut |
| |
| LAYER photoID 1080 |
| LAYER MAP 81 DATATYPE 81 1080 // areaid photo |
| |
| LAYER ANALOGID 1081 |
| LAYER MAP 81 DATATYPE 79 1081 // areaid analog |
| |
| LAYER padCenter 1082 |
| LAYER MAP 81 DATATYPE 20 1082 // padCenter drawing |
| |
| LAYER polyres 1083 |
| LAYER MAP 66 DATATYPE 13 1083 // poly res |
| |
| LAYER diffres 1084 |
| LAYER MAP 65 DATATYPE 13 1084 // diff res |
| |
| LAYER pwres 1085 |
| LAYER MAP 64 DATATYPE 13 1085 // pwell res |
| |
| LAYER diffhvp 1086 |
| LAYER MAP 65 DATATYPE 8 1086 // diff hv |
| |
| LAYER li1res 1087 |
| LAYER MAP 67 DATATYPE 13 1087 // li1 res |
| |
| LAYER fuse 1088 |
| LAYER MAP 71 DATATYPE 17 1088 // met4 fuse |
| |
| LAYER padText 1089 |
| LAYER MAP 76 TEXTTYPE 5 1089 // pad label |
| |
| LAYER diffLabel 1090 |
| LAYER MAP 65 DATATYPE 6 1090 // diff label |
| |
| LAYER tapLabel 1091 |
| LAYER MAP 65 DATATYPE 5 1091 // tap label |
| |
| LAYER nwellLabel 1092 |
| LAYER MAP 64 DATATYPE 5 1092 // nwell label |
| |
| LAYER polyLabel 1093 |
| LAYER MAP 66 DATATYPE 5 1093 // poly label |
| |
| LAYER met1Label 1094 |
| LAYER MAP 68 DATATYPE 5 1094 // met1 label |
| |
| LAYER met2Label 1095 |
| LAYER MAP 69 DATATYPE 5 1095 // met2 label |
| |
| LAYER met3Label 1096 |
| LAYER MAP 70 DATATYPE 5 1096 // met3 label |
| |
| LAYER met4Label 1097 |
| LAYER MAP 71 DATATYPE 5 1097 // met4 label |
| |
| LAYER met5Label 1098 |
| LAYER MAP 72 DATATYPE 5 1098 // met5 label |
| |
| LAYER li1Block 1099 |
| LAYER MAP 67 DATATYPE 10 1099 // li1 blockage |
| |
| LAYER met1Block 1100 |
| LAYER MAP 68 DATATYPE 10 1100 // met1 blockage |
| |
| LAYER met2Block 1101 |
| LAYER MAP 69 DATATYPE 10 1101 // met2 blockage |
| |
| LAYER met3Block 1102 |
| LAYER MAP 70 DATATYPE 10 1102 // met3 blockage |
| |
| LAYER met4Block 1103 |
| LAYER MAP 71 DATATYPE 10 1103 // met4 blockage |
| |
| LAYER met5Block 1104 |
| LAYER MAP 72 DATATYPE 10 1104 // met5 blockage |
| |
| LAYER prBndry 1105 |
| LAYER MAP 235 DATATYPE 4 1105 // prBoundary boundary |
| |
| LAYER diffBndry 1106 |
| LAYER MAP 65 DATATYPE 4 1106 // diff boundary |
| |
| LAYER tapBndry 1107 |
| LAYER MAP 65 DATATYPE 60 1107 // tap boundary |
| |
| LAYER mconBndry 1108 |
| LAYER MAP 67 DATATYPE 60 1108 // mcon boundary |
| |
| LAYER polyBndry 1109 |
| LAYER MAP 66 DATATYPE 4 1109 // poly boundary |
| |
| LAYER viaBndry 1110 |
| LAYER MAP 68 DATATYPE 60 1110 // via boundary |
| |
| LAYER via2Bndry 1111 |
| LAYER MAP 69 DATATYPE 60 1111 // via2 boundary |
| |
| LAYER via3Bndry 1112 |
| LAYER MAP 70 DATATYPE 60 1112 // via3 boundary |
| |
| LAYER via4Bndry 1113 |
| LAYER MAP 71 DATATYPE 60 1113 // via4 boundary |
| |
| LAYER li1tt 1114 1115 1116 1117 |
| LAYER MAP 67 TEXTTYPE 20 1114 // li1 drawing |
| LAYER MAP 67 TEXTTYPE 5 1115 // li1 label |
| LAYER MAP 67 TEXTTYPE 23 1116 // li1 net |
| LAYER MAP 67 TEXTTYPE 16 1117 // li1 pin |
| |
| LAYER met1tt 1118 1119 1120 1121 |
| LAYER MAP 68 TEXTTYPE 20 1118 // met1 drawing |
| LAYER MAP 68 TEXTTYPE 5 1119 // met1 label |
| LAYER MAP 68 TEXTTYPE 23 1120 // met1 net |
| LAYER MAP 68 TEXTTYPE 16 1121 // met1 pin |
| |
| LAYER met2tt 1122 1123 1124 1125 |
| LAYER MAP 69 TEXTTYPE 20 1122 // met2 drawing |
| LAYER MAP 69 TEXTTYPE 5 1123 // met2 label |
| LAYER MAP 69 TEXTTYPE 23 1124 // met2 net |
| LAYER MAP 69 TEXTTYPE 16 1125 // met2 pin |
| |
| LAYER met3tt 1126 1127 1128 1129 |
| LAYER MAP 70 TEXTTYPE 20 1126 // met3 drawing |
| LAYER MAP 70 TEXTTYPE 5 1127 // met3 label |
| LAYER MAP 70 TEXTTYPE 23 1128 // met3 net |
| LAYER MAP 70 TEXTTYPE 16 1129 // met3 pin |
| |
| LAYER met4tt 1130 1131 1132 1133 |
| LAYER MAP 71 TEXTTYPE 20 1130 // met4 drawing |
| LAYER MAP 71 TEXTTYPE 5 1131 // met4 label |
| LAYER MAP 71 TEXTTYPE 23 1132 // met4 net |
| LAYER MAP 71 TEXTTYPE 16 1133 // met4 pin |
| |
| LAYER met5tt 1134 1135 1136 1137 |
| LAYER MAP 72 TEXTTYPE 20 1134 // met5 drawing |
| LAYER MAP 72 TEXTTYPE 5 1135 // met5 label |
| LAYER MAP 72 TEXTTYPE 23 1136 // met5 net |
| LAYER MAP 72 TEXTTYPE 16 1137 // met5 pin |
| |
| LAYER polytt 1138 1139 1140 1141 |
| LAYER MAP 66 TEXTTYPE 20 1138 // poly drawing |
| LAYER MAP 66 TEXTTYPE 5 1139 // poly label |
| LAYER MAP 66 TEXTTYPE 23 1140 // poly net |
| LAYER MAP 66 TEXTTYPE 16 1141 // poly pin |
| |
| LAYER difftt 1142 1143 1144 1145 |
| LAYER MAP 65 TEXTTYPE 20 1142 // diff drawing |
| LAYER MAP 65 TEXTTYPE 6 1143 // diff label |
| LAYER MAP 65 TEXTTYPE 23 1144 // diff net |
| LAYER MAP 65 TEXTTYPE 16 1145 // diff pin |
| |
| LAYER poly_pin 1146 |
| LAYER MAP 66 DATATYPE 16 1146 // poly pin |
| |
| LAYER li1_pin 1147 |
| LAYER MAP 67 DATATYPE 16 1147 // li1 pin |
| |
| LAYER met1_pin 1148 |
| LAYER MAP 68 DATATYPE 16 1148 // met1 pin |
| |
| LAYER met2_pin 1149 |
| LAYER MAP 69 DATATYPE 16 1149 // met2 pin |
| |
| LAYER met3_pin 1150 |
| LAYER MAP 70 DATATYPE 16 1150 // met3 pin |
| |
| LAYER met4_pin 1151 |
| LAYER MAP 71 DATATYPE 16 1151 // met4 pin |
| |
| LAYER met5_pin 1152 |
| LAYER MAP 72 DATATYPE 16 1152 // met5 pin |
| |
| LAYER nwellpt 1153 |
| LAYER MAP 64 TEXTTYPE 16 1153 // nwell pin |
| LAYER MAP 64 TEXTTYPE 0 1153 // nwell pin |
| |
| LAYER polypt 1154 |
| LAYER MAP 66 TEXTTYPE 16 1154 // poly pin |
| LAYER MAP 66 TEXTTYPE 0 1154 // poly pin |
| |
| LAYER li1pt 1155 |
| LAYER MAP 67 TEXTTYPE 16 1155 // li1 pin |
| LAYER MAP 67 TEXTTYPE 0 1155 // li1 pin |
| |
| LAYER met1pt 1156 |
| LAYER MAP 68 TEXTTYPE 16 1156 // met1 pin |
| LAYER MAP 68 TEXTTYPE 0 1156 // met1 pin |
| |
| LAYER met2pt 1157 |
| LAYER MAP 69 TEXTTYPE 16 1157 // met2 pin |
| LAYER MAP 69 TEXTTYPE 0 1157 // met2 pin |
| |
| LAYER met3pt 1158 |
| LAYER MAP 70 TEXTTYPE 16 1158 // met3 pin |
| LAYER MAP 70 TEXTTYPE 0 1158 // met3 pin |
| |
| LAYER met4pt 1159 |
| LAYER MAP 71 TEXTTYPE 16 1159 // met4 pin |
| LAYER MAP 71 TEXTTYPE 0 1159 // met4 pin |
| |
| LAYER met5pt 1160 |
| LAYER MAP 72 TEXTTYPE 16 1160 // met5 pin |
| LAYER MAP 72 TEXTTYPE 0 1160 // met5 pin |
| |
| LAYER textlabel 1161 |
| LAYER MAP 83 TEXTTYPE 44 1161 // text drawing |
| |
| LAYER ccorner 1162 |
| LAYER MAP 81 DATATYPE 51 1162 // areaid critCorner |
| |
| LAYER critside 1163 |
| LAYER MAP 81 DATATYPE 52 1163 // areaid critSid |
| |
| LAYER prune 1164 |
| LAYER MAP 84 DATATYPE 44 1164 // prune drawing |
| |
| LAYER cncmMask 1165 |
| LAYER MAP 17 DATATYPE 0 1165 // cncm mask |
| |
| LAYER cncmDrawing 1166 |
| LAYER MAP 96 DATATYPE 44 1166 // cncm drawing |
| |
| LAYER padtt 1167 1089 |
| LAYER MAP 76 TEXTTYPE 20 1167 // pad drawing |
| // 1089 -> pad label |
| |
| LAYER pad_pin 1168 |
| LAYER MAP 76 DATATYPE 16 1168 // pad pin |
| |
| LAYER padpt 1169 |
| LAYER MAP 76 TEXTTYPE 16 1169 // pad pin |
| LAYER MAP 76 TEXTTYPE 0 1169 // pad pin |
| |
| LAYER LVTNMdg 1042 |
| // 1042 -> clvtnm drawing |
| |
| LAYER HVTPMdg 1043 |
| // 1043 -> chvtpm drawing |
| |
| LAYER HVNTMdg 1047 |
| // 1047 -> chvntm drawing |
| |
| LAYER NTMdg 1046 |
| // 1046 -> cntm drawing |
| |
| LAYER NTMdrop 1170 |
| LAYER MAP 26 DATATYPE 22 1170 // cntm maskDrop |
| |
| LAYER LVTNMdrop 1171 |
| LAYER MAP 25 DATATYPE 42 1171 // clvtnm maskDrop |
| |
| LAYER HVTPMdrop 1172 |
| LAYER MAP 97 DATATYPE 42 1172 // chvtpm maskDrop |
| |
| LAYER LI1Mdrop 1173 |
| LAYER MAP 115 DATATYPE 42 1173 // cli1m maskDrop |
| |
| LAYER LICM1drop 1174 |
| LAYER MAP 106 DATATYPE 42 1174 // clicm1 maskDrop |
| |
| LAYER PSDMdrop 1175 |
| LAYER MAP 31 DATATYPE 22 1175 // cpsdm maskDrop |
| |
| LAYER NSDMdrop 1176 |
| LAYER MAP 29 DATATYPE 22 1176 // cnsdm maskDrop |
| |
| LAYER P1Mdrop 1177 |
| LAYER MAP 33 DATATYPE 42 1177 // cp1m maskDrop |
| |
| LAYER FOMdrop 1178 |
| LAYER MAP 22 DATATYPE 22 1178 // cfom maskDrop |
| |
| LAYER NTMadd 1179 |
| LAYER MAP 26 DATATYPE 21 1179 // cntm maskAdd |
| |
| LAYER LVTNMadd 1180 |
| LAYER MAP 25 DATATYPE 43 1180 // clvtnm maskAdd |
| |
| LAYER HVTPMadd 1181 |
| LAYER MAP 97 DATATYPE 43 1181 // chvtpm maskAdd |
| |
| LAYER LI1Madd 1182 |
| LAYER MAP 115 DATATYPE 43 1182 // cli1m maskAdd |
| |
| LAYER LICM1add 1183 |
| LAYER MAP 106 DATATYPE 43 1183 // clicm1 maskAdd |
| |
| LAYER PSDMadd 1184 |
| LAYER MAP 31 DATATYPE 21 1184 // cpsdm maskAdd |
| |
| LAYER NSDMadd 1185 |
| LAYER MAP 29 DATATYPE 21 1185 // cnsdm maskAdd |
| |
| LAYER P1Madd 1186 |
| LAYER MAP 33 DATATYPE 43 1186 // cp1m maskAdd |
| |
| LAYER FOMadd 1187 |
| LAYER MAP 22 DATATYPE 21 1187 // cfom maskAdd |
| |
| LAYER PMM2mk 1188 |
| LAYER MAP 94 DATATYPE 0 1188 // cpmm2 mask |
| |
| LAYER CU1Mmk 1189 |
| LAYER MAP 93 DATATYPE 0 1189 // ccu1m mask |
| |
| LAYER RPMmk 1190 |
| LAYER MAP 96 DATATYPE 0 1190 // crpm mask |
| |
| LAYER PBOmk 1191 |
| LAYER MAP 99 DATATYPE 0 1191 // cpbo mask |
| |
| LAYER PDMmk 1192 |
| LAYER MAP 37 DATATYPE 0 1192 // cpdm mask |
| |
| LAYER NSMmk 1193 |
| LAYER MAP 22 DATATYPE 0 1193 // cnsm mask |
| |
| LAYER MM5mk 1194 |
| LAYER MAP 59 DATATYPE 0 1194 // cmm5 mask |
| |
| LAYER VIM4mk 1195 |
| LAYER MAP 58 DATATYPE 0 1195 // cviam4 mask |
| |
| LAYER MM4mk 1196 |
| LAYER MAP 51 DATATYPE 0 1196 // cmm4 mask |
| |
| LAYER VIM3mk 1197 |
| LAYER MAP 50 DATATYPE 0 1197 // cviam3 mask |
| |
| LAYER MM3mk 1198 |
| LAYER MAP 34 DATATYPE 0 1198 // cmm3 mask |
| |
| LAYER VIM2mk 1199 |
| LAYER MAP 44 DATATYPE 0 1199 // cviam2 mask |
| |
| LAYER MM2mk 1200 |
| LAYER MAP 41 DATATYPE 0 1200 // cmm2 mask |
| |
| LAYER VIMmk 1201 |
| LAYER MAP 40 DATATYPE 0 1201 // cviam mask |
| |
| LAYER MM1mk 1202 |
| LAYER MAP 36 DATATYPE 0 1202 // cmm1 mask |
| |
| LAYER CTM1mk 1203 |
| LAYER MAP 35 DATATYPE 0 1203 // cctm1 mask |
| |
| LAYER LI1Mmk 1204 |
| LAYER MAP 56 DATATYPE 0 1204 // cli1m mask |
| |
| LAYER LICM1mk 1205 |
| LAYER MAP 43 DATATYPE 0 1205 // clicm1 mask |
| |
| LAYER PSDMmk 1206 |
| LAYER MAP 32 DATATYPE 0 1206 // cpsdm mask |
| |
| LAYER NSDMmk 1207 |
| LAYER MAP 30 DATATYPE 0 1207 // cnsdm mask |
| |
| LAYER LDNTMmk 1208 |
| LAYER MAP 11 DATATYPE 0 1208 // cldntm mask |
| |
| LAYER NPCMmk 1209 |
| LAYER MAP 49 DATATYPE 0 1209 // cnpc mask |
| |
| LAYER HVNTMmk 1210 |
| LAYER MAP 39 DATATYPE 0 1210 // chvntm mask |
| |
| LAYER NTMmk 1211 |
| LAYER MAP 27 DATATYPE 0 1211 // cntm mask |
| |
| LAYER P1Mmk 1212 |
| LAYER MAP 28 DATATYPE 0 1212 // cp1m mask |
| |
| LAYER LVOMmk 1213 |
| LAYER MAP 46 DATATYPE 0 1213 // clvom mask |
| |
| LAYER ONOMmk 1214 |
| LAYER MAP 88 DATATYPE 0 1214 // conom mask |
| |
| LAYER TUNMmk 1215 |
| LAYER MAP 20 DATATYPE 0 1215 // ctunm mask |
| |
| LAYER HVTRMmk 1216 |
| LAYER MAP 98 DATATYPE 0 1216 // chvtrm mask |
| |
| LAYER HVTPMmk 1217 |
| LAYER MAP 97 DATATYPE 0 1217 // chvtpm mask |
| |
| LAYER LVTNMmk 1218 |
| LAYER MAP 25 DATATYPE 0 1218 // clvtnm mask |
| |
| LAYER NWMmk 1219 |
| LAYER MAP 21 DATATYPE 0 1219 // cnwm mask |
| |
| LAYER DNMmk 1220 |
| LAYER MAP 48 DATATYPE 0 1220 // cdnm mask |
| |
| LAYER FOMmk 1221 |
| LAYER MAP 23 DATATYPE 0 1221 // cfom mask |
| |
| LAYER met5Pin 1152 |
| // 1152 -> met5 pin |
| |
| LAYER met4Pin 1151 |
| // 1151 -> met4 pin |
| |
| LAYER met3Pin 1150 |
| // 1150 -> met3 pin |
| |
| LAYER met2Pin 1149 |
| // 1149 -> met2 pin |
| |
| LAYER met1Pin 1148 |
| // 1148 -> met1 pin |
| |
| LAYER li1Pin 1147 |
| // 1147 -> li1 pin |
| |
| LAYER polyPin 1146 |
| // 1146 -> poly pin |
| |
| LAYER diffPin 1222 |
| LAYER MAP 65 DATATYPE 16 1222 // diff pin |
| |
| LAYER cmm4WaffleDrop 1223 |
| LAYER MAP 112 DATATYPE 4 1223 // cmm4 waffleDrop |
| |
| LAYER cmm3WaffleDrop 1224 |
| LAYER MAP 107 DATATYPE 24 1224 // cmm3 waffleDrop |
| |
| LAYER cmm2WaffleDrop 1225 |
| LAYER MAP 105 DATATYPE 52 1225 // cmm2 waffleDrop |
| |
| LAYER cmm1WaffleDrop 1226 |
| LAYER MAP 62 DATATYPE 24 1226 // cmm1 waffleDrop |
| |
| LAYER cp1mWaffleDrop 1227 |
| LAYER MAP 33 DATATYPE 24 1227 // cp1m waffleDrop |
| |
| LAYER cfomWaffleDrop 1228 |
| LAYER MAP 22 DATATYPE 24 1228 // cfom waffleDrop |
| |
| LAYER capm 1229 |
| LAYER MAP 89 DATATYPE 44 1229 // capm drawing |
| |
| LAYER cap2m 1230 |
| LAYER MAP 97 DATATYPE 44 1230 // cap2m drawing |
| |
| LAYER urpm 1231 |
| LAYER MAP 79 DATATYPE 20 1231 // urpm drawing |
| |
| LAYOUT BASE LAYER diff |
| LAYOUT BASE LAYER tap |
| LAYOUT BASE LAYER poly |
| LAYOUT BASE LAYER lvtn |
| LAYOUT BASE LAYER hvtp |
| LAYOUT BASE LAYER hvi |
| LAYOUT BASE LAYER npc |
| LAYOUT BASE LAYER nsdm |
| LAYOUT BASE LAYER psdm |
| LAYOUT BASE LAYER DIODEID |
| LAYOUT BASE LAYER ESDID |
| LAYOUT BASE LAYER COREID |
| LAYOUT BASE LAYER diffres |
| LAYOUT BASE LAYER polyres |
| LAYOUT BASE LAYER li1res |
| LAYOUT BASE LAYER fuse |
| LAYOUT BASE LAYER metop1 |
| LAYOUT BASE LAYER metop2 |
| LAYOUT BASE LAYER metop3 |
| LAYOUT BASE LAYER metop4 |
| LAYOUT BASE LAYER metop5 |
| LAYOUT BASE LAYER metop6 |
| LAYOUT BASE LAYER metop7 |
| LAYOUT BASE LAYER metop8 |
| /// start shared drc rules |
| metop1_met3 = metop1 OR met3 |
| metop2_met3 = metop2 OR met3 |
| metop3_met3 = metop3 OR met3 |
| metop4_met3 = metop4 OR met3 |
| metop5_met3 = metop5 OR met3 |
| metop6_met3 = metop6 OR met3 |
| metop7_met3 = metop7 OR met3 |
| metop8_met3 = metop8 OR met3 |
| PadPcell = EXTENT CELL "padPL*" |
| /// $Id: s8_drcRules 1 2018/06/18 17:29:47 GMT ssoares Exp $ |
| LAYER pwellLabel 1229 |
| LAYER MAP 64 DATATYPE 59 1229 // pwell label |
| |
| LAYER pwelltt 1230 |
| LAYER MAP 64 TEXTTYPE 59 1230 // pwell label |
| |
| LAYER pwell_pin 1231 |
| LAYER MAP 122 DATATYPE 16 1231 // pwell pin |
| |
| LAYER pwellpt 1232 |
| LAYER MAP 122 TEXTTYPE 16 1232 // pwell pin |
| LAYER MAP 122 TEXTTYPE 0 1232 // pwell pin |
| |
| LAYER fomDummyDRC 1233 |
| LAYER MAP 22 DATATYPE 23 1233 // fom dummy |
| |
| LAYER textdraw 1161 |
| // 1161 -> text drawing |
| |
| LAYER localSub 1234 |
| LAYER MAP 81 DATATYPE 53 1234 // areaid substrateCut |
| |
| uhvi = COPY 4000 |
| EXTDRAIN20 = COPY 4001 |
| ZENERID = COPY 4002 |
| LOWVTID = COPY 4003 |
| pwbm = COPY 4004 |
| pwde = COPY 4005 |
| inductor_exempt = COPY inductor |
| NTAP = tap AND nwell |
| PTAP = tap NOT nwell |
| PDIFF = diff AND nwell |
| NDIFF = diff NOT nwell |
| SRCDRN = diff NOT poly |
| POLYandDIFF = poly AND diff |
| GATE = COPY POLYandDIFF |
| GATESIDE = GATE INSIDE EDGE diff |
| GATEEND = GATE COINCIDENT INSIDE EDGE diff |
| diffTapEdge = diff COINCIDENT OUTSIDE EDGE tap |
| MOSGATE = COPY GATE |
| EMOSGATE = COPY MOSGATE |
| nDiffTap = NDIFF OR NTAP |
| pDiffTap = PDIFF OR PTAP |
| GATE_PERI = GATE NOT COREID |
| PDIFF_PERI = PDIFF NOT COREID |
| PDIFF_CORE = PDIFF AND COREID |
| NDIFF_CORE = NDIFF AND COREID |
| NDIFF_PERI = NDIFF NOT COREID |
| EMOSGATE_PERI = EMOSGATE NOT COREID |
| EMOSGATE_CORE = EMOSGATE AND COREID |
| poly_PERI = poly NOT COREID |
| poly_CORE = poly AND COREID |
| li1_PERI = li1 NOT COREID |
| li1_CORE = li1 AND COREID |
| licon1_PERI = licon1 NOT COREID |
| licon1_CORE = licon1 AND COREID |
| diff_PERI = diff NOT COREID |
| diff_CORE = diff AND COREID |
| tap_PERI = tap NOT COREID |
| tap_CORE = tap AND COREID |
| diffTap_CORE = diffTap AND COREID |
| diffTap_PERI = diffTap NOT COREID |
| mcon_PERI = mcon NOT COREID |
| mcon_CORE = mcon AND COREID |
| hvtp_PERI = hvtp NOT COREID |
| hvtp_CORE = hvtp AND COREID |
| lvtn_PERI = lvtn NOT COREID |
| lvtn_CORE = lvtn AND COREID |
| nsdm_PERI = nsdm NOT COREID |
| nsdm_CORE = nsdm AND COREID |
| psdm_PERI = psdm NOT COREID |
| psdm_CORE = psdm AND COREID |
| PTAP_PERI = PTAP NOT COREID |
| PTAP_CORE = PTAP AND COREID |
| NTAP_PERI = NTAP NOT COREID |
| NTAP_CORE = NTAP AND COREID |
| via_PERI = via NOT COREID |
| via_CORE = via AND COREID |
| via2_PERI = via2 NOT COREID |
| via2_CORE = via2 AND COREID |
| DISCONNECT |
| npccon = npc AND licon1 |
| CONNECT dnwell nwell |
| CONNECT nwell tap BY NTAP |
| CONNECT tap li1 BY licon1 |
| CONNECT poly li1 BY npccon |
| CONNECT li1 met1 BY mcon |
| CONNECT met1 met2 BY via |
| CONNECT met3 met2 BY via2 |
| CONNECT met3 met4 BY via3 |
| CONNECT met4 met5 BY via4 |
| CONNECT met5 pad |
| CONNECT rdl pad |
| ntapTouchNwell = NTAP INSIDE nwell |
| nwellTouchNtap = nwell INSIDE NTAP |
| ntapnwellInNdiff = (HOLES NDIFF) INSIDE (ntapTouchNwell OR nwellTouchNtap) |
| ESD_nwell_tap = ESDID AND (ntapTouchNwell AND ntapnwellInNdiff) |
| pSRCDRN = SRCDRN AND PDIFF |
| nSRCDRN = SRCDRN AND NDIFF |
| xfom = diffTap NOT poly |
| licon1ToXfom = INTERACT licon1 (licon1 AND xfom) |
| polyAndRes = polyres AND poly |
| diffTapButtEdge = diff COINCIDENT OUTSIDE EDGE tap |
| tapDiffButtEdge = tap COINCIDENT OUTSIDE EDGE diff |
| NTAP_nonESD_nonuhvi = NTAP_PERI NOT (ESD_nwell_tap OR uhvi) |
| diffNoTapEdge = diff OUTSIDE EDGE tap |
| tapNoDiffEdge = tap OUTSIDE EDGE diff |
| diffNotRes = diff NOT diffres |
| exempt_tech_CD = EXTENT CELL "*_tech_CD_top*" |
| tableH3rfFets = (EXTENT CELL "s8rf_plowvt_W5p0_L0p50_M4_b") OR |
| ((EXTENT CELL "s8rf_plowvt_W5p0_L0p35_M4_b") OR |
| ((EXTENT CELL "s8rf_plowvt_W3p0_L0p35_M2_b") OR |
| ((EXTENT CELL "s8rf_plowvt_W3p0_L0p50_M2_b") OR |
| ((EXTENT CELL "s8rf_plowvt_W3p0_L0p35_M4_b") OR |
| ((EXTENT CELL "s8rf_plowvt_W5p0_L0p50_M2_b") OR |
| ((EXTENT CELL "s8rf_plowvt_W5p0_L0p35_M2_b") OR (EXTENT CELL "s8rf_plowvt_W3p0_L0p50_M4_b"))))))) |
| exempt_Pdiff_Cells = (EXTENT CELL "*sr_mcell*") OR (EXTENT CELL "sr_tcell*") |
| exempt_nwell6_Cells = (EXTENT CELL "*sr_1028x128_ssa*") OR |
| ((EXTENT CELL "sr_1028x1025_ssa*") OR |
| ((EXTENT CELL "up_32x256t*") OR (EXTENT CELL "up_128x256t*"))) |
| exemptNhvnativeCell = EXTENT CELL "s8fgvr_fg2n" ORIGINAL |
| exemptDeCapCell = (EXTENT CELL "scs8*decap*" ORIGINAL) AND STDCID |
| polyLicon1 = INTERACT (licon1 NOT licon1ToXfom) ((licon1 NOT licon1ToXfom) AND poly) |
| source_diffusion = (nSRCDRN WITH EDGE (nSRCDRN COINCIDENT OUTSIDE EDGE PTAP)) OR (pSRCDRN WITH EDGE (pSRCDRN COINCIDENT OUTSIDE EDGE NTAP)) |
| licon1ToXfom_PERI = licon1ToXfom NOT COREID |
| polyLicon1_PERI = polyLicon1 NOT COREID |
| polyLicon1_CORE = polyLicon1 AND COREID |
| source_diffusion_PERI = source_diffusion NOT COREID |
| ESDID_sz = SIZE ESDID BY 0.2 |
| poly_ESD = poly AND ESDID_sz |
| poly_nonESD = poly NOT ESDID_sz |
| tap_SEAL = tap AND SEALID |
| tap_nonSEAL = tap NOT (SEALID OR ENID) |
| tap_ENID = (tap NOT SEALID) AND ENID |
| li1_SEAL = li1 AND SEALID |
| li1_PERI_nonSEAL = li1_PERI NOT SEALID |
| licon_SEAL = licon1 AND SEALID |
| licon_nonSEAL = licon1 NOT SEALID |
| mcon_SEAL = mcon AND SEALID |
| mcon_nonSEAL = mcon NOT SEALID |
| via_SEAL = via AND SEALID |
| via_nonSEAL = via NOT SEALID |
| via2_SEAL = via2 AND SEALID |
| via2_nonSEAL = via2 NOT SEALID |
| critArea = (critside OR ccorner) AND (HOLES SEALID) |
| sealRing = DONUT SEALID |
| sealHoles = HOLES SEALID |
| SEALnoHoles_ORIGIN = sealRing OR sealHoles |
| Topcell_Extent = EXTENT CELL SEALnoHoles_ORIGIN ORIGINAL |
| exemptCells = ((EXTENT CELL "*lazX_*") OR (EXTENT CELL "*lazY_*")) OR ((EXTENT CELL "*tech_CD_*") OR (EXTENT CELL "*_techCD_*")) |
| extentDie = (SEALID OR (HOLES SEALID)) NOT exemptCells |
| gated_npn = EXTENT CELL "s8rf_npn_1x1_2p0_HV" ORIGINAL |
| via3_SEAL = via3 AND SEALID |
| via3_nonSEAL = via3 NOT SEALID |
| via4_SEAL = via4 NOT SEALID |
| via4_nonSEAL = via4 NOT SEALID |
| anchLayers = INTERACT ((poly AND critArea) AND |
| ((li1 AND critArea) AND |
| ((met1 AND critArea) AND |
| ((met2 AND critArea) AND |
| ((met3 AND critArea) AND (met4 AND critArea)))))) (((poly AND critArea) AND |
| ((li1 AND critArea) AND |
| ((met1 AND critArea) AND |
| ((met2 AND critArea) AND |
| ((met3 AND critArea) AND (met4 AND critArea)))))) AND critArea) |
| amcon = mcon AND anchLayers |
| alicon1 = licon1 AND anchLayers |
| avia = via AND anchLayers |
| avia2 = via2 AND anchLayers |
| avia3 = via3 AND anchLayers |
| anchmcon = amcon OUTSIDE (avia3 OR |
| (avia2 OR |
| (avia OR alicon1))) |
| anchlicon1 = alicon1 OUTSIDE (avia3 OR |
| (avia2 OR |
| (avia OR amcon))) |
| anchvia = avia OUTSIDE (avia3 OR |
| (avia2 OR |
| (alicon1 OR amcon))) |
| anchvia2 = avia2 OUTSIDE (avia3 OR |
| (avia OR |
| (alicon1 OR amcon))) |
| anchvia3 = avia3 OUTSIDE (avia2 OR |
| (avia OR |
| (alicon1 OR amcon))) |
| acontacts = amcon OR |
| (alicon1 OR |
| (avia OR |
| (avia2 OR avia3))) |
| anchcontacts = anchmcon OR |
| (anchlicon1 OR |
| (anchvia OR |
| (anchvia2 OR anchvia3))) |
| overlapCon = acontacts NOT anchcontacts |
| anchorTmp = ((((anchLayers ENCLOSE mcon) ENCLOSE licon1) ENCLOSE via) ENCLOSE via2) ENCLOSE via3 |
| falseAnch = CUT poly anchLayers |
| anchor = anchorTmp OUTSIDE (overlapCon OR falseAnch) |
| "k_0_anchor" { |
| @ keep: anchor - anchor |
| COPY anchor |
| } |
| li1Anc = li1 AND anchor |
| li1Peri_noSEAL_noAnch = li1_PERI_nonSEAL NOT li1Anc |
| polyAnc = poly AND anchor |
| poly_noESD_noAnch = poly_nonESD NOT (polyAnc OR gated_npn) |
| "r_0_X.1b" { |
| @ X.1b: off 0.005 grid nwell vertex |
| OFFGRID nwell 5 |
| } |
| "r_1_X.1b" { |
| @ X.1b: off 0.005 grid diff vertex |
| OFFGRID diff 5 |
| } |
| "r_2_X.1b" { |
| @ X.1b: off 0.005 grid dnwell vertex |
| OFFGRID dnwell 5 |
| } |
| "r_3_X.1b" { |
| @ X.1b: off 0.005 grid tap vertex |
| OFFGRID tap 5 |
| } |
| "r_4_X.1b" { |
| @ X.1b: off 0.005 grid lvtn vertex |
| OFFGRID lvtn 5 |
| } |
| "r_5_X.1b" { |
| @ X.1b: off 0.005 grid hvtp vertex |
| OFFGRID hvtp 5 |
| } |
| "r_6_X.1b" { |
| @ X.1b: off 0.005 grid hvi vertex |
| OFFGRID hvi 5 |
| } |
| "r_7_X.1b" { |
| @ X.1b: off 0.005 grid tunm vertex |
| OFFGRID tunm 5 |
| } |
| "r_8_X.1b" { |
| @ X.1b: off 0.005 grid poly vertex |
| OFFGRID poly 5 |
| } |
| "r_9_X.1b" { |
| @ X.1b: off 0.005 grid npc vertex |
| OFFGRID npc 5 |
| } |
| "r_10_X.1b" { |
| @ X.1b: off 0.005 grid nsdm vertex |
| OFFGRID nsdm 5 |
| } |
| "r_11_X.1b" { |
| @ X.1b: off 0.005 grid psdm vertex |
| OFFGRID psdm 5 |
| } |
| "r_12_X.1b" { |
| @ X.1b: off 0.005 grid licon1 vertex |
| OFFGRID licon1 5 |
| } |
| "r_13_X.1b" { |
| @ X.1b: off 0.005 grid li1 vertex |
| OFFGRID li1 5 |
| } |
| "r_14_X.1b" { |
| @ X.1b: off 0.005 grid mcon vertex |
| OFFGRID mcon 5 |
| } |
| "r_15_X.1b" { |
| @ X.1b: off 0.005 grid met1 vertex |
| OFFGRID met1 5 |
| } |
| "r_16_X.1b" { |
| @ X.1b: off 0.005 grid via vertex |
| OFFGRID via 5 |
| } |
| "r_17_X.1b" { |
| @ X.1b: off 0.005 grid met2 vertex |
| OFFGRID met2 5 |
| } |
| "r_18_X.1b" { |
| @ X.1b: off 0.005 grid vhvi vertex |
| OFFGRID vhvi 5 |
| } |
| "r_19_X.1b" { |
| @ X.1b: off 0.005 grid via2 vertex |
| OFFGRID via2 5 |
| } |
| "r_20_X.1b" { |
| @ X.1b: off 0.005 grid met3 vertex |
| OFFGRID met3 5 |
| } |
| "r_21_X.1b" { |
| @ X.1b: off 0.005 grid via3 vertex |
| OFFGRID via3 5 |
| } |
| "r_22_X.1b" { |
| @ X.1b: off 0.005 grid met4 vertex |
| OFFGRID met4 5 |
| } |
| "r_23_X.1b" { |
| @ X.1b: off 0.005 grid via4 vertex |
| OFFGRID via4 5 |
| } |
| "r_24_X.1b" { |
| @ X.1b: off 0.005 grid met5 vertex |
| OFFGRID met5 5 |
| } |
| "r_25_X.1b" { |
| @ X.1b: off 0.005 grid nsm vertex |
| OFFGRID nsm 5 |
| } |
| "r_26_X.1b" { |
| @ X.1b: off 0.005 grid pad vertex |
| OFFGRID pad 5 |
| } |
| "r_27_X.1b" { |
| @ X.1b: off 0.005 grid ldntm vertex |
| OFFGRID ldntm 5 |
| } |
| "r_28_X.1b" { |
| @ X.1b: off 0.005 grid hvntm vertex |
| OFFGRID hvntm 5 |
| } |
| "r_29_X.1b" { |
| @ X.1b: off 0.005 grid pnp vertex |
| OFFGRID pnp 5 |
| } |
| "r_30_X.1b" { |
| @ X.1b: off 0.005 grid capacitor vertex |
| OFFGRID capacitor 5 |
| } |
| "r_31_X.1b" { |
| @ X.1b: off 0.005 grid ncm vertex |
| OFFGRID ncm 5 |
| } |
| "r_32_X.1b" { |
| @ X.1b: off 0.005 grid inductor vertex |
| OFFGRID inductor 5 |
| } |
| "r_33_X.1b" { |
| @ X.1b: off 0.005 grid rpm vertex |
| OFFGRID rpm 5 |
| } |
| "r_34_X.1b" { |
| @ X.1b: off 0.005 grid hvtr vertex |
| OFFGRID hvtr 5 |
| } |
| "r_35_X.1b" { |
| @ X.1b: off 0.005 grid metop1 vertex |
| OFFGRID metop1 5 |
| } |
| "r_36_X.1b" { |
| @ X.1b: off 0.005 grid metop2 vertex |
| OFFGRID metop2 5 |
| } |
| "r_37_X.1b" { |
| @ X.1b: off 0.005 grid metop3 vertex |
| OFFGRID metop3 5 |
| } |
| "r_38_X.1b" { |
| @ X.1b: off 0.005 grid metop4 vertex |
| OFFGRID metop4 5 |
| } |
| "r_39_X.1b" { |
| @ X.1b: off 0.005 grid metop5 vertex |
| OFFGRID metop5 5 |
| } |
| "r_40_X.1b" { |
| @ X.1b: off 0.005 grid metop6 vertex |
| OFFGRID metop6 5 |
| } |
| "r_41_X.1b" { |
| @ X.1b: off 0.005 grid metop7 vertex |
| OFFGRID metop7 5 |
| } |
| "r_42_X.1b" { |
| @ X.1b: off 0.005 grid metop8 vertex |
| OFFGRID metop8 5 |
| } |
| "r_43_X.1b" { |
| @ X.1b: off 0.005 grid NTMdrop vertex |
| OFFGRID NTMdrop 5 |
| } |
| "r_44_X.1b" { |
| @ X.1b: off 0.005 grid LVTNMdrop vertex |
| OFFGRID LVTNMdrop 5 |
| } |
| "r_45_X.1b" { |
| @ X.1b: off 0.005 grid HVTPMdrop vertex |
| OFFGRID HVTPMdrop 5 |
| } |
| "r_46_X.1b" { |
| @ X.1b: off 0.005 grid LI1Mdrop vertex |
| OFFGRID LI1Mdrop 5 |
| } |
| "r_47_X.1b" { |
| @ X.1b: off 0.005 grid LICM1drop vertex |
| OFFGRID LICM1drop 5 |
| } |
| "r_48_X.1b" { |
| @ X.1b: off 0.005 grid PSDMdrop vertex |
| OFFGRID PSDMdrop 5 |
| } |
| "r_49_X.1b" { |
| @ X.1b: off 0.005 grid NSDMdrop vertex |
| OFFGRID NSDMdrop 5 |
| } |
| "r_50_X.1b" { |
| @ X.1b: off 0.005 grid FOMdrop vertex |
| OFFGRID FOMdrop 5 |
| } |
| "r_51_X.1b" { |
| @ X.1b: off 0.005 grid NTMadd vertex |
| OFFGRID NTMadd 5 |
| } |
| "r_52_X.1b" { |
| @ X.1b: off 0.005 grid LVTNMadd vertex |
| OFFGRID LVTNMadd 5 |
| } |
| "r_53_X.1b" { |
| @ X.1b: off 0.005 grid HVTPMadd vertex |
| OFFGRID HVTPMadd 5 |
| } |
| "r_54_X.1b" { |
| @ X.1b: off 0.005 grid LI1Madd vertex |
| OFFGRID LI1Madd 5 |
| } |
| "r_55_X.1b" { |
| @ X.1b: off 0.005 grid LICM1add vertex |
| OFFGRID LICM1add 5 |
| } |
| "r_56_X.1b" { |
| @ X.1b: off 0.005 grid PSDMadd vertex |
| OFFGRID PSDMadd 5 |
| } |
| "r_57_X.1b" { |
| @ X.1b: off 0.005 grid NSDMadd vertex |
| OFFGRID NSDMadd 5 |
| } |
| "r_58_X.1b" { |
| @ X.1b: off 0.005 grid FOMadd vertex |
| OFFGRID FOMadd 5 |
| } |
| "r_59_X.1b" { |
| @ X.1b: off 0.005 grid PMM2mk vertex |
| OFFGRID PMM2mk 5 |
| } |
| "r_60_X.1b" { |
| @ X.1b: off 0.005 grid CU1Mmk vertex |
| OFFGRID CU1Mmk 5 |
| } |
| "r_61_X.1b" { |
| @ X.1b: off 0.005 grid RPMmk vertex |
| OFFGRID RPMmk 5 |
| } |
| "r_62_X.1b" { |
| @ X.1b: off 0.005 grid PBOmk vertex |
| OFFGRID PBOmk 5 |
| } |
| "r_63_X.1b" { |
| @ X.1b: off 0.005 grid PDMmk vertex |
| OFFGRID PDMmk 5 |
| } |
| "r_64_X.1b" { |
| @ X.1b: off 0.005 grid NSMmk vertex |
| OFFGRID NSMmk 5 |
| } |
| "r_65_X.1b" { |
| @ X.1b: off 0.005 grid MM5mk vertex |
| OFFGRID MM5mk 5 |
| } |
| "r_66_X.1b" { |
| @ X.1b: off 0.005 grid VIM4mk vertex |
| OFFGRID VIM4mk 5 |
| } |
| "r_67_X.1b" { |
| @ X.1b: off 0.005 grid MM4mk vertex |
| OFFGRID MM4mk 5 |
| } |
| "r_68_X.1b" { |
| @ X.1b: off 0.005 grid VIM3mk vertex |
| OFFGRID VIM3mk 5 |
| } |
| "r_69_X.1b" { |
| @ X.1b: off 0.005 grid MM3mk vertex |
| OFFGRID MM3mk 5 |
| } |
| "r_70_X.1b" { |
| @ X.1b: off 0.005 grid VIM2mk vertex |
| OFFGRID VIM2mk 5 |
| } |
| "r_71_X.1b" { |
| @ X.1b: off 0.005 grid CTM1mk vertex |
| OFFGRID CTM1mk 5 |
| } |
| "r_72_X.1b" { |
| @ X.1b: off 0.005 grid LI1Mmk vertex |
| OFFGRID LI1Mmk 5 |
| } |
| "r_73_X.1b" { |
| @ X.1b: off 0.005 grid LICM1mk vertex |
| OFFGRID LICM1mk 5 |
| } |
| "r_74_X.1b" { |
| @ X.1b: off 0.005 grid PSDMmk vertex |
| OFFGRID PSDMmk 5 |
| } |
| "r_75_X.1b" { |
| @ X.1b: off 0.005 grid NSDMmk vertex |
| OFFGRID NSDMmk 5 |
| } |
| "r_76_X.1b" { |
| @ X.1b: off 0.005 grid LDNTMmk vertex |
| OFFGRID LDNTMmk 5 |
| } |
| "r_77_X.1b" { |
| @ X.1b: off 0.005 grid NPCMmk vertex |
| OFFGRID NPCMmk 5 |
| } |
| "r_78_X.1b" { |
| @ X.1b: off 0.005 grid HVNTMmk vertex |
| OFFGRID HVNTMmk 5 |
| } |
| "r_79_X.1b" { |
| @ X.1b: off 0.005 grid NTMmk vertex |
| OFFGRID NTMmk 5 |
| } |
| "r_80_X.1b" { |
| @ X.1b: off 0.005 grid LVOMmk vertex |
| OFFGRID LVOMmk 5 |
| } |
| "r_81_X.1b" { |
| @ X.1b: off 0.005 grid ONOMmk vertex |
| OFFGRID ONOMmk 5 |
| } |
| "r_82_X.1b" { |
| @ X.1b: off 0.005 grid TUNMmk vertex |
| OFFGRID TUNMmk 5 |
| } |
| "r_83_X.1b" { |
| @ X.1b: off 0.005 grid HVTRMmk vertex |
| OFFGRID HVTRMmk 5 |
| } |
| "r_84_X.1b" { |
| @ X.1b: off 0.005 grid HVTPMmk vertex |
| OFFGRID HVTPMmk 5 |
| } |
| "r_85_X.1b" { |
| @ X.1b: off 0.005 grid LVTNMmk vertex |
| OFFGRID LVTNMmk 5 |
| } |
| "r_86_X.1b" { |
| @ X.1b: off 0.005 grid NWMmk vertex |
| OFFGRID NWMmk 5 |
| } |
| "r_87_X.1b" { |
| @ X.1b: off 0.005 grid DNMmk vertex |
| OFFGRID DNMmk 5 |
| } |
| "r_88_X.1b" { |
| @ X.1b: off 0.005 grid FOMmk vertex |
| OFFGRID FOMmk 5 |
| } |
| "r_89_X.1b" { |
| @ X.1b: off 0.005 grid cfom vertex |
| OFFGRID cfom 5 |
| } |
| "r_90_X.1b" { |
| @ X.1b: off 0.005 grid clvtnm vertex |
| OFFGRID clvtnm 5 |
| } |
| "r_91_X.1b" { |
| @ X.1b: off 0.005 grid chvtpm vertex |
| OFFGRID chvtpm 5 |
| } |
| "r_92_X.1b" { |
| @ X.1b: off 0.005 grid conom vertex |
| OFFGRID conom 5 |
| } |
| "r_93_X.1b" { |
| @ X.1b: off 0.005 grid clvom vertex |
| OFFGRID clvom 5 |
| } |
| "r_94_X.1b" { |
| @ X.1b: off 0.005 grid cntm vertex |
| OFFGRID cntm 5 |
| } |
| "r_95_X.1b" { |
| @ X.1b: off 0.005 grid chvntm vertex |
| OFFGRID chvntm 5 |
| } |
| "r_96_X.1b" { |
| @ X.1b: off 0.005 grid cnpc vertex |
| OFFGRID cnpc 5 |
| } |
| "r_97_X.1b" { |
| @ X.1b: off 0.005 grid cnsdm vertex |
| OFFGRID cnsdm 5 |
| } |
| "r_98_X.1b" { |
| @ X.1b: off 0.005 grid cpsdm vertex |
| OFFGRID cpsdm 5 |
| } |
| "r_99_X.1b" { |
| @ X.1b: off 0.005 grid cli1m vertex |
| OFFGRID cli1m 5 |
| } |
| "r_100_X.1b" { |
| @ X.1b: off 0.005 grid cviam3 vertex |
| OFFGRID cviam3 5 |
| } |
| "r_101_X.1b" { |
| @ X.1b: off 0.005 grid cviam4 vertex |
| OFFGRID cviam4 5 |
| } |
| "r_102_X.1a" { |
| @ X.1a: off 0.001 grid P1Mmk vertex |
| OFFGRID P1Mmk 1 |
| } |
| "r_103_X.1a" { |
| @ X.1a: off 0.001 grid P1Madd vertex |
| OFFGRID P1Madd 1 |
| } |
| "r_104_X.1a" { |
| @ X.1a: off 0.001 grid P1Mdrop vertex |
| OFFGRID P1Mdrop 1 |
| } |
| "r_105_X.1a" { |
| @ X.1a: off 0.001 grid VIMmk vertex |
| OFFGRID VIMmk 1 |
| } |
| "r_106_X.1a" { |
| @ X.1a: off 0.001 grid MM1mk vertex |
| OFFGRID MM1mk 1 |
| } |
| "r_107_X.1a" { |
| @ X.1a: off 0.001 grid MM2mk vertex |
| OFFGRID MM2mk 1 |
| } |
| "r_108_X.1a" { |
| @ X.1a: off 0.001 grid pmm vertex |
| OFFGRID pmm 1 |
| } |
| "r_109_X.1a" { |
| @ X.1a: off 0.001 grid rdl vertex |
| OFFGRID rdl 1 |
| } |
| "r_110_X.1a" { |
| @ X.1a: off 0.001 grid pmm2 vertex |
| OFFGRID pmm2 1 |
| } |
| "r_111_X.1a" { |
| @ X.1a: off 0.001 grid ubm vertex |
| OFFGRID ubm 1 |
| } |
| "r_112_X.1a" { |
| @ X.1a: off 0.001 grid bump vertex |
| OFFGRID bump 1 |
| } |
| //adding capm, cap2m |
| "r_113_X.1a" { |
| @ X.1: off 0.001 grid capm vertex |
| OFFGRID capm 1 |
| } |
| "r_114_X.1a" { |
| @ X.1: off 0.001 grid cap2m vertex |
| OFFGRID cap2m 1 |
| } |
| /// |
| diffNotAdvSeal6um = diff NOT (SEALID_6um OR diffRingSeal) |
| "r_113_X.2" { |
| @ X.2: non-manhattan diffNotAdvSeal6um edge |
| ANGLE diffNotAdvSeal6um > 0 < 90 |
| } |
| "r_114_X.2" { |
| @ X.2: non-manhattan tap_nonSEAL edge |
| ANGLE tap_nonSEAL > 0 < 90 |
| } |
| "r_115_X.2" { |
| @ X.2: non-manhattan poly_noESD_noAnch edge |
| ANGLE poly_noESD_noAnch > 0 < 90 |
| } |
| "r_116_X.2" { |
| @ X.2: non-manhattan li1Peri_noSEAL_noAnch edge |
| ANGLE li1Peri_noSEAL_noAnch > 0 < 90 |
| } |
| "r_117_X.2" { |
| @ X.2: non-manhattan licon_nonSEAL edge |
| ANGLE licon_nonSEAL > 0 < 90 |
| } |
| "r_118_X.2" { |
| @ X.2: non-manhattan mcon_nonSEAL edge |
| ANGLE mcon_nonSEAL > 0 < 90 |
| } |
| "r_119_X.2" { |
| @ X.2: non-manhattan via_nonSEAL edge |
| ANGLE via_nonSEAL > 0 < 90 |
| } |
| "r_120_X.2" { |
| @ X.2: non-manhattan via2_nonSEAL edge |
| ANGLE via2_nonSEAL > 0 < 90 |
| } |
| "r_121_X.2" { |
| @ X.2: non-manhattan via3_nonSEAL edge |
| ANGLE via3_nonSEAL > 0 < 90 |
| } |
| "r_122_X.2" { |
| @ X.2: non-manhattan via4_nonSEAL edge |
| ANGLE via4_nonSEAL > 0 < 90 |
| } |
| analog_difftap = diffTap INSIDE ANALOGID |
| bad_analog_difftap = NOT RECTANGLE analog_difftap |
| "r_123_X.2a" { |
| @ X.2a: difftap enclosed in areaid.analog must be rectangular |
| COPY bad_analog_difftap |
| } |
| "r_124_X.3a" { |
| @ X.3a: non-octagonal nwell edge |
| ANGLE nwell > 0 < 45 |
| ANGLE nwell > 45 < 90 |
| } |
| "r_125_X.3a" { |
| @ X.3a: non-octagonal diff edge |
| ANGLE diff > 0 < 45 |
| ANGLE diff > 45 < 90 |
| } |
| "r_126_X.3a" { |
| @ X.3a: non-octagonal dnwell edge |
| ANGLE dnwell > 0 < 45 |
| ANGLE dnwell > 45 < 90 |
| } |
| "r_127_X.3a" { |
| @ X.3a: non-octagonal lvtn edge |
| ANGLE lvtn > 0 < 45 |
| ANGLE lvtn > 45 < 90 |
| } |
| "r_128_X.3a" { |
| @ X.3a: non-octagonal hvtp edge |
| ANGLE hvtp > 0 < 45 |
| ANGLE hvtp > 45 < 90 |
| } |
| "r_129_X.3a" { |
| @ X.3a: non-octagonal hvi edge |
| ANGLE hvi > 0 < 45 |
| ANGLE hvi > 45 < 90 |
| } |
| "r_130_X.3a" { |
| @ X.3a: non-octagonal tunm edge |
| ANGLE tunm > 0 < 45 |
| ANGLE tunm > 45 < 90 |
| } |
| "r_131_X.3a" { |
| @ X.3a: non-octagonal npc edge |
| ANGLE npc > 0 < 45 |
| ANGLE npc > 45 < 90 |
| } |
| "r_132_X.3a" { |
| @ X.3a: non-octagonal nsdm edge |
| ANGLE nsdm > 0 < 45 |
| ANGLE nsdm > 45 < 90 |
| } |
| "r_133_X.3a" { |
| @ X.3a: non-octagonal psdm edge |
| ANGLE psdm > 0 < 45 |
| ANGLE psdm > 45 < 90 |
| } |
| "r_134_X.3a" { |
| @ X.3a: non-octagonal met1 edge |
| ANGLE met1 > 0 < 45 |
| ANGLE met1 > 45 < 90 |
| } |
| "r_135_X.3a" { |
| @ X.3a: non-octagonal met2 edge |
| ANGLE met2 > 0 < 45 |
| ANGLE met2 > 45 < 90 |
| } |
| "r_136_X.3a" { |
| @ X.3a: non-octagonal vhvi edge |
| ANGLE vhvi > 0 < 45 |
| ANGLE vhvi > 45 < 90 |
| } |
| "r_137_X.3a" { |
| @ X.3a: non-octagonal met3 edge |
| ANGLE met3 > 0 < 45 |
| ANGLE met3 > 45 < 90 |
| } |
| "r_138_X.3a" { |
| @ X.3a: non-octagonal met4 edge |
| ANGLE met4 > 0 < 45 |
| ANGLE met4 > 45 < 90 |
| } |
| "r_139_X.3a" { |
| @ X.3a: non-octagonal met5 edge |
| ANGLE met5 > 0 < 45 |
| ANGLE met5 > 45 < 90 |
| } |
| "r_140_X.3a" { |
| @ X.3a: non-octagonal nsm edge |
| ANGLE nsm > 0 < 45 |
| ANGLE nsm > 45 < 90 |
| } |
| "r_141_X.3a" { |
| @ X.3a: non-octagonal pad edge |
| ANGLE pad > 0 < 45 |
| ANGLE pad > 45 < 90 |
| } |
| "r_142_X.3a" { |
| @ X.3a: non-octagonal ldntm edge |
| ANGLE ldntm > 0 < 45 |
| ANGLE ldntm > 45 < 90 |
| } |
| "r_143_X.3a" { |
| @ X.3a: non-octagonal hvntm edge |
| ANGLE hvntm > 0 < 45 |
| ANGLE hvntm > 45 < 90 |
| } |
| "r_144_X.3a" { |
| @ X.3a: non-octagonal pnp edge |
| ANGLE pnp > 0 < 45 |
| ANGLE pnp > 45 < 90 |
| } |
| "r_145_X.3a" { |
| @ X.3a: non-octagonal capacitor edge |
| ANGLE capacitor > 0 < 45 |
| ANGLE capacitor > 45 < 90 |
| } |
| "r_146_X.3a" { |
| @ X.3a: non-octagonal ncm edge |
| ANGLE ncm > 0 < 45 |
| ANGLE ncm > 45 < 90 |
| } |
| "r_147_X.3a" { |
| @ X.3a: non-octagonal inductor edge |
| ANGLE inductor > 0 < 45 |
| ANGLE inductor > 45 < 90 |
| } |
| "r_148_X.3a" { |
| @ X.3a: non-octagonal rpm edge |
| ANGLE rpm > 0 < 45 |
| ANGLE rpm > 45 < 90 |
| } |
| "r_149_X.3a" { |
| @ X.3a: non-octagonal hvtr edge |
| ANGLE hvtr > 0 < 45 |
| ANGLE hvtr > 45 < 90 |
| } |
| "r_150_X.3a" { |
| @ X.3a: non-octagonal metop1 edge |
| ANGLE metop1 > 0 < 45 |
| ANGLE metop1 > 45 < 90 |
| } |
| "r_151_X.3a" { |
| @ X.3a: non-octagonal metop2 edge |
| ANGLE metop2 > 0 < 45 |
| ANGLE metop2 > 45 < 90 |
| } |
| "r_152_X.3a" { |
| @ X.3a: non-octagonal metop3 edge |
| ANGLE metop3 > 0 < 45 |
| ANGLE metop3 > 45 < 90 |
| } |
| "r_153_X.3a" { |
| @ X.3a: non-octagonal metop4 edge |
| ANGLE metop4 > 0 < 45 |
| ANGLE metop4 > 45 < 90 |
| } |
| "r_154_X.3a" { |
| @ X.3a: non-octagonal metop5 edge |
| ANGLE metop5 > 0 < 45 |
| ANGLE metop5 > 45 < 90 |
| } |
| "r_155_X.3a" { |
| @ X.3a: non-octagonal metop6 edge |
| ANGLE metop6 > 0 < 45 |
| ANGLE metop6 > 45 < 90 |
| } |
| "r_156_X.3a" { |
| @ X.3a: non-octagonal metop7 edge |
| ANGLE metop7 > 0 < 45 |
| ANGLE metop7 > 45 < 90 |
| } |
| "r_157_X.3a" { |
| @ X.3a: non-octagonal metop8 edge |
| ANGLE metop8 > 0 < 45 |
| ANGLE metop8 > 45 < 90 |
| } |
| "r_158_X.3a" { |
| @ X.3a: non-octagonal NTMdrop edge |
| ANGLE NTMdrop > 0 < 45 |
| ANGLE NTMdrop > 45 < 90 |
| } |
| "r_159_X.3a" { |
| @ X.3a: non-octagonal LVTNMdrop edge |
| ANGLE LVTNMdrop > 0 < 45 |
| ANGLE LVTNMdrop > 45 < 90 |
| } |
| "r_160_X.3a" { |
| @ X.3a: non-octagonal HVTPMdrop edge |
| ANGLE HVTPMdrop > 0 < 45 |
| ANGLE HVTPMdrop > 45 < 90 |
| } |
| "r_161_X.3a" { |
| @ X.3a: non-octagonal LI1Mdrop edge |
| ANGLE LI1Mdrop > 0 < 45 |
| ANGLE LI1Mdrop > 45 < 90 |
| } |
| "r_162_X.3a" { |
| @ X.3a: non-octagonal LICM1drop edge |
| ANGLE LICM1drop > 0 < 45 |
| ANGLE LICM1drop > 45 < 90 |
| } |
| "r_163_X.3a" { |
| @ X.3a: non-octagonal PSDMdrop edge |
| ANGLE PSDMdrop > 0 < 45 |
| ANGLE PSDMdrop > 45 < 90 |
| } |
| "r_164_X.3a" { |
| @ X.3a: non-octagonal NSDMdrop edge |
| ANGLE NSDMdrop > 0 < 45 |
| ANGLE NSDMdrop > 45 < 90 |
| } |
| "r_165_X.3a" { |
| @ X.3a: non-octagonal P1Mdrop edge |
| ANGLE P1Mdrop > 0 < 45 |
| ANGLE P1Mdrop > 45 < 90 |
| } |
| "r_166_X.3a" { |
| @ X.3a: non-octagonal FOMdrop edge |
| ANGLE FOMdrop > 0 < 45 |
| ANGLE FOMdrop > 45 < 90 |
| } |
| "r_167_X.3a" { |
| @ X.3a: non-octagonal NTMadd edge |
| ANGLE NTMadd > 0 < 45 |
| ANGLE NTMadd > 45 < 90 |
| } |
| "r_168_X.3a" { |
| @ X.3a: non-octagonal LVTNMadd edge |
| ANGLE LVTNMadd > 0 < 45 |
| ANGLE LVTNMadd > 45 < 90 |
| } |
| "r_169_X.3a" { |
| @ X.3a: non-octagonal HVTPMadd edge |
| ANGLE HVTPMadd > 0 < 45 |
| ANGLE HVTPMadd > 45 < 90 |
| } |
| "r_170_X.3a" { |
| @ X.3a: non-octagonal LI1Madd edge |
| ANGLE LI1Madd > 0 < 45 |
| ANGLE LI1Madd > 45 < 90 |
| } |
| "r_171_X.3a" { |
| @ X.3a: non-octagonal LICM1add edge |
| ANGLE LICM1add > 0 < 45 |
| ANGLE LICM1add > 45 < 90 |
| } |
| "r_172_X.3a" { |
| @ X.3a: non-octagonal PSDMadd edge |
| ANGLE PSDMadd > 0 < 45 |
| ANGLE PSDMadd > 45 < 90 |
| } |
| "r_173_X.3a" { |
| @ X.3a: non-octagonal NSDMadd edge |
| ANGLE NSDMadd > 0 < 45 |
| ANGLE NSDMadd > 45 < 90 |
| } |
| "r_174_X.3a" { |
| @ X.3a: non-octagonal P1Madd edge |
| ANGLE P1Madd > 0 < 45 |
| ANGLE P1Madd > 45 < 90 |
| } |
| "r_175_X.3a" { |
| @ X.3a: non-octagonal FOMadd edge |
| ANGLE FOMadd > 0 < 45 |
| ANGLE FOMadd > 45 < 90 |
| } |
| "r_176_X.3a" { |
| @ X.3a: non-octagonal cfom edge |
| ANGLE cfom > 0 < 45 |
| ANGLE cfom > 45 < 90 |
| } |
| "r_177_X.3a" { |
| @ X.3a: non-octagonal clvtnm edge |
| ANGLE clvtnm > 0 < 45 |
| ANGLE clvtnm > 45 < 90 |
| } |
| "r_178_X.3a" { |
| @ X.3a: non-octagonal chvtpm edge |
| ANGLE chvtpm > 0 < 45 |
| ANGLE chvtpm > 45 < 90 |
| } |
| "r_179_X.3a" { |
| @ X.3a: non-octagonal conom edge |
| ANGLE conom > 0 < 45 |
| ANGLE conom > 45 < 90 |
| } |
| "r_180_X.3a" { |
| @ X.3a: non-octagonal clvom edge |
| ANGLE clvom > 0 < 45 |
| ANGLE clvom > 45 < 90 |
| } |
| "r_181_X.3a" { |
| @ X.3a: non-octagonal cntm edge |
| ANGLE cntm > 0 < 45 |
| ANGLE cntm > 45 < 90 |
| } |
| "r_182_X.3a" { |
| @ X.3a: non-octagonal chvntm edge |
| ANGLE chvntm > 0 < 45 |
| ANGLE chvntm > 45 < 90 |
| } |
| "r_183_X.3a" { |
| @ X.3a: non-octagonal cnpc edge |
| ANGLE cnpc > 0 < 45 |
| ANGLE cnpc > 45 < 90 |
| } |
| "r_184_X.3a" { |
| @ X.3a: non-octagonal cnsdm edge |
| ANGLE cnsdm > 0 < 45 |
| ANGLE cnsdm > 45 < 90 |
| } |
| "r_185_X.3a" { |
| @ X.3a: non-octagonal cpsdm edge |
| ANGLE cpsdm > 0 < 45 |
| ANGLE cpsdm > 45 < 90 |
| } |
| "r_186_X.3a" { |
| @ X.3a: non-octagonal cli1m edge |
| ANGLE cli1m > 0 < 45 |
| ANGLE cli1m > 45 < 90 |
| } |
| "r_187_X.3a" { |
| @ X.3a: non-octagonal cviam3 edge |
| ANGLE cviam3 > 0 < 45 |
| ANGLE cviam3 > 45 < 90 |
| } |
| "r_188_X.3a" { |
| @ X.3a: non-octagonal cviam4 edge |
| ANGLE cviam4 > 0 < 45 |
| ANGLE cviam4 > 45 < 90 |
| } |
| "r_189_X.3a" { |
| @ X.3a: non-octagonal PMM2mk edge |
| ANGLE PMM2mk > 0 < 45 |
| ANGLE PMM2mk > 45 < 90 |
| } |
| "r_190_X.3a" { |
| @ X.3a: non-octagonal CU1Mmk edge |
| ANGLE CU1Mmk > 0 < 45 |
| ANGLE CU1Mmk > 45 < 90 |
| } |
| "r_191_X.3a" { |
| @ X.3a: non-octagonal RPMmk edge |
| ANGLE RPMmk > 0 < 45 |
| ANGLE RPMmk > 45 < 90 |
| } |
| "r_192_X.3a" { |
| @ X.3a: non-octagonal PBOmk edge |
| ANGLE PBOmk > 0 < 45 |
| ANGLE PBOmk > 45 < 90 |
| } |
| "r_193_X.3a" { |
| @ X.3a: non-octagonal PDMmk edge |
| ANGLE PDMmk > 0 < 45 |
| ANGLE PDMmk > 45 < 90 |
| } |
| "r_194_X.3a" { |
| @ X.3a: non-octagonal NSMmk edge |
| ANGLE NSMmk > 0 < 45 |
| ANGLE NSMmk > 45 < 90 |
| } |
| "r_195_X.3a" { |
| @ X.3a: non-octagonal MM5mk edge |
| ANGLE MM5mk > 0 < 45 |
| ANGLE MM5mk > 45 < 90 |
| } |
| "r_196_X.3a" { |
| @ X.3a: non-octagonal VIM4mk edge |
| ANGLE VIM4mk > 0 < 45 |
| ANGLE VIM4mk > 45 < 90 |
| } |
| "r_197_X.3a" { |
| @ X.3a: non-octagonal MM4mk edge |
| ANGLE MM4mk > 0 < 45 |
| ANGLE MM4mk > 45 < 90 |
| } |
| "r_198_X.3a" { |
| @ X.3a: non-octagonal VIM3mk edge |
| ANGLE VIM3mk > 0 < 45 |
| ANGLE VIM3mk > 45 < 90 |
| } |
| "r_199_X.3a" { |
| @ X.3a: non-octagonal MM3mk edge |
| ANGLE MM3mk > 0 < 45 |
| ANGLE MM3mk > 45 < 90 |
| } |
| "r_200_X.3a" { |
| @ X.3a: non-octagonal VIM2mk edge |
| ANGLE VIM2mk > 0 < 45 |
| ANGLE VIM2mk > 45 < 90 |
| } |
| "r_201_X.3a" { |
| @ X.3a: non-octagonal MM2mk edge |
| ANGLE MM2mk > 0 < 45 |
| ANGLE MM2mk > 45 < 90 |
| } |
| "r_202_X.3a" { |
| @ X.3a: non-octagonal VIMmk edge |
| ANGLE VIMmk > 0 < 45 |
| ANGLE VIMmk > 45 < 90 |
| } |
| "r_203_X.3a" { |
| @ X.3a: non-octagonal MM1mk edge |
| ANGLE MM1mk > 0 < 45 |
| ANGLE MM1mk > 45 < 90 |
| } |
| "r_204_X.3a" { |
| @ X.3a: non-octagonal CTM1mk edge |
| ANGLE CTM1mk > 0 < 45 |
| ANGLE CTM1mk > 45 < 90 |
| } |
| "r_205_X.3a" { |
| @ X.3a: non-octagonal LI1Mmk edge |
| ANGLE LI1Mmk > 0 < 45 |
| ANGLE LI1Mmk > 45 < 90 |
| } |
| "r_206_X.3a" { |
| @ X.3a: non-octagonal LICM1mk edge |
| ANGLE LICM1mk > 0 < 45 |
| ANGLE LICM1mk > 45 < 90 |
| } |
| "r_207_X.3a" { |
| @ X.3a: non-octagonal PSDMmk edge |
| ANGLE PSDMmk > 0 < 45 |
| ANGLE PSDMmk > 45 < 90 |
| } |
| "r_208_X.3a" { |
| @ X.3a: non-octagonal NSDMmk edge |
| ANGLE NSDMmk > 0 < 45 |
| ANGLE NSDMmk > 45 < 90 |
| } |
| "r_209_X.3a" { |
| @ X.3a: non-octagonal LDNTMmk edge |
| ANGLE LDNTMmk > 0 < 45 |
| ANGLE LDNTMmk > 45 < 90 |
| } |
| "r_210_X.3a" { |
| @ X.3a: non-octagonal NPCMmk edge |
| ANGLE NPCMmk > 0 < 45 |
| ANGLE NPCMmk > 45 < 90 |
| } |
| "r_211_X.3a" { |
| @ X.3a: non-octagonal HVNTMmk edge |
| ANGLE HVNTMmk > 0 < 45 |
| ANGLE HVNTMmk > 45 < 90 |
| } |
| "r_212_X.3a" { |
| @ X.3a: non-octagonal NTMmk edge |
| ANGLE NTMmk > 0 < 45 |
| ANGLE NTMmk > 45 < 90 |
| } |
| "r_213_X.3a" { |
| @ X.3a: non-octagonal P1Mmk edge |
| ANGLE P1Mmk > 0 < 45 |
| ANGLE P1Mmk > 45 < 90 |
| } |
| "r_214_X.3a" { |
| @ X.3a: non-octagonal LVOMmk edge |
| ANGLE LVOMmk > 0 < 45 |
| ANGLE LVOMmk > 45 < 90 |
| } |
| "r_215_X.3a" { |
| @ X.3a: non-octagonal ONOMmk edge |
| ANGLE ONOMmk > 0 < 45 |
| ANGLE ONOMmk > 45 < 90 |
| } |
| "r_216_X.3a" { |
| @ X.3a: non-octagonal TUNMmk edge |
| ANGLE TUNMmk > 0 < 45 |
| ANGLE TUNMmk > 45 < 90 |
| } |
| "r_217_X.3a" { |
| @ X.3a: non-octagonal HVTRMmk edge |
| ANGLE HVTRMmk > 0 < 45 |
| ANGLE HVTRMmk > 45 < 90 |
| } |
| "r_218_X.3a" { |
| @ X.3a: non-octagonal HVTPMmk edge |
| ANGLE HVTPMmk > 0 < 45 |
| ANGLE HVTPMmk > 45 < 90 |
| } |
| "r_219_X.3a" { |
| @ X.3a: non-octagonal LVTNMmk edge |
| ANGLE LVTNMmk > 0 < 45 |
| ANGLE LVTNMmk > 45 < 90 |
| } |
| "r_220_X.3a" { |
| @ X.3a: non-octagonal NWMmk edge |
| ANGLE NWMmk > 0 < 45 |
| ANGLE NWMmk > 45 < 90 |
| } |
| "r_221_X.3a" { |
| @ X.3a: non-octagonal DNMmk edge |
| ANGLE DNMmk > 0 < 45 |
| ANGLE DNMmk > 45 < 90 |
| } |
| "r_222_X.3a" { |
| @ X.3a: non-octagonal FOMmk edge |
| ANGLE FOMmk > 0 < 45 |
| ANGLE FOMmk > 45 < 90 |
| } |
| "r_223_X.3a" { |
| @ X.3a: non-octagonal tap_SEAL edge |
| ANGLE tap_SEAL > 0 < 45 |
| ANGLE tap_SEAL > 45 < 90 |
| } |
| "r_224_X.3a" { |
| @ X.3a: non-octagonal tap_ENID edge |
| ANGLE tap_ENID > 0 < 45 |
| ANGLE tap_ENID > 45 < 90 |
| } |
| "r_225_X.3a" { |
| @ X.3a: non-octagonal poly_ESD edge |
| ANGLE poly_ESD > 0 < 45 |
| ANGLE poly_ESD > 45 < 90 |
| } |
| "r_226_X.3a" { |
| @ X.3a: non-octagonal "li1" in core edge |
| ANGLE li1_CORE > 0 < 45 |
| ANGLE li1_CORE > 45 < 90 |
| } |
| "r_227_X.3a" { |
| @ X.3a: non-octagonal li1_SEAL edge |
| ANGLE li1_SEAL > 0 < 45 |
| ANGLE li1_SEAL > 45 < 90 |
| } |
| "r_228_X.3a" { |
| @ X.3a: non-octagonal licon_SEAL edge |
| ANGLE licon_SEAL > 0 < 45 |
| ANGLE licon_SEAL > 45 < 90 |
| } |
| "r_229_X.3a" { |
| @ X.3a: non-octagonal mcon_SEAL edge |
| ANGLE mcon_SEAL > 0 < 45 |
| ANGLE mcon_SEAL > 45 < 90 |
| } |
| "r_230_X.3a" { |
| @ X.3a: non-octagonal via_SEAL edge |
| ANGLE via_SEAL > 0 < 45 |
| ANGLE via_SEAL > 45 < 90 |
| } |
| "r_231_X.3a" { |
| @ X.3a: non-octagonal via2_SEAL edge |
| ANGLE via2_SEAL > 0 < 45 |
| ANGLE via2_SEAL > 45 < 90 |
| } |
| "r_232_X.3a" { |
| @ X.3a: non-octagonal via3_SEAL edge |
| ANGLE via3_SEAL > 0 < 45 |
| ANGLE via3_SEAL > 45 < 90 |
| } |
| //adding capm, cap2m |
| "r_233_X.3a" { |
| @ X.3a: non-octagonal capm edge |
| ANGLE capm > 0 < 45 |
| ANGLE capm > 45 < 90 |
| } |
| "r_234_X.3a" { |
| @ X.3a: non-octagonal cap2m edge |
| ANGLE cap2m > 0 < 45 |
| ANGLE cap2m > 45 < 90 |
| } |
| |
| /// |
| /// X.4 is not checked |
| "r_233_X.5" { |
| @ X.5: met5Pin must be enclosed by met5 |
| met5Pin NOT met5 |
| } |
| "r_234_X.5" { |
| @ X.5: met4Pin must be enclosed by met4 |
| met4Pin NOT met4 |
| } |
| "r_235_X.5" { |
| @ X.5: met3Pin must be enclosed by met3 |
| met3Pin NOT met3 |
| } |
| "r_236_X.5" { |
| @ X.5: met2Pin must be enclosed by met2 |
| met2Pin NOT met2 |
| } |
| "r_237_X.5" { |
| @ X.5: met1Pin must be enclosed by met1 |
| met1Pin NOT met1 |
| } |
| "r_238_X.5" { |
| @ X.5: li1Pin must be enclosed by li1 |
| li1Pin NOT li1 |
| } |
| "r_239_X.5" { |
| @ X.5: polyPin must be enclosed by poly |
| polyPin NOT poly |
| } |
| "r_240_X.5" { |
| @ X.5: diffPin must be enclosed by diff |
| diffPin NOT diff |
| } |
| /// X.6 is handled by SpaceNotch checks |
| /// X.7 is handled by Final mask checks (s.* rules) |
| /// X.8 is not checked |
| "r_241_X.9" { |
| @ X.9: NTMdrop must be enclosed by COREID |
| NTMdrop NOT COREID |
| } |
| "r_242_X.9" { |
| @ X.9: LVTNMdrop must be enclosed by COREID |
| LVTNMdrop NOT COREID |
| } |
| "r_243_X.9" { |
| @ X.9: HVTPMdrop must be enclosed by COREID |
| HVTPMdrop NOT COREID |
| } |
| "r_244_X.9" { |
| @ X.9: LI1Mdrop must be enclosed by COREID |
| LI1Mdrop NOT COREID |
| } |
| "r_245_X.9" { |
| @ X.9: LICM1drop must be enclosed by COREID |
| LICM1drop NOT COREID |
| } |
| "r_246_X.9" { |
| @ X.9: PSDMdrop must be enclosed by COREID |
| PSDMdrop NOT COREID |
| } |
| "r_247_X.9" { |
| @ X.9: NSDMdrop must be enclosed by COREID |
| NSDMdrop NOT COREID |
| } |
| "r_248_X.9" { |
| @ X.9: P1Mdrop must be enclosed by COREID |
| P1Mdrop NOT COREID |
| } |
| "r_249_X.9" { |
| @ X.9: NTMadd must be enclosed by COREID |
| NTMadd NOT COREID |
| } |
| "r_250_X.9" { |
| @ X.9: LVTNMadd must be enclosed by COREID |
| LVTNMadd NOT COREID |
| } |
| "r_251_X.9" { |
| @ X.9: HVTPMadd must be enclosed by COREID |
| HVTPMadd NOT COREID |
| } |
| "r_252_X.9" { |
| @ X.9: LI1Madd must be enclosed by COREID |
| LI1Madd NOT COREID |
| } |
| "r_253_X.9" { |
| @ X.9: LICM1add must be enclosed by COREID |
| LICM1add NOT COREID |
| } |
| "r_254_X.9" { |
| @ X.9: PSDMadd must be enclosed by COREID |
| PSDMadd NOT COREID |
| } |
| "r_255_X.9" { |
| @ X.9: NSDMadd must be enclosed by COREID |
| NSDMadd NOT COREID |
| } |
| "r_256_X.9" { |
| @ X.9: P1Madd must be enclosed by COREID |
| P1Madd NOT COREID |
| } |
| "r_257_X.9" { |
| @ X.9: FOMadd must be enclosed by COREID |
| FOMadd NOT COREID |
| } |
| FOMdrop_noSeal = FOMdrop NOT SEALID_6um |
| "r_258_X.9" { |
| @ X.9: FOM outside advSeal_6um must be enclosed by COREID |
| FOMdrop_noSeal NOT COREID |
| } |
| "r_259_X.10" { |
| @ X.10: diffres must not overlap licon1 |
| diffres AND licon1 |
| } |
| "r_260_X.10" { |
| @ X.10: polyres must not overlap licon1 |
| polyres AND licon1 |
| } |
| /// X.11 is handled by lvs |
| CoreidOrStdcid = COREID OR STDCID |
| mcon_NOTAreaidStdCellCore = mcon NOT CoreidOrStdcid |
| q0_mcon_NOTAreaidStdCellCore_single_via = COPY q0_mcon_NOTAreaidStdCellCore_single_via_temp2 |
| q0_mcon_NOTAreaidStdCellCore_single_via_temp1 = mcon_NOTAreaidStdCellCore AND (INTERACT (li1 AND met1) mcon_NOTAreaidStdCellCore == 1) |
| q0_mcon_NOTAreaidStdCellCore_single_via_temp2 = RECTANGLE q0_mcon_NOTAreaidStdCellCore_single_via_temp1 ORTHOGONAL ONLY |
| q0_mcon_NOTAreaidStdCellCore_lay1_enc = SIZE q0_mcon_NOTAreaidStdCellCore_single_via BY 0 |
| q0_mcon_NOTAreaidStdCellCore_lay3_enc = SIZE q0_mcon_NOTAreaidStdCellCore_single_via BY 0.06 |
| q0_mcon_NOTAreaidStdCellCore_lay1_right = (GROW (GROW q0_mcon_NOTAreaidStdCellCore_single_via RIGHT BY 0.36) TOP BY 0 BOTTOM BY 0) NOT q0_mcon_NOTAreaidStdCellCore_lay1_enc |
| q0_mcon_NOTAreaidStdCellCore_lay3_right = (GROW (GROW q0_mcon_NOTAreaidStdCellCore_single_via RIGHT BY 0.42) TOP BY 0.06 BOTTOM BY 0.06) NOT q0_mcon_NOTAreaidStdCellCore_lay3_enc |
| q0_mcon_NOTAreaidStdCellCore_lay1_top = (GROW (GROW q0_mcon_NOTAreaidStdCellCore_single_via TOP BY 0.36) LEFT BY 0 RIGHT BY 0) NOT q0_mcon_NOTAreaidStdCellCore_lay1_enc |
| q0_mcon_NOTAreaidStdCellCore_lay3_top = (GROW (GROW q0_mcon_NOTAreaidStdCellCore_single_via TOP BY 0.42) LEFT BY 0.06 RIGHT BY 0.06) NOT q0_mcon_NOTAreaidStdCellCore_lay3_enc |
| q0_mcon_NOTAreaidStdCellCore_lay1_left = (GROW (GROW q0_mcon_NOTAreaidStdCellCore_single_via LEFT BY 0.36) TOP BY 0 BOTTOM BY 0) NOT q0_mcon_NOTAreaidStdCellCore_lay1_enc |
| q0_mcon_NOTAreaidStdCellCore_lay3_left = (GROW (GROW q0_mcon_NOTAreaidStdCellCore_single_via LEFT BY 0.42) TOP BY 0.06 BOTTOM BY 0.06) NOT q0_mcon_NOTAreaidStdCellCore_lay3_enc |
| q0_mcon_NOTAreaidStdCellCore_lay1_bott = (GROW (GROW q0_mcon_NOTAreaidStdCellCore_single_via BOTTOM BY 0.36) LEFT BY 0 RIGHT BY 0) NOT q0_mcon_NOTAreaidStdCellCore_lay1_enc |
| q0_mcon_NOTAreaidStdCellCore_lay3_bott = (GROW (GROW q0_mcon_NOTAreaidStdCellCore_single_via BOTTOM BY 0.42) LEFT BY 0.06 RIGHT BY 0.06) NOT q0_mcon_NOTAreaidStdCellCore_lay3_enc |
| q0_mcon_NOTAreaidStdCellCore_lay1_right_temp = INTERACT q0_mcon_NOTAreaidStdCellCore_lay1_right (li1 OR q0_mcon_NOTAreaidStdCellCore_lay1_enc) == 1 |
| q0_mcon_NOTAreaidStdCellCore_lay1_right_edge = EXTERNAL [q0_mcon_NOTAreaidStdCellCore_lay1_right_temp] (li1 OR q0_mcon_NOTAreaidStdCellCore_lay1_enc) < 0.17 |
| q0_mcon_NOTAreaidStdCellCore_lay1_right_good = q0_mcon_NOTAreaidStdCellCore_lay1_right_temp NOT WITH EDGE q0_mcon_NOTAreaidStdCellCore_lay1_right_edge |
| q0_mcon_NOTAreaidStdCellCore_lay3_right_temp = INTERACT q0_mcon_NOTAreaidStdCellCore_lay3_right (met1 OR q0_mcon_NOTAreaidStdCellCore_lay3_enc) == 1 |
| q0_mcon_NOTAreaidStdCellCore_lay3_right_edge = EXTERNAL [q0_mcon_NOTAreaidStdCellCore_lay3_right_temp] (met1 OR q0_mcon_NOTAreaidStdCellCore_lay3_enc) < 0.14 |
| q0_mcon_NOTAreaidStdCellCore_lay3_right_good = q0_mcon_NOTAreaidStdCellCore_lay3_right_temp NOT WITH EDGE q0_mcon_NOTAreaidStdCellCore_lay3_right_edge |
| q0_mcon_NOTAreaidStdCellCore_lay1_top_temp = INTERACT q0_mcon_NOTAreaidStdCellCore_lay1_top (li1 OR q0_mcon_NOTAreaidStdCellCore_lay1_enc) == 1 |
| q0_mcon_NOTAreaidStdCellCore_lay1_top_edge = EXTERNAL [q0_mcon_NOTAreaidStdCellCore_lay1_top_temp] (li1 OR q0_mcon_NOTAreaidStdCellCore_lay1_enc) < 0.17 |
| q0_mcon_NOTAreaidStdCellCore_lay1_top_good = q0_mcon_NOTAreaidStdCellCore_lay1_top_temp NOT WITH EDGE q0_mcon_NOTAreaidStdCellCore_lay1_top_edge |
| q0_mcon_NOTAreaidStdCellCore_lay3_top_temp = INTERACT q0_mcon_NOTAreaidStdCellCore_lay3_top (met1 OR q0_mcon_NOTAreaidStdCellCore_lay3_enc) == 1 |
| q0_mcon_NOTAreaidStdCellCore_lay3_top_edge = EXTERNAL [q0_mcon_NOTAreaidStdCellCore_lay3_top_temp] (met1 OR q0_mcon_NOTAreaidStdCellCore_lay3_enc) < 0.14 |
| q0_mcon_NOTAreaidStdCellCore_lay3_top_good = q0_mcon_NOTAreaidStdCellCore_lay3_top_temp NOT WITH EDGE q0_mcon_NOTAreaidStdCellCore_lay3_top_edge |
| q0_mcon_NOTAreaidStdCellCore_lay1_left_temp = INTERACT q0_mcon_NOTAreaidStdCellCore_lay1_left (li1 OR q0_mcon_NOTAreaidStdCellCore_lay1_enc) == 1 |
| q0_mcon_NOTAreaidStdCellCore_lay1_left_edge = EXTERNAL [q0_mcon_NOTAreaidStdCellCore_lay1_left_temp] (li1 OR q0_mcon_NOTAreaidStdCellCore_lay1_enc) < 0.17 |
| q0_mcon_NOTAreaidStdCellCore_lay1_left_good = q0_mcon_NOTAreaidStdCellCore_lay1_left_temp NOT WITH EDGE q0_mcon_NOTAreaidStdCellCore_lay1_left_edge |
| q0_mcon_NOTAreaidStdCellCore_lay3_left_temp = INTERACT q0_mcon_NOTAreaidStdCellCore_lay3_left (met1 OR q0_mcon_NOTAreaidStdCellCore_lay3_enc) == 1 |
| q0_mcon_NOTAreaidStdCellCore_lay3_left_edge = EXTERNAL [q0_mcon_NOTAreaidStdCellCore_lay3_left_temp] (met1 OR q0_mcon_NOTAreaidStdCellCore_lay3_enc) < 0.14 |
| q0_mcon_NOTAreaidStdCellCore_lay3_left_good = q0_mcon_NOTAreaidStdCellCore_lay3_left_temp NOT WITH EDGE q0_mcon_NOTAreaidStdCellCore_lay3_left_edge |
| q0_mcon_NOTAreaidStdCellCore_lay1_bott_temp = INTERACT q0_mcon_NOTAreaidStdCellCore_lay1_bott (li1 OR q0_mcon_NOTAreaidStdCellCore_lay1_enc) == 1 |
| q0_mcon_NOTAreaidStdCellCore_lay1_bott_edge = EXTERNAL [q0_mcon_NOTAreaidStdCellCore_lay1_bott_temp] (li1 OR q0_mcon_NOTAreaidStdCellCore_lay1_enc) < 0.17 |
| q0_mcon_NOTAreaidStdCellCore_lay1_bott_good = q0_mcon_NOTAreaidStdCellCore_lay1_bott_temp NOT WITH EDGE q0_mcon_NOTAreaidStdCellCore_lay1_bott_edge |
| q0_mcon_NOTAreaidStdCellCore_lay3_bott_temp = INTERACT q0_mcon_NOTAreaidStdCellCore_lay3_bott (met1 OR q0_mcon_NOTAreaidStdCellCore_lay3_enc) == 1 |
| q0_mcon_NOTAreaidStdCellCore_lay3_bott_edge = EXTERNAL [q0_mcon_NOTAreaidStdCellCore_lay3_bott_temp] (met1 OR q0_mcon_NOTAreaidStdCellCore_lay3_enc) < 0.14 |
| q0_mcon_NOTAreaidStdCellCore_lay3_bott_good = q0_mcon_NOTAreaidStdCellCore_lay3_bott_temp NOT WITH EDGE q0_mcon_NOTAreaidStdCellCore_lay3_bott_edge |
| q0_mcon_NOTAreaidStdCellCore_temp1b = GROW (GROW q0_mcon_NOTAreaidStdCellCore_lay1_bott_good BOTTOM BY 0.17) LEFT BY 0.17 RIGHT BY 0.17 |
| q0_mcon_NOTAreaidStdCellCore_temp1r = GROW (GROW q0_mcon_NOTAreaidStdCellCore_lay1_right_good RIGHT BY 0.17) TOP BY 0.17 BOTTOM BY 0.17 |
| q0_mcon_NOTAreaidStdCellCore_temp1t = GROW (GROW q0_mcon_NOTAreaidStdCellCore_lay1_top_good TOP BY 0.17) LEFT BY 0.17 RIGHT BY 0.17 |
| q0_mcon_NOTAreaidStdCellCore_temp1l = GROW (GROW q0_mcon_NOTAreaidStdCellCore_lay1_left_good LEFT BY 0.17) TOP BY 0.17 BOTTOM BY 0.17 |
| q0_mcon_NOTAreaidStdCellCore_temp3b = GROW (GROW q0_mcon_NOTAreaidStdCellCore_lay3_bott_good BOTTOM BY 0.14) LEFT BY 0.14 RIGHT BY 0.14 |
| q0_mcon_NOTAreaidStdCellCore_temp3r = GROW (GROW q0_mcon_NOTAreaidStdCellCore_lay3_right_good RIGHT BY 0.14) TOP BY 0.14 BOTTOM BY 0.14 |
| q0_mcon_NOTAreaidStdCellCore_temp3t = GROW (GROW q0_mcon_NOTAreaidStdCellCore_lay3_top_good TOP BY 0.14) LEFT BY 0.14 RIGHT BY 0.14 |
| q0_mcon_NOTAreaidStdCellCore_temp3l = GROW (GROW q0_mcon_NOTAreaidStdCellCore_lay3_left_good LEFT BY 0.14) TOP BY 0.14 BOTTOM BY 0.14 |
| q0_mcon_NOTAreaidStdCellCore_final_lay1_r = q0_mcon_NOTAreaidStdCellCore_lay1_right_good OUTSIDE (q0_mcon_NOTAreaidStdCellCore_temp1t OR (q0_mcon_NOTAreaidStdCellCore_temp1l OR q0_mcon_NOTAreaidStdCellCore_temp1b)) |
| q0_mcon_NOTAreaidStdCellCore_final_lay3_r = q0_mcon_NOTAreaidStdCellCore_lay3_right_good OUTSIDE (q0_mcon_NOTAreaidStdCellCore_temp3t OR (q0_mcon_NOTAreaidStdCellCore_temp3l OR q0_mcon_NOTAreaidStdCellCore_temp3b)) |
| q0_mcon_NOTAreaidStdCellCore_temp1r2 = GROW (GROW q0_mcon_NOTAreaidStdCellCore_final_lay1_r TOP BY 0.17 BOTTOM BY 0.17) RIGHT BY 0.17 |
| q0_mcon_NOTAreaidStdCellCore_temp3r2 = GROW (GROW q0_mcon_NOTAreaidStdCellCore_final_lay3_r TOP BY 0.14 BOTTOM BY 0.14) RIGHT BY 0.14 |
| q0_mcon_NOTAreaidStdCellCore_final_lay1_t = q0_mcon_NOTAreaidStdCellCore_lay1_top_good OUTSIDE (q0_mcon_NOTAreaidStdCellCore_temp1r2 OR (q0_mcon_NOTAreaidStdCellCore_temp1l OR q0_mcon_NOTAreaidStdCellCore_temp1b)) |
| q0_mcon_NOTAreaidStdCellCore_final_lay3_t = q0_mcon_NOTAreaidStdCellCore_lay3_top_good OUTSIDE (q0_mcon_NOTAreaidStdCellCore_temp3r2 OR (q0_mcon_NOTAreaidStdCellCore_temp3l OR q0_mcon_NOTAreaidStdCellCore_temp3b)) |
| q0_mcon_NOTAreaidStdCellCore_temp1t2 = GROW (GROW q0_mcon_NOTAreaidStdCellCore_final_lay1_t LEFT BY 0.17 RIGHT BY 0.17) TOP BY 0.17 |
| q0_mcon_NOTAreaidStdCellCore_temp3t2 = GROW (GROW q0_mcon_NOTAreaidStdCellCore_final_lay3_t LEFT BY 0.14 RIGHT BY 0.14) TOP BY 0.14 |
| q0_mcon_NOTAreaidStdCellCore_final_lay1_l = q0_mcon_NOTAreaidStdCellCore_lay1_left_good OUTSIDE (q0_mcon_NOTAreaidStdCellCore_temp1r2 OR (q0_mcon_NOTAreaidStdCellCore_temp1t2 OR q0_mcon_NOTAreaidStdCellCore_temp1b)) |
| q0_mcon_NOTAreaidStdCellCore_final_lay3_l = q0_mcon_NOTAreaidStdCellCore_lay3_left_good OUTSIDE (q0_mcon_NOTAreaidStdCellCore_temp3r2 OR (q0_mcon_NOTAreaidStdCellCore_temp3t2 OR q0_mcon_NOTAreaidStdCellCore_temp3b)) |
| q0_mcon_NOTAreaidStdCellCore_temp1l2 = GROW (GROW q0_mcon_NOTAreaidStdCellCore_final_lay1_l TOP BY 0.17 BOTTOM BY 0.17) LEFT BY 0.17 |
| q0_mcon_NOTAreaidStdCellCore_temp3l2 = GROW (GROW q0_mcon_NOTAreaidStdCellCore_final_lay3_l TOP BY 0.14 BOTTOM BY 0.14) LEFT BY 0.14 |
| q0_mcon_NOTAreaidStdCellCore_final_lay1_b = q0_mcon_NOTAreaidStdCellCore_lay1_bott_good OUTSIDE (q0_mcon_NOTAreaidStdCellCore_temp1r2 OR (q0_mcon_NOTAreaidStdCellCore_temp1t2 OR q0_mcon_NOTAreaidStdCellCore_temp1l2)) |
| q0_mcon_NOTAreaidStdCellCore_final_lay3_b = q0_mcon_NOTAreaidStdCellCore_lay3_bott_good OUTSIDE (q0_mcon_NOTAreaidStdCellCore_temp3r2 OR (q0_mcon_NOTAreaidStdCellCore_temp3t2 OR q0_mcon_NOTAreaidStdCellCore_temp3l2)) |
| q0_mcon_NOTAreaidStdCellCore_tmp_vias = GROW q0_mcon_NOTAreaidStdCellCore_single_via RIGHT BY 0.36 TOP BY 0.36 LEFT BY 0.36 BOTTOM BY 0.36 |
| q0_mcon_NOTAreaidStdCellCore_new_vias = q0_mcon_NOTAreaidStdCellCore_tmp_vias NOT (GROW q0_mcon_NOTAreaidStdCellCore_single_via RIGHT BY 0.19 TOP BY 0.19 LEFT BY 0.19 BOTTOM BY 0.19) |
| q0_mcon_NOTAreaidStdCellCore_added_vias = q0_mcon_NOTAreaidStdCellCore_new_vias INSIDE ((q0_mcon_NOTAreaidStdCellCore_final_lay1_r AND q0_mcon_NOTAreaidStdCellCore_final_lay3_r) OR ((q0_mcon_NOTAreaidStdCellCore_final_lay1_t AND q0_mcon_NOTAreaidStdCellCore_final_lay3_t) OR ((q0_mcon_NOTAreaidStdCellCore_final_lay1_l AND q0_mcon_NOTAreaidStdCellCore_final_lay3_l) OR (q0_mcon_NOTAreaidStdCellCore_final_lay1_b AND q0_mcon_NOTAreaidStdCellCore_final_lay3_b)))) |
| q0_mcon_NOTAreaidStdCellCore_added_below = (INTERACT q0_mcon_NOTAreaidStdCellCore_final_lay1_r q0_mcon_NOTAreaidStdCellCore_added_vias) OR ((INTERACT q0_mcon_NOTAreaidStdCellCore_final_lay1_t q0_mcon_NOTAreaidStdCellCore_added_vias) OR ((INTERACT q0_mcon_NOTAreaidStdCellCore_final_lay1_l q0_mcon_NOTAreaidStdCellCore_added_vias) OR (INTERACT q0_mcon_NOTAreaidStdCellCore_final_lay1_b q0_mcon_NOTAreaidStdCellCore_added_vias))) |
| q0_mcon_NOTAreaidStdCellCore_added_above = (INTERACT q0_mcon_NOTAreaidStdCellCore_final_lay3_r q0_mcon_NOTAreaidStdCellCore_added_vias) OR ((INTERACT q0_mcon_NOTAreaidStdCellCore_final_lay3_t q0_mcon_NOTAreaidStdCellCore_added_vias) OR ((INTERACT q0_mcon_NOTAreaidStdCellCore_final_lay3_l q0_mcon_NOTAreaidStdCellCore_added_vias) OR (INTERACT q0_mcon_NOTAreaidStdCellCore_final_lay3_b q0_mcon_NOTAreaidStdCellCore_added_vias))) |
| q0_mcon_NOTAreaidStdCellCore_doubled_vias = INTERACT q0_mcon_NOTAreaidStdCellCore_single_via (TOUCH q0_mcon_NOTAreaidStdCellCore_lay1_enc q0_mcon_NOTAreaidStdCellCore_added_below) |
| "v_0_q0_mcon_NOTAreaidStdCellCore_added_vias" { |
| @ addedViaLayer: q0_mcon_NOTAreaidStdCellCore_added_vias - q0_mcon_NOTAreaidStdCellCore_added_vias |
| @ single mcon_NOTAreaidStdCellCore that can be doubled |
| COPY q0_mcon_NOTAreaidStdCellCore_added_vias |
| } |
| "v_1_q0_mcon_NOTAreaidStdCellCore_added_below" { |
| @ addedViaLayer: q0_mcon_NOTAreaidStdCellCore_added_below - q0_mcon_NOTAreaidStdCellCore_added_below |
| @ single mcon_NOTAreaidStdCellCore that can be doubled |
| COPY q0_mcon_NOTAreaidStdCellCore_added_below |
| } |
| "v_2_q0_mcon_NOTAreaidStdCellCore_added_above" { |
| @ addedViaLayer: q0_mcon_NOTAreaidStdCellCore_added_above - q0_mcon_NOTAreaidStdCellCore_added_above |
| @ single mcon_NOTAreaidStdCellCore that can be doubled |
| COPY q0_mcon_NOTAreaidStdCellCore_added_above |
| } |
| "s_0_X.18" { |
| @ single mcon_NOTAreaidStdCellCore that can be doubled |
| COPY q0_mcon_NOTAreaidStdCellCore_doubled_vias |
| } |
| via_NOTAreaidStdCellCore = via NOT CoreidOrStdcid |
| q0_via_NOTAreaidStdCellCore_single_via = COPY q0_via_NOTAreaidStdCellCore_single_via_temp2 |
| q0_via_NOTAreaidStdCellCore_single_via_temp1 = via_NOTAreaidStdCellCore AND (INTERACT (met1 AND met2) via_NOTAreaidStdCellCore == 1) |
| q0_via_NOTAreaidStdCellCore_single_via_temp2 = RECTANGLE q0_via_NOTAreaidStdCellCore_single_via_temp1 ORTHOGONAL ONLY |
| q0_via_NOTAreaidStdCellCore_lay1_enc = SIZE q0_via_NOTAreaidStdCellCore_single_via BY 0.085 |
| q0_via_NOTAreaidStdCellCore_lay3_enc = SIZE q0_via_NOTAreaidStdCellCore_single_via BY 0.085 |
| q0_via_NOTAreaidStdCellCore_lay1_right = (GROW (GROW q0_via_NOTAreaidStdCellCore_single_via RIGHT BY 0.405) TOP BY 0.085 BOTTOM BY 0.085) NOT q0_via_NOTAreaidStdCellCore_lay1_enc |
| q0_via_NOTAreaidStdCellCore_lay3_right = (GROW (GROW q0_via_NOTAreaidStdCellCore_single_via RIGHT BY 0.405) TOP BY 0.085 BOTTOM BY 0.085) NOT q0_via_NOTAreaidStdCellCore_lay3_enc |
| q0_via_NOTAreaidStdCellCore_lay1_top = (GROW (GROW q0_via_NOTAreaidStdCellCore_single_via TOP BY 0.405) LEFT BY 0.085 RIGHT BY 0.085) NOT q0_via_NOTAreaidStdCellCore_lay1_enc |
| q0_via_NOTAreaidStdCellCore_lay3_top = (GROW (GROW q0_via_NOTAreaidStdCellCore_single_via TOP BY 0.405) LEFT BY 0.085 RIGHT BY 0.085) NOT q0_via_NOTAreaidStdCellCore_lay3_enc |
| q0_via_NOTAreaidStdCellCore_lay1_left = (GROW (GROW q0_via_NOTAreaidStdCellCore_single_via LEFT BY 0.405) TOP BY 0.085 BOTTOM BY 0.085) NOT q0_via_NOTAreaidStdCellCore_lay1_enc |
| q0_via_NOTAreaidStdCellCore_lay3_left = (GROW (GROW q0_via_NOTAreaidStdCellCore_single_via LEFT BY 0.405) TOP BY 0.085 BOTTOM BY 0.085) NOT q0_via_NOTAreaidStdCellCore_lay3_enc |
| q0_via_NOTAreaidStdCellCore_lay1_bott = (GROW (GROW q0_via_NOTAreaidStdCellCore_single_via BOTTOM BY 0.405) LEFT BY 0.085 RIGHT BY 0.085) NOT q0_via_NOTAreaidStdCellCore_lay1_enc |
| q0_via_NOTAreaidStdCellCore_lay3_bott = (GROW (GROW q0_via_NOTAreaidStdCellCore_single_via BOTTOM BY 0.405) LEFT BY 0.085 RIGHT BY 0.085) NOT q0_via_NOTAreaidStdCellCore_lay3_enc |
| q0_via_NOTAreaidStdCellCore_lay1_right_temp = INTERACT q0_via_NOTAreaidStdCellCore_lay1_right (met1 OR q0_via_NOTAreaidStdCellCore_lay1_enc) == 1 |
| q0_via_NOTAreaidStdCellCore_lay1_right_edge = EXTERNAL [q0_via_NOTAreaidStdCellCore_lay1_right_temp] (met1 OR q0_via_NOTAreaidStdCellCore_lay1_enc) < 0.14 |
| q0_via_NOTAreaidStdCellCore_lay1_right_good = q0_via_NOTAreaidStdCellCore_lay1_right_temp NOT WITH EDGE q0_via_NOTAreaidStdCellCore_lay1_right_edge |
| q0_via_NOTAreaidStdCellCore_lay3_right_temp = INTERACT q0_via_NOTAreaidStdCellCore_lay3_right (met2 OR q0_via_NOTAreaidStdCellCore_lay3_enc) == 1 |
| q0_via_NOTAreaidStdCellCore_lay3_right_edge = EXTERNAL [q0_via_NOTAreaidStdCellCore_lay3_right_temp] (met2 OR q0_via_NOTAreaidStdCellCore_lay3_enc) < 0.14 |
| q0_via_NOTAreaidStdCellCore_lay3_right_good = q0_via_NOTAreaidStdCellCore_lay3_right_temp NOT WITH EDGE q0_via_NOTAreaidStdCellCore_lay3_right_edge |
| q0_via_NOTAreaidStdCellCore_lay1_top_temp = INTERACT q0_via_NOTAreaidStdCellCore_lay1_top (met1 OR q0_via_NOTAreaidStdCellCore_lay1_enc) == 1 |
| q0_via_NOTAreaidStdCellCore_lay1_top_edge = EXTERNAL [q0_via_NOTAreaidStdCellCore_lay1_top_temp] (met1 OR q0_via_NOTAreaidStdCellCore_lay1_enc) < 0.14 |
| q0_via_NOTAreaidStdCellCore_lay1_top_good = q0_via_NOTAreaidStdCellCore_lay1_top_temp NOT WITH EDGE q0_via_NOTAreaidStdCellCore_lay1_top_edge |
| q0_via_NOTAreaidStdCellCore_lay3_top_temp = INTERACT q0_via_NOTAreaidStdCellCore_lay3_top (met2 OR q0_via_NOTAreaidStdCellCore_lay3_enc) == 1 |
| q0_via_NOTAreaidStdCellCore_lay3_top_edge = EXTERNAL [q0_via_NOTAreaidStdCellCore_lay3_top_temp] (met2 OR q0_via_NOTAreaidStdCellCore_lay3_enc) < 0.14 |
| q0_via_NOTAreaidStdCellCore_lay3_top_good = q0_via_NOTAreaidStdCellCore_lay3_top_temp NOT WITH EDGE q0_via_NOTAreaidStdCellCore_lay3_top_edge |
| q0_via_NOTAreaidStdCellCore_lay1_left_temp = INTERACT q0_via_NOTAreaidStdCellCore_lay1_left (met1 OR q0_via_NOTAreaidStdCellCore_lay1_enc) == 1 |
| q0_via_NOTAreaidStdCellCore_lay1_left_edge = EXTERNAL [q0_via_NOTAreaidStdCellCore_lay1_left_temp] (met1 OR q0_via_NOTAreaidStdCellCore_lay1_enc) < 0.14 |
| q0_via_NOTAreaidStdCellCore_lay1_left_good = q0_via_NOTAreaidStdCellCore_lay1_left_temp NOT WITH EDGE q0_via_NOTAreaidStdCellCore_lay1_left_edge |
| q0_via_NOTAreaidStdCellCore_lay3_left_temp = INTERACT q0_via_NOTAreaidStdCellCore_lay3_left (met2 OR q0_via_NOTAreaidStdCellCore_lay3_enc) == 1 |
| q0_via_NOTAreaidStdCellCore_lay3_left_edge = EXTERNAL [q0_via_NOTAreaidStdCellCore_lay3_left_temp] (met2 OR q0_via_NOTAreaidStdCellCore_lay3_enc) < 0.14 |
| q0_via_NOTAreaidStdCellCore_lay3_left_good = q0_via_NOTAreaidStdCellCore_lay3_left_temp NOT WITH EDGE q0_via_NOTAreaidStdCellCore_lay3_left_edge |
| q0_via_NOTAreaidStdCellCore_lay1_bott_temp = INTERACT q0_via_NOTAreaidStdCellCore_lay1_bott (met1 OR q0_via_NOTAreaidStdCellCore_lay1_enc) == 1 |
| q0_via_NOTAreaidStdCellCore_lay1_bott_edge = EXTERNAL [q0_via_NOTAreaidStdCellCore_lay1_bott_temp] (met1 OR q0_via_NOTAreaidStdCellCore_lay1_enc) < 0.14 |
| q0_via_NOTAreaidStdCellCore_lay1_bott_good = q0_via_NOTAreaidStdCellCore_lay1_bott_temp NOT WITH EDGE q0_via_NOTAreaidStdCellCore_lay1_bott_edge |
| q0_via_NOTAreaidStdCellCore_lay3_bott_temp = INTERACT q0_via_NOTAreaidStdCellCore_lay3_bott (met2 OR q0_via_NOTAreaidStdCellCore_lay3_enc) == 1 |
| q0_via_NOTAreaidStdCellCore_lay3_bott_edge = EXTERNAL [q0_via_NOTAreaidStdCellCore_lay3_bott_temp] (met2 OR q0_via_NOTAreaidStdCellCore_lay3_enc) < 0.14 |
| q0_via_NOTAreaidStdCellCore_lay3_bott_good = q0_via_NOTAreaidStdCellCore_lay3_bott_temp NOT WITH EDGE q0_via_NOTAreaidStdCellCore_lay3_bott_edge |
| q0_via_NOTAreaidStdCellCore_temp1b = GROW (GROW q0_via_NOTAreaidStdCellCore_lay1_bott_good BOTTOM BY 0.14) LEFT BY 0.14 RIGHT BY 0.14 |
| q0_via_NOTAreaidStdCellCore_temp1r = GROW (GROW q0_via_NOTAreaidStdCellCore_lay1_right_good RIGHT BY 0.14) TOP BY 0.14 BOTTOM BY 0.14 |
| q0_via_NOTAreaidStdCellCore_temp1t = GROW (GROW q0_via_NOTAreaidStdCellCore_lay1_top_good TOP BY 0.14) LEFT BY 0.14 RIGHT BY 0.14 |
| q0_via_NOTAreaidStdCellCore_temp1l = GROW (GROW q0_via_NOTAreaidStdCellCore_lay1_left_good LEFT BY 0.14) TOP BY 0.14 BOTTOM BY 0.14 |
| q0_via_NOTAreaidStdCellCore_temp3b = GROW (GROW q0_via_NOTAreaidStdCellCore_lay3_bott_good BOTTOM BY 0.14) LEFT BY 0.14 RIGHT BY 0.14 |
| q0_via_NOTAreaidStdCellCore_temp3r = GROW (GROW q0_via_NOTAreaidStdCellCore_lay3_right_good RIGHT BY 0.14) TOP BY 0.14 BOTTOM BY 0.14 |
| q0_via_NOTAreaidStdCellCore_temp3t = GROW (GROW q0_via_NOTAreaidStdCellCore_lay3_top_good TOP BY 0.14) LEFT BY 0.14 RIGHT BY 0.14 |
| q0_via_NOTAreaidStdCellCore_temp3l = GROW (GROW q0_via_NOTAreaidStdCellCore_lay3_left_good LEFT BY 0.14) TOP BY 0.14 BOTTOM BY 0.14 |
| q0_via_NOTAreaidStdCellCore_final_lay1_r = q0_via_NOTAreaidStdCellCore_lay1_right_good OUTSIDE (q0_via_NOTAreaidStdCellCore_temp1t OR (q0_via_NOTAreaidStdCellCore_temp1l OR q0_via_NOTAreaidStdCellCore_temp1b)) |
| q0_via_NOTAreaidStdCellCore_final_lay3_r = q0_via_NOTAreaidStdCellCore_lay3_right_good OUTSIDE (q0_via_NOTAreaidStdCellCore_temp3t OR (q0_via_NOTAreaidStdCellCore_temp3l OR q0_via_NOTAreaidStdCellCore_temp3b)) |
| q0_via_NOTAreaidStdCellCore_temp1r2 = GROW (GROW q0_via_NOTAreaidStdCellCore_final_lay1_r TOP BY 0.14 BOTTOM BY 0.14) RIGHT BY 0.14 |
| q0_via_NOTAreaidStdCellCore_temp3r2 = GROW (GROW q0_via_NOTAreaidStdCellCore_final_lay3_r TOP BY 0.14 BOTTOM BY 0.14) RIGHT BY 0.14 |
| q0_via_NOTAreaidStdCellCore_final_lay1_t = q0_via_NOTAreaidStdCellCore_lay1_top_good OUTSIDE (q0_via_NOTAreaidStdCellCore_temp1r2 OR (q0_via_NOTAreaidStdCellCore_temp1l OR q0_via_NOTAreaidStdCellCore_temp1b)) |
| q0_via_NOTAreaidStdCellCore_final_lay3_t = q0_via_NOTAreaidStdCellCore_lay3_top_good OUTSIDE (q0_via_NOTAreaidStdCellCore_temp3r2 OR (q0_via_NOTAreaidStdCellCore_temp3l OR q0_via_NOTAreaidStdCellCore_temp3b)) |
| q0_via_NOTAreaidStdCellCore_temp1t2 = GROW (GROW q0_via_NOTAreaidStdCellCore_final_lay1_t LEFT BY 0.14 RIGHT BY 0.14) TOP BY 0.14 |
| q0_via_NOTAreaidStdCellCore_temp3t2 = GROW (GROW q0_via_NOTAreaidStdCellCore_final_lay3_t LEFT BY 0.14 RIGHT BY 0.14) TOP BY 0.14 |
| q0_via_NOTAreaidStdCellCore_final_lay1_l = q0_via_NOTAreaidStdCellCore_lay1_left_good OUTSIDE (q0_via_NOTAreaidStdCellCore_temp1r2 OR (q0_via_NOTAreaidStdCellCore_temp1t2 OR q0_via_NOTAreaidStdCellCore_temp1b)) |
| q0_via_NOTAreaidStdCellCore_final_lay3_l = q0_via_NOTAreaidStdCellCore_lay3_left_good OUTSIDE (q0_via_NOTAreaidStdCellCore_temp3r2 OR (q0_via_NOTAreaidStdCellCore_temp3t2 OR q0_via_NOTAreaidStdCellCore_temp3b)) |
| q0_via_NOTAreaidStdCellCore_temp1l2 = GROW (GROW q0_via_NOTAreaidStdCellCore_final_lay1_l TOP BY 0.14 BOTTOM BY 0.14) LEFT BY 0.14 |
| q0_via_NOTAreaidStdCellCore_temp3l2 = GROW (GROW q0_via_NOTAreaidStdCellCore_final_lay3_l TOP BY 0.14 BOTTOM BY 0.14) LEFT BY 0.14 |
| q0_via_NOTAreaidStdCellCore_final_lay1_b = q0_via_NOTAreaidStdCellCore_lay1_bott_good OUTSIDE (q0_via_NOTAreaidStdCellCore_temp1r2 OR (q0_via_NOTAreaidStdCellCore_temp1t2 OR q0_via_NOTAreaidStdCellCore_temp1l2)) |
| q0_via_NOTAreaidStdCellCore_final_lay3_b = q0_via_NOTAreaidStdCellCore_lay3_bott_good OUTSIDE (q0_via_NOTAreaidStdCellCore_temp3r2 OR (q0_via_NOTAreaidStdCellCore_temp3t2 OR q0_via_NOTAreaidStdCellCore_temp3l2)) |
| q0_via_NOTAreaidStdCellCore_tmp_vias = GROW q0_via_NOTAreaidStdCellCore_single_via RIGHT BY 0.32 TOP BY 0.32 LEFT BY 0.32 BOTTOM BY 0.32 |
| q0_via_NOTAreaidStdCellCore_new_vias = q0_via_NOTAreaidStdCellCore_tmp_vias NOT (GROW q0_via_NOTAreaidStdCellCore_single_via RIGHT BY 0.17 TOP BY 0.17 LEFT BY 0.17 BOTTOM BY 0.17) |
| q0_via_NOTAreaidStdCellCore_added_vias = q0_via_NOTAreaidStdCellCore_new_vias INSIDE ((q0_via_NOTAreaidStdCellCore_final_lay1_r AND q0_via_NOTAreaidStdCellCore_final_lay3_r) OR ((q0_via_NOTAreaidStdCellCore_final_lay1_t AND q0_via_NOTAreaidStdCellCore_final_lay3_t) OR ((q0_via_NOTAreaidStdCellCore_final_lay1_l AND q0_via_NOTAreaidStdCellCore_final_lay3_l) OR (q0_via_NOTAreaidStdCellCore_final_lay1_b AND q0_via_NOTAreaidStdCellCore_final_lay3_b)))) |
| q0_via_NOTAreaidStdCellCore_added_below = (INTERACT q0_via_NOTAreaidStdCellCore_final_lay1_r q0_via_NOTAreaidStdCellCore_added_vias) OR ((INTERACT q0_via_NOTAreaidStdCellCore_final_lay1_t q0_via_NOTAreaidStdCellCore_added_vias) OR ((INTERACT q0_via_NOTAreaidStdCellCore_final_lay1_l q0_via_NOTAreaidStdCellCore_added_vias) OR (INTERACT q0_via_NOTAreaidStdCellCore_final_lay1_b q0_via_NOTAreaidStdCellCore_added_vias))) |
| q0_via_NOTAreaidStdCellCore_added_above = (INTERACT q0_via_NOTAreaidStdCellCore_final_lay3_r q0_via_NOTAreaidStdCellCore_added_vias) OR ((INTERACT q0_via_NOTAreaidStdCellCore_final_lay3_t q0_via_NOTAreaidStdCellCore_added_vias) OR ((INTERACT q0_via_NOTAreaidStdCellCore_final_lay3_l q0_via_NOTAreaidStdCellCore_added_vias) OR (INTERACT q0_via_NOTAreaidStdCellCore_final_lay3_b q0_via_NOTAreaidStdCellCore_added_vias))) |
| q0_via_NOTAreaidStdCellCore_doubled_vias = INTERACT q0_via_NOTAreaidStdCellCore_single_via (TOUCH q0_via_NOTAreaidStdCellCore_lay1_enc q0_via_NOTAreaidStdCellCore_added_below) |
| "v_3_q0_via_NOTAreaidStdCellCore_added_vias" { |
| @ addedViaLayer: q0_via_NOTAreaidStdCellCore_added_vias - q0_via_NOTAreaidStdCellCore_added_vias |
| @ single via_NOTAreaidStdCellCore that can be doubled |
| COPY q0_via_NOTAreaidStdCellCore_added_vias |
| } |
| "v_4_q0_via_NOTAreaidStdCellCore_added_below" { |
| @ addedViaLayer: q0_via_NOTAreaidStdCellCore_added_below - q0_via_NOTAreaidStdCellCore_added_below |
| @ single via_NOTAreaidStdCellCore that can be doubled |
| COPY q0_via_NOTAreaidStdCellCore_added_below |
| } |
| "v_5_q0_via_NOTAreaidStdCellCore_added_above" { |
| @ addedViaLayer: q0_via_NOTAreaidStdCellCore_added_above - q0_via_NOTAreaidStdCellCore_added_above |
| @ single via_NOTAreaidStdCellCore that can be doubled |
| COPY q0_via_NOTAreaidStdCellCore_added_above |
| } |
| "s_1_X.18" { |
| @ single via_NOTAreaidStdCellCore that can be doubled |
| COPY q0_via_NOTAreaidStdCellCore_doubled_vias |
| } |
| via2_NOTAreaidStdCellCore = via2 NOT CoreidOrStdcid |
| q0_via2_NOTAreaidStdCellCore_single_via = COPY q0_via2_NOTAreaidStdCellCore_single_via_temp2 |
| q0_via2_NOTAreaidStdCellCore_single_via_temp1 = via2_NOTAreaidStdCellCore AND (INTERACT (met2 AND met3) via2_NOTAreaidStdCellCore == 1) |
| q0_via2_NOTAreaidStdCellCore_single_via_temp2 = RECTANGLE q0_via2_NOTAreaidStdCellCore_single_via_temp1 ORTHOGONAL ONLY |
| q0_via2_NOTAreaidStdCellCore_lay1_enc = SIZE q0_via2_NOTAreaidStdCellCore_single_via BY 0.04 |
| q0_via2_NOTAreaidStdCellCore_lay3_enc = SIZE q0_via2_NOTAreaidStdCellCore_single_via BY 0.065 |
| q0_via2_NOTAreaidStdCellCore_lay1_right = (GROW (GROW q0_via2_NOTAreaidStdCellCore_single_via RIGHT BY 0.44) TOP BY 0.04 BOTTOM BY 0.04) NOT q0_via2_NOTAreaidStdCellCore_lay1_enc |
| q0_via2_NOTAreaidStdCellCore_lay3_right = (GROW (GROW q0_via2_NOTAreaidStdCellCore_single_via RIGHT BY 0.465) TOP BY 0.065 BOTTOM BY 0.065) NOT q0_via2_NOTAreaidStdCellCore_lay3_enc |
| q0_via2_NOTAreaidStdCellCore_lay1_top = (GROW (GROW q0_via2_NOTAreaidStdCellCore_single_via TOP BY 0.44) LEFT BY 0.04 RIGHT BY 0.04) NOT q0_via2_NOTAreaidStdCellCore_lay1_enc |
| q0_via2_NOTAreaidStdCellCore_lay3_top = (GROW (GROW q0_via2_NOTAreaidStdCellCore_single_via TOP BY 0.465) LEFT BY 0.065 RIGHT BY 0.065) NOT q0_via2_NOTAreaidStdCellCore_lay3_enc |
| q0_via2_NOTAreaidStdCellCore_lay1_left = (GROW (GROW q0_via2_NOTAreaidStdCellCore_single_via LEFT BY 0.44) TOP BY 0.04 BOTTOM BY 0.04) NOT q0_via2_NOTAreaidStdCellCore_lay1_enc |
| q0_via2_NOTAreaidStdCellCore_lay3_left = (GROW (GROW q0_via2_NOTAreaidStdCellCore_single_via LEFT BY 0.465) TOP BY 0.065 BOTTOM BY 0.065) NOT q0_via2_NOTAreaidStdCellCore_lay3_enc |
| q0_via2_NOTAreaidStdCellCore_lay1_bott = (GROW (GROW q0_via2_NOTAreaidStdCellCore_single_via BOTTOM BY 0.44) LEFT BY 0.04 RIGHT BY 0.04) NOT q0_via2_NOTAreaidStdCellCore_lay1_enc |
| q0_via2_NOTAreaidStdCellCore_lay3_bott = (GROW (GROW q0_via2_NOTAreaidStdCellCore_single_via BOTTOM BY 0.465) LEFT BY 0.065 RIGHT BY 0.065) NOT q0_via2_NOTAreaidStdCellCore_lay3_enc |
| q0_via2_NOTAreaidStdCellCore_lay1_right_temp = INTERACT q0_via2_NOTAreaidStdCellCore_lay1_right (met2 OR q0_via2_NOTAreaidStdCellCore_lay1_enc) == 1 |
| q0_via2_NOTAreaidStdCellCore_lay1_right_edge = EXTERNAL [q0_via2_NOTAreaidStdCellCore_lay1_right_temp] (met2 OR q0_via2_NOTAreaidStdCellCore_lay1_enc) < 0.14 |
| q0_via2_NOTAreaidStdCellCore_lay1_right_good = q0_via2_NOTAreaidStdCellCore_lay1_right_temp NOT WITH EDGE q0_via2_NOTAreaidStdCellCore_lay1_right_edge |
| q0_via2_NOTAreaidStdCellCore_lay3_right_temp = INTERACT q0_via2_NOTAreaidStdCellCore_lay3_right (met3 OR q0_via2_NOTAreaidStdCellCore_lay3_enc) == 1 |
| q0_via2_NOTAreaidStdCellCore_lay3_right_edge = EXTERNAL [q0_via2_NOTAreaidStdCellCore_lay3_right_temp] (met3 OR q0_via2_NOTAreaidStdCellCore_lay3_enc) < 0.3 |
| q0_via2_NOTAreaidStdCellCore_lay3_right_good = q0_via2_NOTAreaidStdCellCore_lay3_right_temp NOT WITH EDGE q0_via2_NOTAreaidStdCellCore_lay3_right_edge |
| q0_via2_NOTAreaidStdCellCore_lay1_top_temp = INTERACT q0_via2_NOTAreaidStdCellCore_lay1_top (met2 OR q0_via2_NOTAreaidStdCellCore_lay1_enc) == 1 |
| q0_via2_NOTAreaidStdCellCore_lay1_top_edge = EXTERNAL [q0_via2_NOTAreaidStdCellCore_lay1_top_temp] (met2 OR q0_via2_NOTAreaidStdCellCore_lay1_enc) < 0.14 |
| q0_via2_NOTAreaidStdCellCore_lay1_top_good = q0_via2_NOTAreaidStdCellCore_lay1_top_temp NOT WITH EDGE q0_via2_NOTAreaidStdCellCore_lay1_top_edge |
| q0_via2_NOTAreaidStdCellCore_lay3_top_temp = INTERACT q0_via2_NOTAreaidStdCellCore_lay3_top (met3 OR q0_via2_NOTAreaidStdCellCore_lay3_enc) == 1 |
| q0_via2_NOTAreaidStdCellCore_lay3_top_edge = EXTERNAL [q0_via2_NOTAreaidStdCellCore_lay3_top_temp] (met3 OR q0_via2_NOTAreaidStdCellCore_lay3_enc) < 0.3 |
| q0_via2_NOTAreaidStdCellCore_lay3_top_good = q0_via2_NOTAreaidStdCellCore_lay3_top_temp NOT WITH EDGE q0_via2_NOTAreaidStdCellCore_lay3_top_edge |
| q0_via2_NOTAreaidStdCellCore_lay1_left_temp = INTERACT q0_via2_NOTAreaidStdCellCore_lay1_left (met2 OR q0_via2_NOTAreaidStdCellCore_lay1_enc) == 1 |
| q0_via2_NOTAreaidStdCellCore_lay1_left_edge = EXTERNAL [q0_via2_NOTAreaidStdCellCore_lay1_left_temp] (met2 OR q0_via2_NOTAreaidStdCellCore_lay1_enc) < 0.14 |
| q0_via2_NOTAreaidStdCellCore_lay1_left_good = q0_via2_NOTAreaidStdCellCore_lay1_left_temp NOT WITH EDGE q0_via2_NOTAreaidStdCellCore_lay1_left_edge |
| q0_via2_NOTAreaidStdCellCore_lay3_left_temp = INTERACT q0_via2_NOTAreaidStdCellCore_lay3_left (met3 OR q0_via2_NOTAreaidStdCellCore_lay3_enc) == 1 |
| q0_via2_NOTAreaidStdCellCore_lay3_left_edge = EXTERNAL [q0_via2_NOTAreaidStdCellCore_lay3_left_temp] (met3 OR q0_via2_NOTAreaidStdCellCore_lay3_enc) < 0.3 |
| q0_via2_NOTAreaidStdCellCore_lay3_left_good = q0_via2_NOTAreaidStdCellCore_lay3_left_temp NOT WITH EDGE q0_via2_NOTAreaidStdCellCore_lay3_left_edge |
| q0_via2_NOTAreaidStdCellCore_lay1_bott_temp = INTERACT q0_via2_NOTAreaidStdCellCore_lay1_bott (met2 OR q0_via2_NOTAreaidStdCellCore_lay1_enc) == 1 |
| q0_via2_NOTAreaidStdCellCore_lay1_bott_edge = EXTERNAL [q0_via2_NOTAreaidStdCellCore_lay1_bott_temp] (met2 OR q0_via2_NOTAreaidStdCellCore_lay1_enc) < 0.14 |
| q0_via2_NOTAreaidStdCellCore_lay1_bott_good = q0_via2_NOTAreaidStdCellCore_lay1_bott_temp NOT WITH EDGE q0_via2_NOTAreaidStdCellCore_lay1_bott_edge |
| q0_via2_NOTAreaidStdCellCore_lay3_bott_temp = INTERACT q0_via2_NOTAreaidStdCellCore_lay3_bott (met3 OR q0_via2_NOTAreaidStdCellCore_lay3_enc) == 1 |
| q0_via2_NOTAreaidStdCellCore_lay3_bott_edge = EXTERNAL [q0_via2_NOTAreaidStdCellCore_lay3_bott_temp] (met3 OR q0_via2_NOTAreaidStdCellCore_lay3_enc) < 0.3 |
| q0_via2_NOTAreaidStdCellCore_lay3_bott_good = q0_via2_NOTAreaidStdCellCore_lay3_bott_temp NOT WITH EDGE q0_via2_NOTAreaidStdCellCore_lay3_bott_edge |
| q0_via2_NOTAreaidStdCellCore_temp1b = GROW (GROW q0_via2_NOTAreaidStdCellCore_lay1_bott_good BOTTOM BY 0.14) LEFT BY 0.14 RIGHT BY 0.14 |
| q0_via2_NOTAreaidStdCellCore_temp1r = GROW (GROW q0_via2_NOTAreaidStdCellCore_lay1_right_good RIGHT BY 0.14) TOP BY 0.14 BOTTOM BY 0.14 |
| q0_via2_NOTAreaidStdCellCore_temp1t = GROW (GROW q0_via2_NOTAreaidStdCellCore_lay1_top_good TOP BY 0.14) LEFT BY 0.14 RIGHT BY 0.14 |
| q0_via2_NOTAreaidStdCellCore_temp1l = GROW (GROW q0_via2_NOTAreaidStdCellCore_lay1_left_good LEFT BY 0.14) TOP BY 0.14 BOTTOM BY 0.14 |
| q0_via2_NOTAreaidStdCellCore_temp3b = GROW (GROW q0_via2_NOTAreaidStdCellCore_lay3_bott_good BOTTOM BY 0.3) LEFT BY 0.3 RIGHT BY 0.3 |
| q0_via2_NOTAreaidStdCellCore_temp3r = GROW (GROW q0_via2_NOTAreaidStdCellCore_lay3_right_good RIGHT BY 0.3) TOP BY 0.3 BOTTOM BY 0.3 |
| q0_via2_NOTAreaidStdCellCore_temp3t = GROW (GROW q0_via2_NOTAreaidStdCellCore_lay3_top_good TOP BY 0.3) LEFT BY 0.3 RIGHT BY 0.3 |
| q0_via2_NOTAreaidStdCellCore_temp3l = GROW (GROW q0_via2_NOTAreaidStdCellCore_lay3_left_good LEFT BY 0.3) TOP BY 0.3 BOTTOM BY 0.3 |
| q0_via2_NOTAreaidStdCellCore_final_lay1_r = q0_via2_NOTAreaidStdCellCore_lay1_right_good OUTSIDE (q0_via2_NOTAreaidStdCellCore_temp1t OR (q0_via2_NOTAreaidStdCellCore_temp1l OR q0_via2_NOTAreaidStdCellCore_temp1b)) |
| q0_via2_NOTAreaidStdCellCore_final_lay3_r = q0_via2_NOTAreaidStdCellCore_lay3_right_good OUTSIDE (q0_via2_NOTAreaidStdCellCore_temp3t OR (q0_via2_NOTAreaidStdCellCore_temp3l OR q0_via2_NOTAreaidStdCellCore_temp3b)) |
| q0_via2_NOTAreaidStdCellCore_temp1r2 = GROW (GROW q0_via2_NOTAreaidStdCellCore_final_lay1_r TOP BY 0.14 BOTTOM BY 0.14) RIGHT BY 0.14 |
| q0_via2_NOTAreaidStdCellCore_temp3r2 = GROW (GROW q0_via2_NOTAreaidStdCellCore_final_lay3_r TOP BY 0.3 BOTTOM BY 0.3) RIGHT BY 0.3 |
| q0_via2_NOTAreaidStdCellCore_final_lay1_t = q0_via2_NOTAreaidStdCellCore_lay1_top_good OUTSIDE (q0_via2_NOTAreaidStdCellCore_temp1r2 OR (q0_via2_NOTAreaidStdCellCore_temp1l OR q0_via2_NOTAreaidStdCellCore_temp1b)) |
| q0_via2_NOTAreaidStdCellCore_final_lay3_t = q0_via2_NOTAreaidStdCellCore_lay3_top_good OUTSIDE (q0_via2_NOTAreaidStdCellCore_temp3r2 OR (q0_via2_NOTAreaidStdCellCore_temp3l OR q0_via2_NOTAreaidStdCellCore_temp3b)) |
| q0_via2_NOTAreaidStdCellCore_temp1t2 = GROW (GROW q0_via2_NOTAreaidStdCellCore_final_lay1_t LEFT BY 0.14 RIGHT BY 0.14) TOP BY 0.14 |
| q0_via2_NOTAreaidStdCellCore_temp3t2 = GROW (GROW q0_via2_NOTAreaidStdCellCore_final_lay3_t LEFT BY 0.3 RIGHT BY 0.3) TOP BY 0.3 |
| q0_via2_NOTAreaidStdCellCore_final_lay1_l = q0_via2_NOTAreaidStdCellCore_lay1_left_good OUTSIDE (q0_via2_NOTAreaidStdCellCore_temp1r2 OR (q0_via2_NOTAreaidStdCellCore_temp1t2 OR q0_via2_NOTAreaidStdCellCore_temp1b)) |
| q0_via2_NOTAreaidStdCellCore_final_lay3_l = q0_via2_NOTAreaidStdCellCore_lay3_left_good OUTSIDE (q0_via2_NOTAreaidStdCellCore_temp3r2 OR (q0_via2_NOTAreaidStdCellCore_temp3t2 OR q0_via2_NOTAreaidStdCellCore_temp3b)) |
| q0_via2_NOTAreaidStdCellCore_temp1l2 = GROW (GROW q0_via2_NOTAreaidStdCellCore_final_lay1_l TOP BY 0.14 BOTTOM BY 0.14) LEFT BY 0.14 |
| q0_via2_NOTAreaidStdCellCore_temp3l2 = GROW (GROW q0_via2_NOTAreaidStdCellCore_final_lay3_l TOP BY 0.3 BOTTOM BY 0.3) LEFT BY 0.3 |
| q0_via2_NOTAreaidStdCellCore_final_lay1_b = q0_via2_NOTAreaidStdCellCore_lay1_bott_good OUTSIDE (q0_via2_NOTAreaidStdCellCore_temp1r2 OR (q0_via2_NOTAreaidStdCellCore_temp1t2 OR q0_via2_NOTAreaidStdCellCore_temp1l2)) |
| q0_via2_NOTAreaidStdCellCore_final_lay3_b = q0_via2_NOTAreaidStdCellCore_lay3_bott_good OUTSIDE (q0_via2_NOTAreaidStdCellCore_temp3r2 OR (q0_via2_NOTAreaidStdCellCore_temp3t2 OR q0_via2_NOTAreaidStdCellCore_temp3l2)) |
| q0_via2_NOTAreaidStdCellCore_tmp_vias = GROW q0_via2_NOTAreaidStdCellCore_single_via RIGHT BY 0.4 TOP BY 0.4 LEFT BY 0.4 BOTTOM BY 0.4 |
| q0_via2_NOTAreaidStdCellCore_new_vias = q0_via2_NOTAreaidStdCellCore_tmp_vias NOT (GROW q0_via2_NOTAreaidStdCellCore_single_via RIGHT BY 0.2 TOP BY 0.2 LEFT BY 0.2 BOTTOM BY 0.2) |
| q0_via2_NOTAreaidStdCellCore_added_vias = q0_via2_NOTAreaidStdCellCore_new_vias INSIDE ((q0_via2_NOTAreaidStdCellCore_final_lay1_r AND q0_via2_NOTAreaidStdCellCore_final_lay3_r) OR ((q0_via2_NOTAreaidStdCellCore_final_lay1_t AND q0_via2_NOTAreaidStdCellCore_final_lay3_t) OR ((q0_via2_NOTAreaidStdCellCore_final_lay1_l AND q0_via2_NOTAreaidStdCellCore_final_lay3_l) OR (q0_via2_NOTAreaidStdCellCore_final_lay1_b AND q0_via2_NOTAreaidStdCellCore_final_lay3_b)))) |
| q0_via2_NOTAreaidStdCellCore_added_below = (INTERACT q0_via2_NOTAreaidStdCellCore_final_lay1_r q0_via2_NOTAreaidStdCellCore_added_vias) OR ((INTERACT q0_via2_NOTAreaidStdCellCore_final_lay1_t q0_via2_NOTAreaidStdCellCore_added_vias) OR ((INTERACT q0_via2_NOTAreaidStdCellCore_final_lay1_l q0_via2_NOTAreaidStdCellCore_added_vias) OR (INTERACT q0_via2_NOTAreaidStdCellCore_final_lay1_b q0_via2_NOTAreaidStdCellCore_added_vias))) |
| q0_via2_NOTAreaidStdCellCore_added_above = (INTERACT q0_via2_NOTAreaidStdCellCore_final_lay3_r q0_via2_NOTAreaidStdCellCore_added_vias) OR ((INTERACT q0_via2_NOTAreaidStdCellCore_final_lay3_t q0_via2_NOTAreaidStdCellCore_added_vias) OR ((INTERACT q0_via2_NOTAreaidStdCellCore_final_lay3_l q0_via2_NOTAreaidStdCellCore_added_vias) OR (INTERACT q0_via2_NOTAreaidStdCellCore_final_lay3_b q0_via2_NOTAreaidStdCellCore_added_vias))) |
| q0_via2_NOTAreaidStdCellCore_doubled_vias = INTERACT q0_via2_NOTAreaidStdCellCore_single_via (TOUCH q0_via2_NOTAreaidStdCellCore_lay1_enc q0_via2_NOTAreaidStdCellCore_added_below) |
| "v_6_q0_via2_NOTAreaidStdCellCore_added_vias" { |
| @ addedViaLayer: q0_via2_NOTAreaidStdCellCore_added_vias - q0_via2_NOTAreaidStdCellCore_added_vias |
| @ single via2_NOTAreaidStdCellCore that can be doubled |
| COPY q0_via2_NOTAreaidStdCellCore_added_vias |
| } |
| "v_7_q0_via2_NOTAreaidStdCellCore_added_below" { |
| @ addedViaLayer: q0_via2_NOTAreaidStdCellCore_added_below - q0_via2_NOTAreaidStdCellCore_added_below |
| @ single via2_NOTAreaidStdCellCore that can be doubled |
| COPY q0_via2_NOTAreaidStdCellCore_added_below |
| } |
| "v_8_q0_via2_NOTAreaidStdCellCore_added_above" { |
| @ addedViaLayer: q0_via2_NOTAreaidStdCellCore_added_above - q0_via2_NOTAreaidStdCellCore_added_above |
| @ single via2_NOTAreaidStdCellCore that can be doubled |
| COPY q0_via2_NOTAreaidStdCellCore_added_above |
| } |
| "s_2_X.18" { |
| @ single via2_NOTAreaidStdCellCore that can be doubled |
| COPY q0_via2_NOTAreaidStdCellCore_doubled_vias |
| } |
| via3_NOTAreaidStdCellCore = via3 NOT CoreidOrStdcid |
| q0_via3_NOTAreaidStdCellCore_single_via = COPY q0_via3_NOTAreaidStdCellCore_single_via_temp2 |
| q0_via3_NOTAreaidStdCellCore_single_via_temp1 = via3_NOTAreaidStdCellCore AND (INTERACT (met3 AND met4) via3_NOTAreaidStdCellCore == 1) |
| q0_via3_NOTAreaidStdCellCore_single_via_temp2 = RECTANGLE q0_via3_NOTAreaidStdCellCore_single_via_temp1 ORTHOGONAL ONLY |
| q0_via3_NOTAreaidStdCellCore_lay1_enc = SIZE q0_via3_NOTAreaidStdCellCore_single_via BY 0.06 |
| q0_via3_NOTAreaidStdCellCore_lay3_enc = SIZE q0_via3_NOTAreaidStdCellCore_single_via BY 0.065 |
| q0_via3_NOTAreaidStdCellCore_lay1_right = (GROW (GROW q0_via3_NOTAreaidStdCellCore_single_via RIGHT BY 0.46) TOP BY 0.06 BOTTOM BY 0.06) NOT q0_via3_NOTAreaidStdCellCore_lay1_enc |
| q0_via3_NOTAreaidStdCellCore_lay3_right = (GROW (GROW q0_via3_NOTAreaidStdCellCore_single_via RIGHT BY 0.465) TOP BY 0.065 BOTTOM BY 0.065) NOT q0_via3_NOTAreaidStdCellCore_lay3_enc |
| q0_via3_NOTAreaidStdCellCore_lay1_top = (GROW (GROW q0_via3_NOTAreaidStdCellCore_single_via TOP BY 0.46) LEFT BY 0.06 RIGHT BY 0.06) NOT q0_via3_NOTAreaidStdCellCore_lay1_enc |
| q0_via3_NOTAreaidStdCellCore_lay3_top = (GROW (GROW q0_via3_NOTAreaidStdCellCore_single_via TOP BY 0.465) LEFT BY 0.065 RIGHT BY 0.065) NOT q0_via3_NOTAreaidStdCellCore_lay3_enc |
| q0_via3_NOTAreaidStdCellCore_lay1_left = (GROW (GROW q0_via3_NOTAreaidStdCellCore_single_via LEFT BY 0.46) TOP BY 0.06 BOTTOM BY 0.06) NOT q0_via3_NOTAreaidStdCellCore_lay1_enc |
| q0_via3_NOTAreaidStdCellCore_lay3_left = (GROW (GROW q0_via3_NOTAreaidStdCellCore_single_via LEFT BY 0.465) TOP BY 0.065 BOTTOM BY 0.065) NOT q0_via3_NOTAreaidStdCellCore_lay3_enc |
| q0_via3_NOTAreaidStdCellCore_lay1_bott = (GROW (GROW q0_via3_NOTAreaidStdCellCore_single_via BOTTOM BY 0.46) LEFT BY 0.06 RIGHT BY 0.06) NOT q0_via3_NOTAreaidStdCellCore_lay1_enc |
| q0_via3_NOTAreaidStdCellCore_lay3_bott = (GROW (GROW q0_via3_NOTAreaidStdCellCore_single_via BOTTOM BY 0.465) LEFT BY 0.065 RIGHT BY 0.065) NOT q0_via3_NOTAreaidStdCellCore_lay3_enc |
| q0_via3_NOTAreaidStdCellCore_lay1_right_temp = INTERACT q0_via3_NOTAreaidStdCellCore_lay1_right (met3 OR q0_via3_NOTAreaidStdCellCore_lay1_enc) == 1 |
| q0_via3_NOTAreaidStdCellCore_lay1_right_edge = EXTERNAL [q0_via3_NOTAreaidStdCellCore_lay1_right_temp] (met3 OR q0_via3_NOTAreaidStdCellCore_lay1_enc) < 0.3 |
| q0_via3_NOTAreaidStdCellCore_lay1_right_good = q0_via3_NOTAreaidStdCellCore_lay1_right_temp NOT WITH EDGE q0_via3_NOTAreaidStdCellCore_lay1_right_edge |
| q0_via3_NOTAreaidStdCellCore_lay3_right_temp = INTERACT q0_via3_NOTAreaidStdCellCore_lay3_right (met4 OR q0_via3_NOTAreaidStdCellCore_lay3_enc) == 1 |
| q0_via3_NOTAreaidStdCellCore_lay3_right_edge = EXTERNAL [q0_via3_NOTAreaidStdCellCore_lay3_right_temp] (met4 OR q0_via3_NOTAreaidStdCellCore_lay3_enc) < 0.3 |
| q0_via3_NOTAreaidStdCellCore_lay3_right_good = q0_via3_NOTAreaidStdCellCore_lay3_right_temp NOT WITH EDGE q0_via3_NOTAreaidStdCellCore_lay3_right_edge |
| q0_via3_NOTAreaidStdCellCore_lay1_top_temp = INTERACT q0_via3_NOTAreaidStdCellCore_lay1_top (met3 OR q0_via3_NOTAreaidStdCellCore_lay1_enc) == 1 |
| q0_via3_NOTAreaidStdCellCore_lay1_top_edge = EXTERNAL [q0_via3_NOTAreaidStdCellCore_lay1_top_temp] (met3 OR q0_via3_NOTAreaidStdCellCore_lay1_enc) < 0.3 |
| q0_via3_NOTAreaidStdCellCore_lay1_top_good = q0_via3_NOTAreaidStdCellCore_lay1_top_temp NOT WITH EDGE q0_via3_NOTAreaidStdCellCore_lay1_top_edge |
| q0_via3_NOTAreaidStdCellCore_lay3_top_temp = INTERACT q0_via3_NOTAreaidStdCellCore_lay3_top (met4 OR q0_via3_NOTAreaidStdCellCore_lay3_enc) == 1 |
| q0_via3_NOTAreaidStdCellCore_lay3_top_edge = EXTERNAL [q0_via3_NOTAreaidStdCellCore_lay3_top_temp] (met4 OR q0_via3_NOTAreaidStdCellCore_lay3_enc) < 0.3 |
| q0_via3_NOTAreaidStdCellCore_lay3_top_good = q0_via3_NOTAreaidStdCellCore_lay3_top_temp NOT WITH EDGE q0_via3_NOTAreaidStdCellCore_lay3_top_edge |
| q0_via3_NOTAreaidStdCellCore_lay1_left_temp = INTERACT q0_via3_NOTAreaidStdCellCore_lay1_left (met3 OR q0_via3_NOTAreaidStdCellCore_lay1_enc) == 1 |
| q0_via3_NOTAreaidStdCellCore_lay1_left_edge = EXTERNAL [q0_via3_NOTAreaidStdCellCore_lay1_left_temp] (met3 OR q0_via3_NOTAreaidStdCellCore_lay1_enc) < 0.3 |
| q0_via3_NOTAreaidStdCellCore_lay1_left_good = q0_via3_NOTAreaidStdCellCore_lay1_left_temp NOT WITH EDGE q0_via3_NOTAreaidStdCellCore_lay1_left_edge |
| q0_via3_NOTAreaidStdCellCore_lay3_left_temp = INTERACT q0_via3_NOTAreaidStdCellCore_lay3_left (met4 OR q0_via3_NOTAreaidStdCellCore_lay3_enc) == 1 |
| q0_via3_NOTAreaidStdCellCore_lay3_left_edge = EXTERNAL [q0_via3_NOTAreaidStdCellCore_lay3_left_temp] (met4 OR q0_via3_NOTAreaidStdCellCore_lay3_enc) < 0.3 |
| q0_via3_NOTAreaidStdCellCore_lay3_left_good = q0_via3_NOTAreaidStdCellCore_lay3_left_temp NOT WITH EDGE q0_via3_NOTAreaidStdCellCore_lay3_left_edge |
| q0_via3_NOTAreaidStdCellCore_lay1_bott_temp = INTERACT q0_via3_NOTAreaidStdCellCore_lay1_bott (met3 OR q0_via3_NOTAreaidStdCellCore_lay1_enc) == 1 |
| q0_via3_NOTAreaidStdCellCore_lay1_bott_edge = EXTERNAL [q0_via3_NOTAreaidStdCellCore_lay1_bott_temp] (met3 OR q0_via3_NOTAreaidStdCellCore_lay1_enc) < 0.3 |
| q0_via3_NOTAreaidStdCellCore_lay1_bott_good = q0_via3_NOTAreaidStdCellCore_lay1_bott_temp NOT WITH EDGE q0_via3_NOTAreaidStdCellCore_lay1_bott_edge |
| q0_via3_NOTAreaidStdCellCore_lay3_bott_temp = INTERACT q0_via3_NOTAreaidStdCellCore_lay3_bott (met4 OR q0_via3_NOTAreaidStdCellCore_lay3_enc) == 1 |
| q0_via3_NOTAreaidStdCellCore_lay3_bott_edge = EXTERNAL [q0_via3_NOTAreaidStdCellCore_lay3_bott_temp] (met4 OR q0_via3_NOTAreaidStdCellCore_lay3_enc) < 0.3 |
| q0_via3_NOTAreaidStdCellCore_lay3_bott_good = q0_via3_NOTAreaidStdCellCore_lay3_bott_temp NOT WITH EDGE q0_via3_NOTAreaidStdCellCore_lay3_bott_edge |
| q0_via3_NOTAreaidStdCellCore_temp1b = GROW (GROW q0_via3_NOTAreaidStdCellCore_lay1_bott_good BOTTOM BY 0.3) LEFT BY 0.3 RIGHT BY 0.3 |
| q0_via3_NOTAreaidStdCellCore_temp1r = GROW (GROW q0_via3_NOTAreaidStdCellCore_lay1_right_good RIGHT BY 0.3) TOP BY 0.3 BOTTOM BY 0.3 |
| q0_via3_NOTAreaidStdCellCore_temp1t = GROW (GROW q0_via3_NOTAreaidStdCellCore_lay1_top_good TOP BY 0.3) LEFT BY 0.3 RIGHT BY 0.3 |
| q0_via3_NOTAreaidStdCellCore_temp1l = GROW (GROW q0_via3_NOTAreaidStdCellCore_lay1_left_good LEFT BY 0.3) TOP BY 0.3 BOTTOM BY 0.3 |
| q0_via3_NOTAreaidStdCellCore_temp3b = GROW (GROW q0_via3_NOTAreaidStdCellCore_lay3_bott_good BOTTOM BY 0.3) LEFT BY 0.3 RIGHT BY 0.3 |
| q0_via3_NOTAreaidStdCellCore_temp3r = GROW (GROW q0_via3_NOTAreaidStdCellCore_lay3_right_good RIGHT BY 0.3) TOP BY 0.3 BOTTOM BY 0.3 |
| q0_via3_NOTAreaidStdCellCore_temp3t = GROW (GROW q0_via3_NOTAreaidStdCellCore_lay3_top_good TOP BY 0.3) LEFT BY 0.3 RIGHT BY 0.3 |
| q0_via3_NOTAreaidStdCellCore_temp3l = GROW (GROW q0_via3_NOTAreaidStdCellCore_lay3_left_good LEFT BY 0.3) TOP BY 0.3 BOTTOM BY 0.3 |
| q0_via3_NOTAreaidStdCellCore_final_lay1_r = q0_via3_NOTAreaidStdCellCore_lay1_right_good OUTSIDE (q0_via3_NOTAreaidStdCellCore_temp1t OR (q0_via3_NOTAreaidStdCellCore_temp1l OR q0_via3_NOTAreaidStdCellCore_temp1b)) |
| q0_via3_NOTAreaidStdCellCore_final_lay3_r = q0_via3_NOTAreaidStdCellCore_lay3_right_good OUTSIDE (q0_via3_NOTAreaidStdCellCore_temp3t OR (q0_via3_NOTAreaidStdCellCore_temp3l OR q0_via3_NOTAreaidStdCellCore_temp3b)) |
| q0_via3_NOTAreaidStdCellCore_temp1r2 = GROW (GROW q0_via3_NOTAreaidStdCellCore_final_lay1_r TOP BY 0.3 BOTTOM BY 0.3) RIGHT BY 0.3 |
| q0_via3_NOTAreaidStdCellCore_temp3r2 = GROW (GROW q0_via3_NOTAreaidStdCellCore_final_lay3_r TOP BY 0.3 BOTTOM BY 0.3) RIGHT BY 0.3 |
| q0_via3_NOTAreaidStdCellCore_final_lay1_t = q0_via3_NOTAreaidStdCellCore_lay1_top_good OUTSIDE (q0_via3_NOTAreaidStdCellCore_temp1r2 OR (q0_via3_NOTAreaidStdCellCore_temp1l OR q0_via3_NOTAreaidStdCellCore_temp1b)) |
| q0_via3_NOTAreaidStdCellCore_final_lay3_t = q0_via3_NOTAreaidStdCellCore_lay3_top_good OUTSIDE (q0_via3_NOTAreaidStdCellCore_temp3r2 OR (q0_via3_NOTAreaidStdCellCore_temp3l OR q0_via3_NOTAreaidStdCellCore_temp3b)) |
| q0_via3_NOTAreaidStdCellCore_temp1t2 = GROW (GROW q0_via3_NOTAreaidStdCellCore_final_lay1_t LEFT BY 0.3 RIGHT BY 0.3) TOP BY 0.3 |
| q0_via3_NOTAreaidStdCellCore_temp3t2 = GROW (GROW q0_via3_NOTAreaidStdCellCore_final_lay3_t LEFT BY 0.3 RIGHT BY 0.3) TOP BY 0.3 |
| q0_via3_NOTAreaidStdCellCore_final_lay1_l = q0_via3_NOTAreaidStdCellCore_lay1_left_good OUTSIDE (q0_via3_NOTAreaidStdCellCore_temp1r2 OR (q0_via3_NOTAreaidStdCellCore_temp1t2 OR q0_via3_NOTAreaidStdCellCore_temp1b)) |
| q0_via3_NOTAreaidStdCellCore_final_lay3_l = q0_via3_NOTAreaidStdCellCore_lay3_left_good OUTSIDE (q0_via3_NOTAreaidStdCellCore_temp3r2 OR (q0_via3_NOTAreaidStdCellCore_temp3t2 OR q0_via3_NOTAreaidStdCellCore_temp3b)) |
| q0_via3_NOTAreaidStdCellCore_temp1l2 = GROW (GROW q0_via3_NOTAreaidStdCellCore_final_lay1_l TOP BY 0.3 BOTTOM BY 0.3) LEFT BY 0.3 |
| q0_via3_NOTAreaidStdCellCore_temp3l2 = GROW (GROW q0_via3_NOTAreaidStdCellCore_final_lay3_l TOP BY 0.3 BOTTOM BY 0.3) LEFT BY 0.3 |
| q0_via3_NOTAreaidStdCellCore_final_lay1_b = q0_via3_NOTAreaidStdCellCore_lay1_bott_good OUTSIDE (q0_via3_NOTAreaidStdCellCore_temp1r2 OR (q0_via3_NOTAreaidStdCellCore_temp1t2 OR q0_via3_NOTAreaidStdCellCore_temp1l2)) |
| q0_via3_NOTAreaidStdCellCore_final_lay3_b = q0_via3_NOTAreaidStdCellCore_lay3_bott_good OUTSIDE (q0_via3_NOTAreaidStdCellCore_temp3r2 OR (q0_via3_NOTAreaidStdCellCore_temp3t2 OR q0_via3_NOTAreaidStdCellCore_temp3l2)) |
| q0_via3_NOTAreaidStdCellCore_tmp_vias = GROW q0_via3_NOTAreaidStdCellCore_single_via RIGHT BY 0.4 TOP BY 0.4 LEFT BY 0.4 BOTTOM BY 0.4 |
| q0_via3_NOTAreaidStdCellCore_new_vias = q0_via3_NOTAreaidStdCellCore_tmp_vias NOT (GROW q0_via3_NOTAreaidStdCellCore_single_via RIGHT BY 0.2 TOP BY 0.2 LEFT BY 0.2 BOTTOM BY 0.2) |
| q0_via3_NOTAreaidStdCellCore_added_vias = q0_via3_NOTAreaidStdCellCore_new_vias INSIDE ((q0_via3_NOTAreaidStdCellCore_final_lay1_r AND q0_via3_NOTAreaidStdCellCore_final_lay3_r) OR ((q0_via3_NOTAreaidStdCellCore_final_lay1_t AND q0_via3_NOTAreaidStdCellCore_final_lay3_t) OR ((q0_via3_NOTAreaidStdCellCore_final_lay1_l AND q0_via3_NOTAreaidStdCellCore_final_lay3_l) OR (q0_via3_NOTAreaidStdCellCore_final_lay1_b AND q0_via3_NOTAreaidStdCellCore_final_lay3_b)))) |
| q0_via3_NOTAreaidStdCellCore_added_below = (INTERACT q0_via3_NOTAreaidStdCellCore_final_lay1_r q0_via3_NOTAreaidStdCellCore_added_vias) OR ((INTERACT q0_via3_NOTAreaidStdCellCore_final_lay1_t q0_via3_NOTAreaidStdCellCore_added_vias) OR ((INTERACT q0_via3_NOTAreaidStdCellCore_final_lay1_l q0_via3_NOTAreaidStdCellCore_added_vias) OR (INTERACT q0_via3_NOTAreaidStdCellCore_final_lay1_b q0_via3_NOTAreaidStdCellCore_added_vias))) |
| q0_via3_NOTAreaidStdCellCore_added_above = (INTERACT q0_via3_NOTAreaidStdCellCore_final_lay3_r q0_via3_NOTAreaidStdCellCore_added_vias) OR ((INTERACT q0_via3_NOTAreaidStdCellCore_final_lay3_t q0_via3_NOTAreaidStdCellCore_added_vias) OR ((INTERACT q0_via3_NOTAreaidStdCellCore_final_lay3_l q0_via3_NOTAreaidStdCellCore_added_vias) OR (INTERACT q0_via3_NOTAreaidStdCellCore_final_lay3_b q0_via3_NOTAreaidStdCellCore_added_vias))) |
| q0_via3_NOTAreaidStdCellCore_doubled_vias = INTERACT q0_via3_NOTAreaidStdCellCore_single_via (TOUCH q0_via3_NOTAreaidStdCellCore_lay1_enc q0_via3_NOTAreaidStdCellCore_added_below) |
| "v_9_q0_via3_NOTAreaidStdCellCore_added_vias" { |
| @ addedViaLayer: q0_via3_NOTAreaidStdCellCore_added_vias - q0_via3_NOTAreaidStdCellCore_added_vias |
| @ single via3_NOTAreaidStdCellCore that can be doubled |
| COPY q0_via3_NOTAreaidStdCellCore_added_vias |
| } |
| "v_10_q0_via3_NOTAreaidStdCellCore_added_below" { |
| @ addedViaLayer: q0_via3_NOTAreaidStdCellCore_added_below - q0_via3_NOTAreaidStdCellCore_added_below |
| @ single via3_NOTAreaidStdCellCore that can be doubled |
| COPY q0_via3_NOTAreaidStdCellCore_added_below |
| } |
| "v_11_q0_via3_NOTAreaidStdCellCore_added_above" { |
| @ addedViaLayer: q0_via3_NOTAreaidStdCellCore_added_above - q0_via3_NOTAreaidStdCellCore_added_above |
| @ single via3_NOTAreaidStdCellCore that can be doubled |
| COPY q0_via3_NOTAreaidStdCellCore_added_above |
| } |
| "s_3_X.18" { |
| @ single via3_NOTAreaidStdCellCore that can be doubled |
| COPY q0_via3_NOTAreaidStdCellCore_doubled_vias |
| } |
| via4_NOTAreaidStdCellCore = via4 NOT CoreidOrStdcid |
| q0_via4_NOTAreaidStdCellCore_single_via = COPY q0_via4_NOTAreaidStdCellCore_single_via_temp2 |
| q0_via4_NOTAreaidStdCellCore_single_via_temp1 = via4_NOTAreaidStdCellCore AND (INTERACT (met4 AND met5) via4_NOTAreaidStdCellCore == 1) |
| q0_via4_NOTAreaidStdCellCore_single_via_temp2 = RECTANGLE q0_via4_NOTAreaidStdCellCore_single_via_temp1 ORTHOGONAL ONLY |
| q0_via4_NOTAreaidStdCellCore_lay1_enc = SIZE q0_via4_NOTAreaidStdCellCore_single_via BY 0.19 |
| q0_via4_NOTAreaidStdCellCore_lay3_enc = SIZE q0_via4_NOTAreaidStdCellCore_single_via BY 0.31 |
| q0_via4_NOTAreaidStdCellCore_lay1_right = (GROW (GROW q0_via4_NOTAreaidStdCellCore_single_via RIGHT BY 1.79) TOP BY 0.19 BOTTOM BY 0.19) NOT q0_via4_NOTAreaidStdCellCore_lay1_enc |
| q0_via4_NOTAreaidStdCellCore_lay3_right = (GROW (GROW q0_via4_NOTAreaidStdCellCore_single_via RIGHT BY 1.91) TOP BY 0.31 BOTTOM BY 0.31) NOT q0_via4_NOTAreaidStdCellCore_lay3_enc |
| q0_via4_NOTAreaidStdCellCore_lay1_top = (GROW (GROW q0_via4_NOTAreaidStdCellCore_single_via TOP BY 1.79) LEFT BY 0.19 RIGHT BY 0.19) NOT q0_via4_NOTAreaidStdCellCore_lay1_enc |
| q0_via4_NOTAreaidStdCellCore_lay3_top = (GROW (GROW q0_via4_NOTAreaidStdCellCore_single_via TOP BY 1.91) LEFT BY 0.31 RIGHT BY 0.31) NOT q0_via4_NOTAreaidStdCellCore_lay3_enc |
| q0_via4_NOTAreaidStdCellCore_lay1_left = (GROW (GROW q0_via4_NOTAreaidStdCellCore_single_via LEFT BY 1.79) TOP BY 0.19 BOTTOM BY 0.19) NOT q0_via4_NOTAreaidStdCellCore_lay1_enc |
| q0_via4_NOTAreaidStdCellCore_lay3_left = (GROW (GROW q0_via4_NOTAreaidStdCellCore_single_via LEFT BY 1.91) TOP BY 0.31 BOTTOM BY 0.31) NOT q0_via4_NOTAreaidStdCellCore_lay3_enc |
| q0_via4_NOTAreaidStdCellCore_lay1_bott = (GROW (GROW q0_via4_NOTAreaidStdCellCore_single_via BOTTOM BY 1.79) LEFT BY 0.19 RIGHT BY 0.19) NOT q0_via4_NOTAreaidStdCellCore_lay1_enc |
| q0_via4_NOTAreaidStdCellCore_lay3_bott = (GROW (GROW q0_via4_NOTAreaidStdCellCore_single_via BOTTOM BY 1.91) LEFT BY 0.31 RIGHT BY 0.31) NOT q0_via4_NOTAreaidStdCellCore_lay3_enc |
| q0_via4_NOTAreaidStdCellCore_lay1_right_temp = INTERACT q0_via4_NOTAreaidStdCellCore_lay1_right (met4 OR q0_via4_NOTAreaidStdCellCore_lay1_enc) == 1 |
| q0_via4_NOTAreaidStdCellCore_lay1_right_edge = EXTERNAL [q0_via4_NOTAreaidStdCellCore_lay1_right_temp] (met4 OR q0_via4_NOTAreaidStdCellCore_lay1_enc) < 0.3 |
| q0_via4_NOTAreaidStdCellCore_lay1_right_good = q0_via4_NOTAreaidStdCellCore_lay1_right_temp NOT WITH EDGE q0_via4_NOTAreaidStdCellCore_lay1_right_edge |
| q0_via4_NOTAreaidStdCellCore_lay3_right_temp = INTERACT q0_via4_NOTAreaidStdCellCore_lay3_right (met5 OR q0_via4_NOTAreaidStdCellCore_lay3_enc) == 1 |
| q0_via4_NOTAreaidStdCellCore_lay3_right_edge = EXTERNAL [q0_via4_NOTAreaidStdCellCore_lay3_right_temp] (met5 OR q0_via4_NOTAreaidStdCellCore_lay3_enc) < 1.6 |
| q0_via4_NOTAreaidStdCellCore_lay3_right_good = q0_via4_NOTAreaidStdCellCore_lay3_right_temp NOT WITH EDGE q0_via4_NOTAreaidStdCellCore_lay3_right_edge |
| q0_via4_NOTAreaidStdCellCore_lay1_top_temp = INTERACT q0_via4_NOTAreaidStdCellCore_lay1_top (met4 OR q0_via4_NOTAreaidStdCellCore_lay1_enc) == 1 |
| q0_via4_NOTAreaidStdCellCore_lay1_top_edge = EXTERNAL [q0_via4_NOTAreaidStdCellCore_lay1_top_temp] (met4 OR q0_via4_NOTAreaidStdCellCore_lay1_enc) < 0.3 |
| q0_via4_NOTAreaidStdCellCore_lay1_top_good = q0_via4_NOTAreaidStdCellCore_lay1_top_temp NOT WITH EDGE q0_via4_NOTAreaidStdCellCore_lay1_top_edge |
| q0_via4_NOTAreaidStdCellCore_lay3_top_temp = INTERACT q0_via4_NOTAreaidStdCellCore_lay3_top (met5 OR q0_via4_NOTAreaidStdCellCore_lay3_enc) == 1 |
| q0_via4_NOTAreaidStdCellCore_lay3_top_edge = EXTERNAL [q0_via4_NOTAreaidStdCellCore_lay3_top_temp] (met5 OR q0_via4_NOTAreaidStdCellCore_lay3_enc) < 1.6 |
| q0_via4_NOTAreaidStdCellCore_lay3_top_good = q0_via4_NOTAreaidStdCellCore_lay3_top_temp NOT WITH EDGE q0_via4_NOTAreaidStdCellCore_lay3_top_edge |
| q0_via4_NOTAreaidStdCellCore_lay1_left_temp = INTERACT q0_via4_NOTAreaidStdCellCore_lay1_left (met4 OR q0_via4_NOTAreaidStdCellCore_lay1_enc) == 1 |
| q0_via4_NOTAreaidStdCellCore_lay1_left_edge = EXTERNAL [q0_via4_NOTAreaidStdCellCore_lay1_left_temp] (met4 OR q0_via4_NOTAreaidStdCellCore_lay1_enc) < 0.3 |
| q0_via4_NOTAreaidStdCellCore_lay1_left_good = q0_via4_NOTAreaidStdCellCore_lay1_left_temp NOT WITH EDGE q0_via4_NOTAreaidStdCellCore_lay1_left_edge |
| q0_via4_NOTAreaidStdCellCore_lay3_left_temp = INTERACT q0_via4_NOTAreaidStdCellCore_lay3_left (met5 OR q0_via4_NOTAreaidStdCellCore_lay3_enc) == 1 |
| q0_via4_NOTAreaidStdCellCore_lay3_left_edge = EXTERNAL [q0_via4_NOTAreaidStdCellCore_lay3_left_temp] (met5 OR q0_via4_NOTAreaidStdCellCore_lay3_enc) < 1.6 |
| q0_via4_NOTAreaidStdCellCore_lay3_left_good = q0_via4_NOTAreaidStdCellCore_lay3_left_temp NOT WITH EDGE q0_via4_NOTAreaidStdCellCore_lay3_left_edge |
| q0_via4_NOTAreaidStdCellCore_lay1_bott_temp = INTERACT q0_via4_NOTAreaidStdCellCore_lay1_bott (met4 OR q0_via4_NOTAreaidStdCellCore_lay1_enc) == 1 |
| q0_via4_NOTAreaidStdCellCore_lay1_bott_edge = EXTERNAL [q0_via4_NOTAreaidStdCellCore_lay1_bott_temp] (met4 OR q0_via4_NOTAreaidStdCellCore_lay1_enc) < 0.3 |
| q0_via4_NOTAreaidStdCellCore_lay1_bott_good = q0_via4_NOTAreaidStdCellCore_lay1_bott_temp NOT WITH EDGE q0_via4_NOTAreaidStdCellCore_lay1_bott_edge |
| q0_via4_NOTAreaidStdCellCore_lay3_bott_temp = INTERACT q0_via4_NOTAreaidStdCellCore_lay3_bott (met5 OR q0_via4_NOTAreaidStdCellCore_lay3_enc) == 1 |
| q0_via4_NOTAreaidStdCellCore_lay3_bott_edge = EXTERNAL [q0_via4_NOTAreaidStdCellCore_lay3_bott_temp] (met5 OR q0_via4_NOTAreaidStdCellCore_lay3_enc) < 1.6 |
| q0_via4_NOTAreaidStdCellCore_lay3_bott_good = q0_via4_NOTAreaidStdCellCore_lay3_bott_temp NOT WITH EDGE q0_via4_NOTAreaidStdCellCore_lay3_bott_edge |
| q0_via4_NOTAreaidStdCellCore_temp1b = GROW (GROW q0_via4_NOTAreaidStdCellCore_lay1_bott_good BOTTOM BY 0.3) LEFT BY 0.3 RIGHT BY 0.3 |
| q0_via4_NOTAreaidStdCellCore_temp1r = GROW (GROW q0_via4_NOTAreaidStdCellCore_lay1_right_good RIGHT BY 0.3) TOP BY 0.3 BOTTOM BY 0.3 |
| q0_via4_NOTAreaidStdCellCore_temp1t = GROW (GROW q0_via4_NOTAreaidStdCellCore_lay1_top_good TOP BY 0.3) LEFT BY 0.3 RIGHT BY 0.3 |
| q0_via4_NOTAreaidStdCellCore_temp1l = GROW (GROW q0_via4_NOTAreaidStdCellCore_lay1_left_good LEFT BY 0.3) TOP BY 0.3 BOTTOM BY 0.3 |
| q0_via4_NOTAreaidStdCellCore_temp3b = GROW (GROW q0_via4_NOTAreaidStdCellCore_lay3_bott_good BOTTOM BY 1.6) LEFT BY 1.6 RIGHT BY 1.6 |
| q0_via4_NOTAreaidStdCellCore_temp3r = GROW (GROW q0_via4_NOTAreaidStdCellCore_lay3_right_good RIGHT BY 1.6) TOP BY 1.6 BOTTOM BY 1.6 |
| q0_via4_NOTAreaidStdCellCore_temp3t = GROW (GROW q0_via4_NOTAreaidStdCellCore_lay3_top_good TOP BY 1.6) LEFT BY 1.6 RIGHT BY 1.6 |
| q0_via4_NOTAreaidStdCellCore_temp3l = GROW (GROW q0_via4_NOTAreaidStdCellCore_lay3_left_good LEFT BY 1.6) TOP BY 1.6 BOTTOM BY 1.6 |
| q0_via4_NOTAreaidStdCellCore_final_lay1_r = q0_via4_NOTAreaidStdCellCore_lay1_right_good OUTSIDE (q0_via4_NOTAreaidStdCellCore_temp1t OR (q0_via4_NOTAreaidStdCellCore_temp1l OR q0_via4_NOTAreaidStdCellCore_temp1b)) |
| q0_via4_NOTAreaidStdCellCore_final_lay3_r = q0_via4_NOTAreaidStdCellCore_lay3_right_good OUTSIDE (q0_via4_NOTAreaidStdCellCore_temp3t OR (q0_via4_NOTAreaidStdCellCore_temp3l OR q0_via4_NOTAreaidStdCellCore_temp3b)) |
| q0_via4_NOTAreaidStdCellCore_temp1r2 = GROW (GROW q0_via4_NOTAreaidStdCellCore_final_lay1_r TOP BY 0.3 BOTTOM BY 0.3) RIGHT BY 0.3 |
| q0_via4_NOTAreaidStdCellCore_temp3r2 = GROW (GROW q0_via4_NOTAreaidStdCellCore_final_lay3_r TOP BY 1.6 BOTTOM BY 1.6) RIGHT BY 1.6 |
| q0_via4_NOTAreaidStdCellCore_final_lay1_t = q0_via4_NOTAreaidStdCellCore_lay1_top_good OUTSIDE (q0_via4_NOTAreaidStdCellCore_temp1r2 OR (q0_via4_NOTAreaidStdCellCore_temp1l OR q0_via4_NOTAreaidStdCellCore_temp1b)) |
| q0_via4_NOTAreaidStdCellCore_final_lay3_t = q0_via4_NOTAreaidStdCellCore_lay3_top_good OUTSIDE (q0_via4_NOTAreaidStdCellCore_temp3r2 OR (q0_via4_NOTAreaidStdCellCore_temp3l OR q0_via4_NOTAreaidStdCellCore_temp3b)) |
| q0_via4_NOTAreaidStdCellCore_temp1t2 = GROW (GROW q0_via4_NOTAreaidStdCellCore_final_lay1_t LEFT BY 0.3 RIGHT BY 0.3) TOP BY 0.3 |
| q0_via4_NOTAreaidStdCellCore_temp3t2 = GROW (GROW q0_via4_NOTAreaidStdCellCore_final_lay3_t LEFT BY 1.6 RIGHT BY 1.6) TOP BY 1.6 |
| q0_via4_NOTAreaidStdCellCore_final_lay1_l = q0_via4_NOTAreaidStdCellCore_lay1_left_good OUTSIDE (q0_via4_NOTAreaidStdCellCore_temp1r2 OR (q0_via4_NOTAreaidStdCellCore_temp1t2 OR q0_via4_NOTAreaidStdCellCore_temp1b)) |
| q0_via4_NOTAreaidStdCellCore_final_lay3_l = q0_via4_NOTAreaidStdCellCore_lay3_left_good OUTSIDE (q0_via4_NOTAreaidStdCellCore_temp3r2 OR (q0_via4_NOTAreaidStdCellCore_temp3t2 OR q0_via4_NOTAreaidStdCellCore_temp3b)) |
| q0_via4_NOTAreaidStdCellCore_temp1l2 = GROW (GROW q0_via4_NOTAreaidStdCellCore_final_lay1_l TOP BY 0.3 BOTTOM BY 0.3) LEFT BY 0.3 |
| q0_via4_NOTAreaidStdCellCore_temp3l2 = GROW (GROW q0_via4_NOTAreaidStdCellCore_final_lay3_l TOP BY 1.6 BOTTOM BY 1.6) LEFT BY 1.6 |
| q0_via4_NOTAreaidStdCellCore_final_lay1_b = q0_via4_NOTAreaidStdCellCore_lay1_bott_good OUTSIDE (q0_via4_NOTAreaidStdCellCore_temp1r2 OR (q0_via4_NOTAreaidStdCellCore_temp1t2 OR q0_via4_NOTAreaidStdCellCore_temp1l2)) |
| q0_via4_NOTAreaidStdCellCore_final_lay3_b = q0_via4_NOTAreaidStdCellCore_lay3_bott_good OUTSIDE (q0_via4_NOTAreaidStdCellCore_temp3r2 OR (q0_via4_NOTAreaidStdCellCore_temp3t2 OR q0_via4_NOTAreaidStdCellCore_temp3l2)) |
| q0_via4_NOTAreaidStdCellCore_tmp_vias = GROW q0_via4_NOTAreaidStdCellCore_single_via RIGHT BY 1.6 TOP BY 1.6 LEFT BY 1.6 BOTTOM BY 1.6 |
| q0_via4_NOTAreaidStdCellCore_new_vias = q0_via4_NOTAreaidStdCellCore_tmp_vias NOT (GROW q0_via4_NOTAreaidStdCellCore_single_via RIGHT BY 0.8 TOP BY 0.8 LEFT BY 0.8 BOTTOM BY 0.8) |
| q0_via4_NOTAreaidStdCellCore_added_vias = q0_via4_NOTAreaidStdCellCore_new_vias INSIDE ((q0_via4_NOTAreaidStdCellCore_final_lay1_r AND q0_via4_NOTAreaidStdCellCore_final_lay3_r) OR ((q0_via4_NOTAreaidStdCellCore_final_lay1_t AND q0_via4_NOTAreaidStdCellCore_final_lay3_t) OR ((q0_via4_NOTAreaidStdCellCore_final_lay1_l AND q0_via4_NOTAreaidStdCellCore_final_lay3_l) OR (q0_via4_NOTAreaidStdCellCore_final_lay1_b AND q0_via4_NOTAreaidStdCellCore_final_lay3_b)))) |
| q0_via4_NOTAreaidStdCellCore_added_below = (INTERACT q0_via4_NOTAreaidStdCellCore_final_lay1_r q0_via4_NOTAreaidStdCellCore_added_vias) OR ((INTERACT q0_via4_NOTAreaidStdCellCore_final_lay1_t q0_via4_NOTAreaidStdCellCore_added_vias) OR ((INTERACT q0_via4_NOTAreaidStdCellCore_final_lay1_l q0_via4_NOTAreaidStdCellCore_added_vias) OR (INTERACT q0_via4_NOTAreaidStdCellCore_final_lay1_b q0_via4_NOTAreaidStdCellCore_added_vias))) |
| q0_via4_NOTAreaidStdCellCore_added_above = (INTERACT q0_via4_NOTAreaidStdCellCore_final_lay3_r q0_via4_NOTAreaidStdCellCore_added_vias) OR ((INTERACT q0_via4_NOTAreaidStdCellCore_final_lay3_t q0_via4_NOTAreaidStdCellCore_added_vias) OR ((INTERACT q0_via4_NOTAreaidStdCellCore_final_lay3_l q0_via4_NOTAreaidStdCellCore_added_vias) OR (INTERACT q0_via4_NOTAreaidStdCellCore_final_lay3_b q0_via4_NOTAreaidStdCellCore_added_vias))) |
| q0_via4_NOTAreaidStdCellCore_doubled_vias = INTERACT q0_via4_NOTAreaidStdCellCore_single_via (TOUCH q0_via4_NOTAreaidStdCellCore_lay1_enc q0_via4_NOTAreaidStdCellCore_added_below) |
| "v_12_q0_via4_NOTAreaidStdCellCore_added_vias" { |
| @ addedViaLayer: q0_via4_NOTAreaidStdCellCore_added_vias - q0_via4_NOTAreaidStdCellCore_added_vias |
| @ single via4_NOTAreaidStdCellCore that can be doubled |
| COPY q0_via4_NOTAreaidStdCellCore_added_vias |
| } |
| "v_13_q0_via4_NOTAreaidStdCellCore_added_below" { |
| @ addedViaLayer: q0_via4_NOTAreaidStdCellCore_added_below - q0_via4_NOTAreaidStdCellCore_added_below |
| @ single via4_NOTAreaidStdCellCore that can be doubled |
| COPY q0_via4_NOTAreaidStdCellCore_added_below |
| } |
| "v_14_q0_via4_NOTAreaidStdCellCore_added_above" { |
| @ addedViaLayer: q0_via4_NOTAreaidStdCellCore_added_above - q0_via4_NOTAreaidStdCellCore_added_above |
| @ single via4_NOTAreaidStdCellCore that can be doubled |
| COPY q0_via4_NOTAreaidStdCellCore_added_above |
| } |
| "s_4_X.18" { |
| @ single via4_NOTAreaidStdCellCore that can be doubled |
| COPY q0_via4_NOTAreaidStdCellCore_doubled_vias |
| } |
| buildSpace = EXTENT CELL "*_buildspace" ORIGINAL |
| q0nwellnotBuildSpace = nwell NOT buildSpace |
| "r_261_X.12a" { |
| @ X.12a: 0.635 min. spacing of moduleCutAREA & q0nwellnotBuildSpace |
| EXTERNAL moduleCutAREA q0nwellnotBuildSpace < 0.635 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_262_X.12b" { |
| @ X.12b: 0.635 min. enclosure of q0nwellnotBuildSpace by moduleCutAREA |
| q0nwellnotBuildSpaceand = q0nwellnotBuildSpace AND moduleCutAREA |
| ENCLOSURE q0nwellnotBuildSpaceand moduleCutAREA < 0.635 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| q0diffnotBuildSpace = diff NOT buildSpace |
| "r_263_X.12a" { |
| @ X.12a: 0.135 min. spacing of moduleCutAREA & q0diffnotBuildSpace |
| EXTERNAL moduleCutAREA q0diffnotBuildSpace < 0.135 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_264_X.12b" { |
| @ X.12b: 0.135 min. enclosure of q0diffnotBuildSpace by moduleCutAREA |
| q0diffnotBuildSpaceand = q0diffnotBuildSpace AND moduleCutAREA |
| ENCLOSURE q0diffnotBuildSpaceand moduleCutAREA < 0.135 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| q0dnwellnotBuildSpace = dnwell NOT buildSpace |
| "r_265_X.12a" { |
| @ X.12a: 3.15 min. spacing of moduleCutAREA & q0dnwellnotBuildSpace |
| EXTERNAL moduleCutAREA q0dnwellnotBuildSpace < 3.15 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_266_X.12b" { |
| @ X.12b: 3.15 min. enclosure of q0dnwellnotBuildSpace by moduleCutAREA |
| q0dnwellnotBuildSpaceand = q0dnwellnotBuildSpace AND moduleCutAREA |
| ENCLOSURE q0dnwellnotBuildSpaceand moduleCutAREA < 3.15 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| q0tapnotBuildSpace = tap NOT buildSpace |
| "r_267_X.12a" { |
| @ X.12a: 0.135 min. spacing of moduleCutAREA & q0tapnotBuildSpace |
| EXTERNAL moduleCutAREA q0tapnotBuildSpace < 0.135 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_268_X.12b" { |
| @ X.12b: 0.135 min. enclosure of q0tapnotBuildSpace by moduleCutAREA |
| q0tapnotBuildSpaceand = q0tapnotBuildSpace AND moduleCutAREA |
| ENCLOSURE q0tapnotBuildSpaceand moduleCutAREA < 0.135 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| q0lvtnnotBuildSpace = lvtn NOT buildSpace |
| "r_269_X.12a" { |
| @ X.12a: 0.19 min. spacing of moduleCutAREA & q0lvtnnotBuildSpace |
| EXTERNAL moduleCutAREA q0lvtnnotBuildSpace < 0.19 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_270_X.12b" { |
| @ X.12b: 0.19 min. enclosure of q0lvtnnotBuildSpace by moduleCutAREA |
| q0lvtnnotBuildSpaceand = q0lvtnnotBuildSpace AND moduleCutAREA |
| ENCLOSURE q0lvtnnotBuildSpaceand moduleCutAREA < 0.19 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| q0hvtpnotBuildSpace = hvtp NOT buildSpace |
| "r_271_X.12a" { |
| @ X.12a: 0.19 min. spacing of moduleCutAREA & q0hvtpnotBuildSpace |
| EXTERNAL moduleCutAREA q0hvtpnotBuildSpace < 0.19 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_272_X.12b" { |
| @ X.12b: 0.19 min. enclosure of q0hvtpnotBuildSpace by moduleCutAREA |
| q0hvtpnotBuildSpaceand = q0hvtpnotBuildSpace AND moduleCutAREA |
| ENCLOSURE q0hvtpnotBuildSpaceand moduleCutAREA < 0.19 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| q0hvinotBuildSpace = hvi NOT buildSpace |
| "r_273_X.12a" { |
| @ X.12a: 0.35 min. spacing of moduleCutAREA & q0hvinotBuildSpace |
| EXTERNAL moduleCutAREA q0hvinotBuildSpace < 0.35 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_274_X.12b" { |
| @ X.12b: 0.35 min. enclosure of q0hvinotBuildSpace by moduleCutAREA |
| q0hvinotBuildSpaceand = q0hvinotBuildSpace AND moduleCutAREA |
| ENCLOSURE q0hvinotBuildSpaceand moduleCutAREA < 0.35 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| q0tunmnotBuildSpace = tunm NOT buildSpace |
| "r_275_X.12a" { |
| @ X.12a: 0.25 min. spacing of moduleCutAREA & q0tunmnotBuildSpace |
| EXTERNAL moduleCutAREA q0tunmnotBuildSpace < 0.25 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_276_X.12b" { |
| @ X.12b: 0.25 min. enclosure of q0tunmnotBuildSpace by moduleCutAREA |
| q0tunmnotBuildSpaceand = q0tunmnotBuildSpace AND moduleCutAREA |
| ENCLOSURE q0tunmnotBuildSpaceand moduleCutAREA < 0.25 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| q0polynotBuildSpace = poly NOT buildSpace |
| "r_277_X.12a" { |
| @ X.12a: 0.105 min. spacing of moduleCutAREA & q0polynotBuildSpace |
| EXTERNAL moduleCutAREA q0polynotBuildSpace < 0.105 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_278_X.12b" { |
| @ X.12b: 0.105 min. enclosure of q0polynotBuildSpace by moduleCutAREA |
| q0polynotBuildSpaceand = q0polynotBuildSpace AND moduleCutAREA |
| ENCLOSURE q0polynotBuildSpaceand moduleCutAREA < 0.105 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| q0npcnotBuildSpace = npc NOT buildSpace |
| "r_279_X.12a" { |
| @ X.12a: 0.135 min. spacing of moduleCutAREA & q0npcnotBuildSpace |
| EXTERNAL moduleCutAREA q0npcnotBuildSpace < 0.135 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_280_X.12b" { |
| @ X.12b: 0.135 min. enclosure of q0npcnotBuildSpace by moduleCutAREA |
| q0npcnotBuildSpaceand = q0npcnotBuildSpace AND moduleCutAREA |
| ENCLOSURE q0npcnotBuildSpaceand moduleCutAREA < 0.135 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| q0nsdmnotBuildSpace = nsdm NOT buildSpace |
| "r_281_X.12a" { |
| @ X.12a: 0.19 min. spacing of moduleCutAREA & q0nsdmnotBuildSpace |
| EXTERNAL moduleCutAREA q0nsdmnotBuildSpace < 0.19 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_282_X.12b" { |
| @ X.12b: 0.19 min. enclosure of q0nsdmnotBuildSpace by moduleCutAREA |
| q0nsdmnotBuildSpaceand = q0nsdmnotBuildSpace AND moduleCutAREA |
| ENCLOSURE q0nsdmnotBuildSpaceand moduleCutAREA < 0.19 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| q0psdmnotBuildSpace = psdm NOT buildSpace |
| "r_283_X.12a" { |
| @ X.12a: 0.19 min. spacing of moduleCutAREA & q0psdmnotBuildSpace |
| EXTERNAL moduleCutAREA q0psdmnotBuildSpace < 0.19 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_284_X.12b" { |
| @ X.12b: 0.19 min. enclosure of q0psdmnotBuildSpace by moduleCutAREA |
| q0psdmnotBuildSpaceand = q0psdmnotBuildSpace AND moduleCutAREA |
| ENCLOSURE q0psdmnotBuildSpaceand moduleCutAREA < 0.19 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| q0licon1notBuildSpace = licon1 NOT buildSpace |
| "r_285_X.12a" { |
| @ X.12a: 0.085 min. spacing of moduleCutAREA & q0licon1notBuildSpace |
| EXTERNAL moduleCutAREA q0licon1notBuildSpace < 0.085 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_286_X.12b" { |
| @ X.12b: 0.085 min. enclosure of q0licon1notBuildSpace by moduleCutAREA |
| q0licon1notBuildSpaceand = q0licon1notBuildSpace AND moduleCutAREA |
| ENCLOSURE q0licon1notBuildSpaceand moduleCutAREA < 0.085 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| q0li1notBuildSpace = li1 NOT buildSpace |
| "r_287_X.12a" { |
| @ X.12a: 0.085 min. spacing of moduleCutAREA & q0li1notBuildSpace |
| EXTERNAL moduleCutAREA q0li1notBuildSpace < 0.085 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_288_X.12b" { |
| @ X.12b: 0.085 min. enclosure of q0li1notBuildSpace by moduleCutAREA |
| q0li1notBuildSpaceand = q0li1notBuildSpace AND moduleCutAREA |
| ENCLOSURE q0li1notBuildSpaceand moduleCutAREA < 0.085 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| q0mconnotBuildSpace = mcon NOT buildSpace |
| "r_289_X.12a" { |
| @ X.12a: 0.095 min. spacing of moduleCutAREA & q0mconnotBuildSpace |
| EXTERNAL moduleCutAREA q0mconnotBuildSpace < 0.095 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_290_X.12b" { |
| @ X.12b: 0.095 min. enclosure of q0mconnotBuildSpace by moduleCutAREA |
| q0mconnotBuildSpaceand = q0mconnotBuildSpace AND moduleCutAREA |
| ENCLOSURE q0mconnotBuildSpaceand moduleCutAREA < 0.095 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| q0met1notBuildSpace = met1 NOT buildSpace |
| "r_291_X.12a" { |
| @ X.12a: 0.07 min. spacing of moduleCutAREA & q0met1notBuildSpace |
| EXTERNAL moduleCutAREA q0met1notBuildSpace < 0.07 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_292_X.12b" { |
| @ X.12b: 0.07 min. enclosure of q0met1notBuildSpace by moduleCutAREA |
| q0met1notBuildSpaceand = q0met1notBuildSpace AND moduleCutAREA |
| ENCLOSURE q0met1notBuildSpaceand moduleCutAREA < 0.07 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| q0vianotBuildSpace = via NOT buildSpace |
| "r_293_X.12a" { |
| @ X.12a: 0.085 min. spacing of moduleCutAREA & q0vianotBuildSpace |
| EXTERNAL moduleCutAREA q0vianotBuildSpace < 0.085 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_294_X.12b" { |
| @ X.12b: 0.085 min. enclosure of q0vianotBuildSpace by moduleCutAREA |
| q0vianotBuildSpaceand = q0vianotBuildSpace AND moduleCutAREA |
| ENCLOSURE q0vianotBuildSpaceand moduleCutAREA < 0.085 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| q0met2notBuildSpace = met2 NOT buildSpace |
| "r_295_X.12a" { |
| @ X.12a: 0.07 min. spacing of moduleCutAREA & q0met2notBuildSpace |
| EXTERNAL moduleCutAREA q0met2notBuildSpace < 0.07 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_296_X.12b" { |
| @ X.12b: 0.07 min. enclosure of q0met2notBuildSpace by moduleCutAREA |
| q0met2notBuildSpaceand = q0met2notBuildSpace AND moduleCutAREA |
| ENCLOSURE q0met2notBuildSpaceand moduleCutAREA < 0.07 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| q0via2notBuildSpace = via2 NOT buildSpace |
| "r_297_X.12a" { |
| @ X.12a: 0.1 min. spacing of moduleCutAREA & q0via2notBuildSpace |
| EXTERNAL moduleCutAREA q0via2notBuildSpace < 0.1 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_298_X.12b" { |
| @ X.12b: 0.1 min. enclosure of q0via2notBuildSpace by moduleCutAREA |
| q0via2notBuildSpaceand = q0via2notBuildSpace AND moduleCutAREA |
| ENCLOSURE q0via2notBuildSpaceand moduleCutAREA < 0.1 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| q0met3notBuildSpace = met3 NOT buildSpace |
| "r_299_X.12a" { |
| @ X.12a: 0.15 min. spacing of moduleCutAREA & q0met3notBuildSpace |
| EXTERNAL moduleCutAREA q0met3notBuildSpace < 0.15 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_300_X.12b" { |
| @ X.12b: 0.15 min. enclosure of q0met3notBuildSpace by moduleCutAREA |
| q0met3notBuildSpaceand = q0met3notBuildSpace AND moduleCutAREA |
| ENCLOSURE q0met3notBuildSpaceand moduleCutAREA < 0.15 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| q0via3notBuildSpace = via3 NOT buildSpace |
| "r_301_X.12a" { |
| @ X.12a: 0.1 min. spacing of moduleCutAREA & q0via3notBuildSpace |
| EXTERNAL moduleCutAREA q0via3notBuildSpace < 0.1 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_302_X.12b" { |
| @ X.12b: 0.1 min. enclosure of q0via3notBuildSpace by moduleCutAREA |
| q0via3notBuildSpaceand = q0via3notBuildSpace AND moduleCutAREA |
| ENCLOSURE q0via3notBuildSpaceand moduleCutAREA < 0.1 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| q0met4notBuildSpace = met4 NOT buildSpace |
| "r_303_X.12a" { |
| @ X.12a: 0.15 min. spacing of moduleCutAREA & q0met4notBuildSpace |
| EXTERNAL moduleCutAREA q0met4notBuildSpace < 0.15 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_304_X.12b" { |
| @ X.12b: 0.15 min. enclosure of q0met4notBuildSpace by moduleCutAREA |
| q0met4notBuildSpaceand = q0met4notBuildSpace AND moduleCutAREA |
| ENCLOSURE q0met4notBuildSpaceand moduleCutAREA < 0.15 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| q0via4notBuildSpace = via4 NOT buildSpace |
| "r_305_X.12a" { |
| @ X.12a: 0.4 min. spacing of moduleCutAREA & q0via4notBuildSpace |
| EXTERNAL moduleCutAREA q0via4notBuildSpace < 0.4 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_306_X.12b" { |
| @ X.12b: 0.4 min. enclosure of q0via4notBuildSpace by moduleCutAREA |
| q0via4notBuildSpaceand = q0via4notBuildSpace AND moduleCutAREA |
| ENCLOSURE q0via4notBuildSpaceand moduleCutAREA < 0.4 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| q0met5notBuildSpace = met5 NOT buildSpace |
| "r_307_X.12a" { |
| @ X.12a: 0.8 min. spacing of moduleCutAREA & q0met5notBuildSpace |
| EXTERNAL moduleCutAREA q0met5notBuildSpace < 0.8 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_308_X.12b" { |
| @ X.12b: 0.8 min. enclosure of q0met5notBuildSpace by moduleCutAREA |
| q0met5notBuildSpaceand = q0met5notBuildSpace AND moduleCutAREA |
| ENCLOSURE q0met5notBuildSpaceand moduleCutAREA < 0.8 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| q0nsmnotBuildSpace = nsm NOT buildSpace |
| "r_309_X.12a" { |
| @ X.12a: 2 min. spacing of moduleCutAREA & q0nsmnotBuildSpace |
| EXTERNAL moduleCutAREA q0nsmnotBuildSpace < 2.0 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_310_X.12b" { |
| @ X.12b: 2 min. enclosure of q0nsmnotBuildSpace by moduleCutAREA |
| q0nsmnotBuildSpaceand = q0nsmnotBuildSpace AND moduleCutAREA |
| ENCLOSURE q0nsmnotBuildSpaceand moduleCutAREA < 2.0 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| q0padnotBuildSpace = pad NOT buildSpace |
| "r_311_X.12a" { |
| @ X.12a: 0.635 min. spacing of moduleCutAREA & q0padnotBuildSpace |
| EXTERNAL moduleCutAREA q0padnotBuildSpace < 0.635 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_312_X.12b" { |
| @ X.12b: 0.635 min. enclosure of q0padnotBuildSpace by moduleCutAREA |
| q0padnotBuildSpaceand = q0padnotBuildSpace AND moduleCutAREA |
| ENCLOSURE q0padnotBuildSpaceand moduleCutAREA < 0.635 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| q0ldntmnotBuildSpace = ldntm NOT buildSpace |
| "r_313_X.12a" { |
| @ X.12a: 0.35 min. spacing of moduleCutAREA & q0ldntmnotBuildSpace |
| EXTERNAL moduleCutAREA q0ldntmnotBuildSpace < 0.35 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_314_X.12b" { |
| @ X.12b: 0.35 min. enclosure of q0ldntmnotBuildSpace by moduleCutAREA |
| q0ldntmnotBuildSpaceand = q0ldntmnotBuildSpace AND moduleCutAREA |
| ENCLOSURE q0ldntmnotBuildSpaceand moduleCutAREA < 0.35 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| q0hvntmnotBuildSpace = hvntm NOT buildSpace |
| "r_315_X.12a" { |
| @ X.12a: 0.19 min. spacing of moduleCutAREA & q0hvntmnotBuildSpace |
| EXTERNAL moduleCutAREA q0hvntmnotBuildSpace < 0.19 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_316_X.12b" { |
| @ X.12b: 0.19 min. enclosure of q0hvntmnotBuildSpace by moduleCutAREA |
| q0hvntmnotBuildSpaceand = q0hvntmnotBuildSpace AND moduleCutAREA |
| ENCLOSURE q0hvntmnotBuildSpaceand moduleCutAREA < 0.19 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| q0ncmnotBuildSpace = ncm NOT buildSpace |
| "r_317_X.12a" { |
| @ X.12a: 0.19 min. spacing of moduleCutAREA & q0ncmnotBuildSpace |
| EXTERNAL moduleCutAREA q0ncmnotBuildSpace < 0.19 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_318_X.12b" { |
| @ X.12b: 0.19 min. enclosure of q0ncmnotBuildSpace by moduleCutAREA |
| q0ncmnotBuildSpaceand = q0ncmnotBuildSpace AND moduleCutAREA |
| ENCLOSURE q0ncmnotBuildSpaceand moduleCutAREA < 0.19 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| q0rdlnotBuildSpace = rdl NOT buildSpace |
| "r_319_X.12a" { |
| @ X.12a: 5 min. spacing of moduleCutAREA & q0rdlnotBuildSpace |
| EXTERNAL moduleCutAREA q0rdlnotBuildSpace < 5.0 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_320_X.12b" { |
| @ X.12b: 5 min. enclosure of q0rdlnotBuildSpace by moduleCutAREA |
| q0rdlnotBuildSpaceand = q0rdlnotBuildSpace AND moduleCutAREA |
| ENCLOSURE q0rdlnotBuildSpaceand moduleCutAREA < 5.0 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| q0hvtrnotBuildSpace = hvtr NOT buildSpace |
| "r_321_X.12a" { |
| @ X.12a: 0.19 min. spacing of moduleCutAREA & q0hvtrnotBuildSpace |
| EXTERNAL moduleCutAREA q0hvtrnotBuildSpace < 0.19 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_322_X.12b" { |
| @ X.12b: 0.19 min. enclosure of q0hvtrnotBuildSpace by moduleCutAREA |
| q0hvtrnotBuildSpaceand = q0hvtrnotBuildSpace AND moduleCutAREA |
| ENCLOSURE q0hvtrnotBuildSpaceand moduleCutAREA < 0.19 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| q1met1notBuildSpace = (WITH WIDTH met1 >= 3.0) NOT (SEALnoHoles_ORIGIN OR buildSpace) |
| "r_323_X.12d" { |
| @ X.12d: 0.14 min. spacing of moduleCutAREA & q1met1notBuildSpace |
| EXTERNAL moduleCutAREA q1met1notBuildSpace < 0.14 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_324_X.12e" { |
| @ X.12e: 0.14 min. enclosure of q1met1notBuildSpace by moduleCutAREA |
| q1met1notBuildSpaceand = q1met1notBuildSpace AND moduleCutAREA |
| ENCLOSURE q1met1notBuildSpaceand moduleCutAREA < 0.14 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| q1met2notBuildSpace = (WITH WIDTH met2 >= 3.0) NOT (SEALnoHoles_ORIGIN OR buildSpace) |
| "r_325_X.12d" { |
| @ X.12d: 0.14 min. spacing of moduleCutAREA & q1met2notBuildSpace |
| EXTERNAL moduleCutAREA q1met2notBuildSpace < 0.14 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_326_X.12e" { |
| @ X.12e: 0.14 min. enclosure of q1met2notBuildSpace by moduleCutAREA |
| q1met2notBuildSpaceand = q1met2notBuildSpace AND moduleCutAREA |
| ENCLOSURE q1met2notBuildSpaceand moduleCutAREA < 0.14 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| q1met3notBuildSpace = (WITH WIDTH met3 >= 3.0) NOT (SEALnoHoles_ORIGIN OR buildSpace) |
| "r_327_X.12d" { |
| @ X.12d: 0.2 min. spacing of moduleCutAREA & q1met3notBuildSpace |
| EXTERNAL moduleCutAREA q1met3notBuildSpace < 0.2 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_328_X.12e" { |
| @ X.12e: 0.2 min. enclosure of q1met3notBuildSpace by moduleCutAREA |
| q1met3notBuildSpaceand = q1met3notBuildSpace AND moduleCutAREA |
| ENCLOSURE q1met3notBuildSpaceand moduleCutAREA < 0.2 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| q1met4notBuildSpace = (WITH WIDTH met4 >= 3.0) NOT (SEALnoHoles_ORIGIN OR buildSpace) |
| "r_329_X.12d" { |
| @ X.12d: 0.2 min. spacing of moduleCutAREA & q1met4notBuildSpace |
| EXTERNAL moduleCutAREA q1met4notBuildSpace < 0.2 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_330_X.12e" { |
| @ X.12e: 0.2 min. enclosure of q1met4notBuildSpace by moduleCutAREA |
| q1met4notBuildSpaceand = q1met4notBuildSpace AND moduleCutAREA |
| ENCLOSURE q1met4notBuildSpaceand moduleCutAREA < 0.2 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| //add cap, cap2m |
| "r_331_X.12e" { |
| @ X.12e: 0.42 min. spacing of moduleCutAREA & capm |
| EXTERNAL moduleCutAREA capm < 0.42 ABUT < 90 SINGULAR REGION |
| } |
| "r_326_X.18b" { |
| @ X.18b: 0.42 min. enclosure of capm by moduleCutAREA |
| q0capmand = capm AND moduleCutAREA |
| ENCLOSURE q0capmand moduleCutAREA < 0.42 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| "r_327_X.18a" { |
| @ X.18a: 0.42 min. spacing of moduleCutAREA & cap2m |
| EXTERNAL moduleCutAREA cap2m < 0.42 ABUT < 90 SINGULAR REGION |
| } |
| "r_328_X.18b" { |
| @ X.18b: 0.42 min. enclosure of cap2m by moduleCutAREA |
| q0cap2mand = cap2m AND moduleCutAREA |
| ENCLOSURE q0cap2mand moduleCutAREA < 0.42 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| /// |
| q0cfom = cfom NOT (COREID OR |
| (SEALID OR |
| (moduleCutAREA OR frameBndr))) |
| "r_331_X.15a" { |
| @ X.15a: X.15a: layer cfom allowed inside areaid:mt or inside areaid.sl or inside areaid.ft |
| COPY q0cfom |
| } |
| q0clvtnm = clvtnm NOT (COREID OR |
| (SEALID OR |
| (moduleCutAREA OR frameBndr))) |
| "r_332_X.15a" { |
| @ X.15a: X.15a: layer clvtnm allowed inside areaid:mt or inside areaid.sl or inside areaid.ft |
| COPY q0clvtnm |
| } |
| q0chvtpm = chvtpm NOT (COREID OR |
| (SEALID OR |
| (moduleCutAREA OR frameBndr))) |
| "r_333_X.15a" { |
| @ X.15a: X.15a: layer chvtpm allowed inside areaid:mt or inside areaid.sl or inside areaid.ft |
| COPY q0chvtpm |
| } |
| q0conom = conom NOT (COREID OR |
| (SEALID OR |
| (moduleCutAREA OR frameBndr))) |
| "r_334_X.15a" { |
| @ X.15a: X.15a: layer conom allowed inside areaid:mt or inside areaid.sl or inside areaid.ft |
| COPY q0conom |
| } |
| q0clvom = clvom NOT (COREID OR |
| (SEALID OR |
| (moduleCutAREA OR frameBndr))) |
| "r_335_X.15a" { |
| @ X.15a: X.15a: layer clvom allowed inside areaid:mt or inside areaid.sl or inside areaid.ft |
| COPY q0clvom |
| } |
| q0cntm = cntm NOT (COREID OR |
| (SEALID OR |
| (moduleCutAREA OR frameBndr))) |
| "r_336_X.15a" { |
| @ X.15a: X.15a: layer cntm allowed inside areaid:mt or inside areaid.sl or inside areaid.ft |
| COPY q0cntm |
| } |
| q0chvntm = chvntm NOT (COREID OR |
| (SEALID OR |
| (moduleCutAREA OR frameBndr))) |
| "r_337_X.15a" { |
| @ X.15a: X.15a: layer chvntm allowed inside areaid:mt or inside areaid.sl or inside areaid.ft |
| COPY q0chvntm |
| } |
| q0cnpc = cnpc NOT (COREID OR |
| (SEALID OR |
| (moduleCutAREA OR frameBndr))) |
| "r_338_X.15a" { |
| @ X.15a: X.15a: layer cnpc allowed inside areaid:mt or inside areaid.sl or inside areaid.ft |
| COPY q0cnpc |
| } |
| q0cnsdm = cnsdm NOT (COREID OR |
| (SEALID OR |
| (moduleCutAREA OR frameBndr))) |
| "r_339_X.15a" { |
| @ X.15a: X.15a: layer cnsdm allowed inside areaid:mt or inside areaid.sl or inside areaid.ft |
| COPY q0cnsdm |
| } |
| q0cpsdm = cpsdm NOT (COREID OR |
| (SEALID OR |
| (moduleCutAREA OR frameBndr))) |
| "r_340_X.15a" { |
| @ X.15a: X.15a: layer cpsdm allowed inside areaid:mt or inside areaid.sl or inside areaid.ft |
| COPY q0cpsdm |
| } |
| q0cli1m = cli1m NOT (COREID OR |
| (SEALID OR |
| (moduleCutAREA OR frameBndr))) |
| "r_341_X.15a" { |
| @ X.15a: X.15a: layer cli1m allowed inside areaid:mt or inside areaid.sl or inside areaid.ft |
| COPY q0cli1m |
| } |
| q0cviam3 = cviam3 NOT (COREID OR |
| (SEALID OR |
| (moduleCutAREA OR frameBndr))) |
| "r_342_X.15a" { |
| @ X.15a: X.15a: layer cviam3 allowed inside areaid:mt or inside areaid.sl or inside areaid.ft |
| COPY q0cviam3 |
| } |
| q0cviam4 = cviam4 NOT (COREID OR |
| (SEALID OR |
| (moduleCutAREA OR frameBndr))) |
| "r_343_X.15a" { |
| @ X.15a: X.15a: layer cviam4 allowed inside areaid:mt or inside areaid.sl or inside areaid.ft |
| COPY q0cviam4 |
| } |
| q0PMM2mk = PMM2mk NOT (COREID OR |
| (SEALID OR |
| (moduleCutAREA OR frameBndr))) |
| "r_344_X.15a" { |
| @ X.15a: X.15a: layer PMM2mk allowed inside areaid:mt or inside areaid.sl or inside areaid.ft |
| COPY q0PMM2mk |
| } |
| q0CU1Mmk = CU1Mmk NOT (COREID OR |
| (SEALID OR |
| (moduleCutAREA OR frameBndr))) |
| "r_345_X.15a" { |
| @ X.15a: X.15a: layer CU1Mmk allowed inside areaid:mt or inside areaid.sl or inside areaid.ft |
| COPY q0CU1Mmk |
| } |
| q0RPMmk = RPMmk NOT (COREID OR |
| (SEALID OR |
| (moduleCutAREA OR frameBndr))) |
| "r_346_X.15a" { |
| @ X.15a: X.15a: layer RPMmk allowed inside areaid:mt or inside areaid.sl or inside areaid.ft |
| COPY q0RPMmk |
| } |
| q0PBOmk = PBOmk NOT (COREID OR |
| (SEALID OR |
| (moduleCutAREA OR frameBndr))) |
| "r_347_X.15a" { |
| @ X.15a: X.15a: layer PBOmk allowed inside areaid:mt or inside areaid.sl or inside areaid.ft |
| COPY q0PBOmk |
| } |
| q0PDMmk = PDMmk NOT (COREID OR |
| (SEALID OR |
| (moduleCutAREA OR frameBndr))) |
| "r_348_X.15a" { |
| @ X.15a: X.15a: layer PDMmk allowed inside areaid:mt or inside areaid.sl or inside areaid.ft |
| COPY q0PDMmk |
| } |
| q0NSMmk = NSMmk NOT (COREID OR |
| (SEALID OR |
| (moduleCutAREA OR frameBndr))) |
| "r_349_X.15a" { |
| @ X.15a: X.15a: layer NSMmk allowed inside areaid:mt or inside areaid.sl or inside areaid.ft |
| COPY q0NSMmk |
| } |
| q0MM5mk = MM5mk NOT (COREID OR |
| (SEALID OR |
| (moduleCutAREA OR frameBndr))) |
| "r_350_X.15a" { |
| @ X.15a: X.15a: layer MM5mk allowed inside areaid:mt or inside areaid.sl or inside areaid.ft |
| COPY q0MM5mk |
| } |
| q0VIM4mk = VIM4mk NOT (COREID OR |
| (SEALID OR |
| (moduleCutAREA OR frameBndr))) |
| "r_351_X.15a" { |
| @ X.15a: X.15a: layer VIM4mk allowed inside areaid:mt or inside areaid.sl or inside areaid.ft |
| COPY q0VIM4mk |
| } |
| q0MM4mk = MM4mk NOT (COREID OR |
| (SEALID OR |
| (moduleCutAREA OR frameBndr))) |
| "r_352_X.15a" { |
| @ X.15a: X.15a: layer MM4mk allowed inside areaid:mt or inside areaid.sl or inside areaid.ft |
| COPY q0MM4mk |
| } |
| q0VIM3mk = VIM3mk NOT (COREID OR |
| (SEALID OR |
| (moduleCutAREA OR frameBndr))) |
| "r_353_X.15a" { |
| @ X.15a: X.15a: layer VIM3mk allowed inside areaid:mt or inside areaid.sl or inside areaid.ft |
| COPY q0VIM3mk |
| } |
| q0MM3mk = MM3mk NOT (COREID OR |
| (SEALID OR |
| (moduleCutAREA OR frameBndr))) |
| "r_354_X.15a" { |
| @ X.15a: X.15a: layer MM3mk allowed inside areaid:mt or inside areaid.sl or inside areaid.ft |
| COPY q0MM3mk |
| } |
| q0VIM2mk = VIM2mk NOT (COREID OR |
| (SEALID OR |
| (moduleCutAREA OR frameBndr))) |
| "r_355_X.15a" { |
| @ X.15a: X.15a: layer VIM2mk allowed inside areaid:mt or inside areaid.sl or inside areaid.ft |
| COPY q0VIM2mk |
| } |
| q0MM2mk = MM2mk NOT (COREID OR |
| (SEALID OR |
| (moduleCutAREA OR frameBndr))) |
| "r_356_X.15a" { |
| @ X.15a: X.15a: layer MM2mk allowed inside areaid:mt or inside areaid.sl or inside areaid.ft |
| COPY q0MM2mk |
| } |
| q0VIMmk = VIMmk NOT (COREID OR |
| (SEALID OR |
| (moduleCutAREA OR frameBndr))) |
| "r_357_X.15a" { |
| @ X.15a: X.15a: layer VIMmk allowed inside areaid:mt or inside areaid.sl or inside areaid.ft |
| COPY q0VIMmk |
| } |
| q0MM1mk = MM1mk NOT (COREID OR |
| (SEALID OR |
| (moduleCutAREA OR frameBndr))) |
| "r_358_X.15a" { |
| @ X.15a: X.15a: layer MM1mk allowed inside areaid:mt or inside areaid.sl or inside areaid.ft |
| COPY q0MM1mk |
| } |
| q0CTM1mk = CTM1mk NOT (COREID OR |
| (SEALID OR |
| (moduleCutAREA OR frameBndr))) |
| "r_359_X.15a" { |
| @ X.15a: X.15a: layer CTM1mk allowed inside areaid:mt or inside areaid.sl or inside areaid.ft |
| COPY q0CTM1mk |
| } |
| q0LI1Mmk = LI1Mmk NOT (COREID OR |
| (SEALID OR |
| (moduleCutAREA OR frameBndr))) |
| "r_360_X.15a" { |
| @ X.15a: X.15a: layer LI1Mmk allowed inside areaid:mt or inside areaid.sl or inside areaid.ft |
| COPY q0LI1Mmk |
| } |
| q0LICM1mk = LICM1mk NOT (COREID OR |
| (SEALID OR |
| (moduleCutAREA OR frameBndr))) |
| "r_361_X.15a" { |
| @ X.15a: X.15a: layer LICM1mk allowed inside areaid:mt or inside areaid.sl or inside areaid.ft |
| COPY q0LICM1mk |
| } |
| q0PSDMmk = PSDMmk NOT (COREID OR |
| (SEALID OR |
| (moduleCutAREA OR frameBndr))) |
| "r_362_X.15a" { |
| @ X.15a: X.15a: layer PSDMmk allowed inside areaid:mt or inside areaid.sl or inside areaid.ft |
| COPY q0PSDMmk |
| } |
| q0NSDMmk = NSDMmk NOT (COREID OR |
| (SEALID OR |
| (moduleCutAREA OR frameBndr))) |
| "r_363_X.15a" { |
| @ X.15a: X.15a: layer NSDMmk allowed inside areaid:mt or inside areaid.sl or inside areaid.ft |
| COPY q0NSDMmk |
| } |
| q0LDNTMmk = LDNTMmk NOT (COREID OR |
| (SEALID OR |
| (moduleCutAREA OR frameBndr))) |
| "r_364_X.15a" { |
| @ X.15a: X.15a: layer LDNTMmk allowed inside areaid:mt or inside areaid.sl or inside areaid.ft |
| COPY q0LDNTMmk |
| } |
| q0NPCMmk = NPCMmk NOT (COREID OR |
| (SEALID OR |
| (moduleCutAREA OR frameBndr))) |
| "r_365_X.15a" { |
| @ X.15a: X.15a: layer NPCMmk allowed inside areaid:mt or inside areaid.sl or inside areaid.ft |
| COPY q0NPCMmk |
| } |
| q0HVNTMmk = HVNTMmk NOT (COREID OR |
| (SEALID OR |
| (moduleCutAREA OR frameBndr))) |
| "r_366_X.15a" { |
| @ X.15a: X.15a: layer HVNTMmk allowed inside areaid:mt or inside areaid.sl or inside areaid.ft |
| COPY q0HVNTMmk |
| } |
| q0NTMmk = NTMmk NOT (COREID OR |
| (SEALID OR |
| (moduleCutAREA OR frameBndr))) |
| "r_367_X.15a" { |
| @ X.15a: X.15a: layer NTMmk allowed inside areaid:mt or inside areaid.sl or inside areaid.ft |
| COPY q0NTMmk |
| } |
| q0P1Mmk = P1Mmk NOT (COREID OR |
| (SEALID OR |
| (moduleCutAREA OR frameBndr))) |
| "r_368_X.15a" { |
| @ X.15a: X.15a: layer P1Mmk allowed inside areaid:mt or inside areaid.sl or inside areaid.ft |
| COPY q0P1Mmk |
| } |
| q0LVOMmk = LVOMmk NOT (COREID OR |
| (SEALID OR |
| (moduleCutAREA OR frameBndr))) |
| "r_369_X.15a" { |
| @ X.15a: X.15a: layer LVOMmk allowed inside areaid:mt or inside areaid.sl or inside areaid.ft |
| COPY q0LVOMmk |
| } |
| q0ONOMmk = ONOMmk NOT (COREID OR |
| (SEALID OR |
| (moduleCutAREA OR frameBndr))) |
| "r_370_X.15a" { |
| @ X.15a: X.15a: layer ONOMmk allowed inside areaid:mt or inside areaid.sl or inside areaid.ft |
| COPY q0ONOMmk |
| } |
| q0TUNMmk = TUNMmk NOT (COREID OR |
| (SEALID OR |
| (moduleCutAREA OR frameBndr))) |
| "r_371_X.15a" { |
| @ X.15a: X.15a: layer TUNMmk allowed inside areaid:mt or inside areaid.sl or inside areaid.ft |
| COPY q0TUNMmk |
| } |
| q0HVTRMmk = HVTRMmk NOT (COREID OR |
| (SEALID OR |
| (moduleCutAREA OR frameBndr))) |
| "r_372_X.15a" { |
| @ X.15a: X.15a: layer HVTRMmk allowed inside areaid:mt or inside areaid.sl or inside areaid.ft |
| COPY q0HVTRMmk |
| } |
| q0HVTPMmk = HVTPMmk NOT (COREID OR |
| (SEALID OR |
| (moduleCutAREA OR frameBndr))) |
| "r_373_X.15a" { |
| @ X.15a: X.15a: layer HVTPMmk allowed inside areaid:mt or inside areaid.sl or inside areaid.ft |
| COPY q0HVTPMmk |
| } |
| q0LVTNMmk = LVTNMmk NOT (COREID OR |
| (SEALID OR |
| (moduleCutAREA OR frameBndr))) |
| "r_374_X.15a" { |
| @ X.15a: X.15a: layer LVTNMmk allowed inside areaid:mt or inside areaid.sl or inside areaid.ft |
| COPY q0LVTNMmk |
| } |
| q0NWMmk = NWMmk NOT (COREID OR |
| (SEALID OR |
| (moduleCutAREA OR frameBndr))) |
| "r_375_X.15a" { |
| @ X.15a: X.15a: layer NWMmk allowed inside areaid:mt or inside areaid.sl or inside areaid.ft |
| COPY q0NWMmk |
| } |
| q0DNMmk = DNMmk NOT (COREID OR |
| (SEALID OR |
| (moduleCutAREA OR frameBndr))) |
| "r_376_X.15a" { |
| @ X.15a: X.15a: layer DNMmk allowed inside areaid:mt or inside areaid.sl or inside areaid.ft |
| COPY q0DNMmk |
| } |
| q0FOMmk = FOMmk NOT (COREID OR |
| (SEALID OR |
| (moduleCutAREA OR frameBndr))) |
| "r_377_X.15a" { |
| @ X.15a: X.15a: layer FOMmk allowed inside areaid:mt or inside areaid.sl or inside areaid.ft |
| COPY q0FOMmk |
| } |
| areaidMTorSC = moduleCutArea OR STDCID |
| SEALIDextent = EXTENT SEALID |
| SEALID_6um = SEALID AND ((EXTENT CELL "advSeal_6um*" ORIGINAL) OR (EXTENT CELL "cuPillarAdvSeal_6um*" ORIGINAL)) |
| diffOfA1K = INTERACT diff (EXPAND EDGE (LENGTH (DONUT DIFF) > 1000) INSIDE BY 0.005) |
| diffRingSeal = INTERACT (INTERACT diff (INTERNAL diffOfA1K == 0.3 ABUT < 90 SINGULAR REGION)) SEALID |
| "r_378_X.16" { |
| @ X.16: extentDie must not overlap moduleCutAREA |
| extentDie AND moduleCutAREA |
| } |
| SEALnotOrigin = TVF CALtvfOriginCheck SEALIDextent |
| "r_379_X.19" { |
| @ X.19: SEAL ring is not at origin (0,0) |
| COPY SEALnotOrigin |
| } |
| "r_380_X.21" { |
| @ X.21: prune must overlap areaidMTorSC |
| prune OUTSIDE areaidMTorSC |
| } |
| "r_381_X.23b" { |
| @ X.23b: diff must not straddle SEALID |
| CUT diff SEALID |
| } |
| "r_382_X.23c" { |
| @ X.23c: tap must not overlap SEALID |
| tap AND SEALID |
| } |
| "r_383_X.23c" { |
| @ X.23c: poly must not overlap SEALID |
| poly AND SEALID |
| } |
| "r_384_X.23c" { |
| @ X.23c: li1 must not overlap SEALID |
| li1 AND SEALID |
| } |
| "r_385_X.23c" { |
| @ X.23c: met1 must not overlap SEALID |
| met1 AND SEALID |
| } |
| "r_386_X.23c" { |
| @ X.23c: met2 must not overlap SEALID |
| met2 AND SEALID |
| } |
| "r_387_X.23c" { |
| @ X.23c: met3 must not overlap SEALID |
| met3 AND SEALID |
| } |
| "r_388_X.23c" { |
| @ X.23c: met4 must not overlap SEALID |
| met4 AND SEALID |
| } |
| "r_389_X.23c" { |
| @ X.23c: met5 must not overlap SEALID |
| met5 AND SEALID |
| } |
| "r_390_X.26" { |
| @ X.26: SEALID_6um must overlap diff |
| SEALID_6um OUTSIDE diff |
| } |
| ptapStradLocSub = CUT PTAP localSub |
| validPNPcell = (EXTENT CELL "s8rf_pnp" ORIGINAL) OR |
| ((EXTENT CELL "s8rf_pnp5x" ORIGINAL) OR |
| ((EXTENT CELL "s8tesd_iref_pnp") OR (EXTENT CELL "stk14ecx*" ORIGINAL))) |
| invalidPNP = pnp NOT validPNPcell |
| "s_5_X.23f" { |
| @ X.23f: ptap must not straddle localSub |
| COPY ptapStradLocSub |
| } |
| "r_391_X.25" { |
| @ X.25: pnp layer must be within specified fixed layout cells s8rf_pnp/s8rf_pnp5x |
| COPY invalidPNP |
| } |
| partNum_pcells = EXTENT CELL "partnum*" ORIGINAL |
| partNum_blockpcells = EXTENT CELL "partnum*block*" ORIGINAL |
| sealidWithExclusion = WITH TEXT SEALnoHoles_ORIGIN "partnum_not_necessary" textlabel |
| sealidWithPartnum = INTERACT SEALnoHoles_ORIGIN partNum_pcells |
| badSealidTmp = SEALnoHoles_ORIGIN NOT sealidWithPartnum |
| badSealid = badSealidTmp NOT sealidWithExclusion |
| InvalidPcell_X27 = partNum_pcells NOT partNum_blockpcells |
| "s_6_X.27" { |
| @ X.27: partnum or partnum exclusion 'partnum_not_necessary' not present on chip |
| COPY badSealid |
| } |
| "s_7_X.27" { |
| @ X.27: partnum*block pcell should be used instead of partnum* pcells |
| COPY InvalidPcell_X27 |
| } |
| "r_392_X.28" { |
| @ X.28: 6 min. width of SEALID |
| INTERNAL SEALID < 6.0 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| nwellring = DONUT nwell |
| photoDiode = INTERACT dnwell (dnwell AND photoID) |
| dnwellNotPhoto = dnwell NOT photoDiode |
| dnwellNotPhotoNotUHVI = dnwellNotPhoto NOT uhvi |
| PDIFFNotExempt = PDIFF NOT exempt_Pdiff_Cells |
| badLocalSub = (CUT dnwell localSub) AND localSub |
| "r_393_dnwell.2" { |
| @ dnwell.2: 3 min. width of dnwell |
| INTERNAL dnwell < 3.0 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_394_dnwell.3" { |
| @ dnwell.3: 6.3 min. spacing/notch of dnwellNotPhotoNotUHVI |
| EXTERNAL dnwellNotPhotoNotUHVI < 6.3 ABUT < 90 SINGULAR REGION |
| } |
| "r_395_dnwell.4" { |
| @ dnwell.4: dnwell must not overlap pnp |
| dnwell AND pnp |
| } |
| "r_396_dnwell.5" { |
| @ dnwell.5: PDIFF not Exempt cells must not straddle dnwell |
| CUT PDIFFNotExempt dnwell |
| } |
| "r_397_dnwell.7" { |
| @ dnwell.7: dnwell cannot straddle localSub |
| COPY badLocalSub |
| } |
| nwell_tap = INTERACT NTAP (NTAP AND licon1) |
| nwellHoles = HOLES nwell |
| nwell_nonUHVI = nwell NOT uhvi |
| filledNwell = nwell OR nwellHoles |
| dnwellNotTechCD = dnwellNotPhoto NOT exempt_tech_CD |
| dnwellNotTechCDLOWVTID = dnwellNotTechCD NOT (uhvi OR LOWVTID) |
| nwellNotTechCD = nwell NOT exempt_tech_CD |
| nwellHoleOverDnwell = INTERACT nwellHoles (nwellHoles AND dnwellNotTechCD) |
| dnwellOverNwell = INTERACT (INTERACT dnwellNotTechCD (dnwellNotTechCD AND nwellNotTechCD)) nwellHoles |
| dnwellOverNwellEnc = INTERACT (EXPAND EDGE dnwellOverNwell INSIDE BY 1.03) nwellNotTechCD |
| dnwellOverNwellErr = dnwellOverNwellEnc NOT (nwellNotTechCD OR (exempt_nwell6_Cells OR uhvi)) |
| "r_398_nwell.1" { |
| @ nwell.1: 0.84 min. width of nwell |
| INTERNAL nwell < 0.84 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_399_nwell.2a" { |
| @ nwell.2a: 1.27 min. spacing/notch of nwell |
| EXTERNAL nwell < 1.27 ABUT < 90 SINGULAR REGION |
| } |
| /// nwell.3 is handled by design |
| "r_400_nwell.4" { |
| @ nwell.4: nwell_nonUHVI must overlap metal contacted tap to nwell |
| nwell_nonUHVI OUTSIDE nwell_tap |
| } |
| "r_401_nwell.5" { |
| @ nwell.5: 0.4 min. enclosure of dnwellNotTechCDLOWVTID by filledNwell |
| q0dnwellNotTechCDLOWVTIDand = dnwellNotTechCDLOWVTID AND filledNwell |
| ENCLOSURE q0dnwellNotTechCDLOWVTIDand filledNwell < 0.4 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| "r_402_nwell.5" { |
| @ nwell.5: dnwellNotTechCDLOWVTID must be enclosed by filledNwell |
| dnwellNotTechCDLOWVTID NOT filledNwell |
| } |
| "r_403_nwell.6" { |
| @ nwell.6: 1.03 min enclosure of nwellHole by dnwell |
| COPY dnwellOverNwellErr |
| } |
| nwell_dnwell_no_minspace = EXTERNAL dnwellNotTechCD nwellNotTechCD < 4.5 MEASURE ALL NOT CONNECTED REGION |
| "r_404_nwell.7" { |
| @ nwell.7: 4.5 min spacing between nwell and dnwell on separate nets |
| COPY nwell_dnwell_no_minspace |
| } |
| PFET = GATE AND PDIFF |
| PFET_PERI = PFET NOT COREID |
| hvtpOnNwell = INTERACT hvtp_CORE (hvtp_CORE AND nwell) |
| InvalidNwellEnc = hvtpOnNwell NOT nwell |
| lvNwell_drc = nwell NOT hvi |
| PolyLvNwell = poly AND lvNwell_drc |
| lvNtap = tap AND lvNwell_drc |
| varChannel_drc = (PolylvNwell AND lvNtap) NOT COREID |
| LVnwellnovarChannel = lvNwell_drc NOT (INTERACT lvNwell_drc (lvNwell_drc AND varChannel_drc)) |
| hvtpHoles = HOLES hvtp |
| "r_405_hvtp.1" { |
| @ hvtp.1: 0.38 min. width of hvtp |
| INTERNAL hvtp < 0.38 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_406_hvtp.2" { |
| @ hvtp.2: 0.38 min. spacing/notch of hvtp |
| EXTERNAL hvtp < 0.38 ABUT < 90 SINGULAR REGION |
| } |
| "r_407_hvtp.3" { |
| @ hvtp.3: 0.18 min. enclosure of PFET_PERI by hvtp |
| q0PFET_PERIand = PFET_PERI AND hvtp |
| ENCLOSURE q0PFET_PERIand hvtp < 0.18 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| "r_408_hvtp.4" { |
| @ hvtp.4: 0.18 min. spacing of PFET_PERI & hvtp |
| EXTERNAL PFET_PERI hvtp < 0.18 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_409_hvtp.5" { |
| @ hvtp.5: 0.265 min. area of hvtp |
| AREA hvtp < 0.265 |
| } |
| "r_410_hvtp.6" { |
| @ hvtp.6: 0.265 min. area of hvtpHoles |
| AREA hvtpHoles < 0.265 |
| } |
| "r_411_hvtp.c1" { |
| @ hvtp.c1: Min/Max enclosure of nwell by hvtp |
| COPY InvalidNwellEnc |
| } |
| lvtEncPDiff = lvtn ENCLOSE PDIFF |
| periDiffNoLvt = diff_PERI NOT lvtn_PERI |
| lvtGate = lvtn AND GATE |
| nwellNoVarac = (nwell NOT (INTERACT nwell (nwell AND varChannel_drc))) NOT INSIDE lvtn |
| lvtnInNwell = NOT TOUCH (ENCLOSURE lvtn nwellNoVarac < 0.38 REGION) nwellNoVarac |
| coreNwell = nwell INSIDE COREID |
| pfetSDedge = (NOT INTERACT pfet_PERI lvtn) COINCIDENT EDGE PSRCDRN |
| pfetSDedgeSz = EXPAND EDGE pfetSDedge OUTSIDE BY 0.195 |
| err_lvtn3b = INTERACT lvtn_PERI pfetSDedgeSz |
| lvtnHoles = HOLES lvtn |
| GATE_PERI_nonUHVI = GATE_PERI NOT uhvi |
| "r_412_lvtn.1a" { |
| @ lvtn.1a: 0.38 min. width of lvtn |
| INTERNAL lvtn < 0.38 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_413_lvtn.2" { |
| @ lvtn.2: 0.38 min. spacing/notch of lvtn |
| EXTERNAL lvtn < 0.38 ABUT < 90 SINGULAR REGION |
| } |
| "r_414_lvtn.3a" { |
| @ lvtn.3a: 0.18 min. spacing of Gate in Periphery outside UHVI layer & "lvtn" in periphery |
| EXTERNAL GATE_PERI_nonUHVI lvtn_PERI < 0.18 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_415_lvtn.3b" { |
| @ lvtn.3b: 0.19 min spacing of lvtn(peri) to pfet along S/D direction |
| COPY err_lvtn3b |
| } |
| "r_416_lvtn.4b" { |
| @ lvtn.4b: 0.18 min. enclosure of Gate in Periphery outside UHVI layer by "lvtn" in periphery |
| q0GATE_PERI_nonUHVIand = GATE_PERI_nonUHVI AND lvtn_PERI |
| ENCLOSURE q0GATE_PERI_nonUHVIand lvtn_PERI < 0.18 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| "r_417_lvtn.9" { |
| @ lvtn.9: 0.38 min. spacing of lvtn & hvtp |
| EXTERNAL lvtn hvtp < 0.38 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_418_lvtn.9" { |
| @ lvtn.9: lvtn must not overlap hvtp |
| lvtn AND hvtp |
| } |
| "r_419_lvtn.10" { |
| @ lvtn.10: 0.38 min enclosure of lvtn by (nwell not overlapping Varactor Channel) |
| COPY lvtnInNwell |
| } |
| "r_420_lvtn.12" { |
| @ lvtn.12: 0.38 min. spacing of lvtn & coreNwell |
| EXTERNAL lvtn coreNwell < 0.38 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_421_lvtn.13" { |
| @ lvtn.13: 0.265 min. area of lvtn |
| AREA lvtn < 0.265 |
| } |
| "r_422_lvtn.14" { |
| @ lvtn.14: 0.265 min. area of lvtnHoles |
| AREA lvtnHoles < 0.265 |
| } |
| "r_423_hvtr.1" { |
| @ hvtr.1: 0.38 min. width of hvtr |
| INTERNAL hvtr < 0.38 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_424_hvtr.2" { |
| @ hvtr.2: 0.38 min. spacing of hvtr & hvtp |
| EXTERNAL hvtr hvtp < 0.38 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_425_hvtr.2" { |
| @ hvtr.2: hvtr must not overlap hvtp |
| hvtr AND hvtp |
| } |
| "r_426_hvtr.3" { |
| @ hvtr.3: 0.18 min. enclosure of PFET by hvtr |
| q0PFETand = PFET AND hvtr |
| ENCLOSURE q0PFETand hvtr < 0.18 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| GATE_PERI_SC = GATE_PERI AND STDCID |
| GATE_PERI_noSC = GATE_PERI NOT STDCID |
| nwell_noesd = nwell NOT ESD_nwell_tap |
| diff_noesd = diff NOT ESD_nwell_tap |
| tap_noesd = tap NOT ESD_nwell_tap |
| tabut_edge = TOUCH EDGE tap_noesd diff_noesd |
| dabut_edge = TOUCH EDGE diff_noesd tap_noesd |
| invalid_diff_tap = (EXPAND EDGE ((TOUCH EDGE tap diff) OUTSIDE EDGE diff) OUTSIDE BY 0.005) OR (EXPAND EDGE ((TOUCH EDGE diff tap) OUTSIDE EDGE tap) OUTSIDE BY 0.005) |
| diff_tap_no_minspace = (EXTERNAL diffNoTapEdge tabut_edge < 0.13 ABUT < 90 REGION) OR (EXTERNAL tapNoDiffEdge dabut_edge < 0.13 ABUT < 90 REGION) |
| nwellInDnwell = nwell INSIDE dnwell |
| chip = EXTENT |
| chipNotNwell = chip NOT nwell |
| PDIFF_PERI_nonESD = PDIFF_PERI NOT ((ESD_nwell_tap OR ENID) OR uhvi) |
| NDIFF_PERI_nonESD = NDIFF_PERI NOT (ESD_nwell_tap OR ENID) |
| PDIFF_PERI_nonESDuhvi = PDIFF_PERI_nonESD NOT uhvi |
| NDIFF_PERI_nonESDuhvi = NDIFF_PERI_nonESD NOT uhvi |
| PTAP_nonUHVI = PTAP NOT uhvi |
| q1diff = INTERNAL diff < 0.15 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| q4diff = q1diff OUTSIDE COREID |
| q8diff = diff NOT COREID |
| q7diff = INTERNAL q8diff < 0.15 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| q2diff = q7diff INSIDE (CUT q1diff COREID) |
| q3diff = SIZE q2diff BY 0.005 INSIDE OF q1diff STEP 0.15 |
| "r_427_difftap.1" { |
| @ difftap.1: 0.15 min. width of diff across areaid:ce |
| COPY q3diff |
| } |
| "r_428_difftap.1" { |
| @ difftap.1: 0.15 min. width of diff in PERI |
| COPY q4diff |
| } |
| q5diff = INTERNAL diff < 0.14 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| q6diff = q5diff INSIDE COREID |
| "r_429_difftap.c1" { |
| @ difftap.c1: 0.14 min. width of diff in COREID |
| COPY q6diff |
| } |
| q0tap = INTERNAL tap < 0.15 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| q3tap = q0tap OUTSIDE COREID |
| q7tap = tap NOT COREID |
| q6tap = INTERNAL q7tap < 0.15 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| q1tap = q6tap INSIDE (CUT q0tap COREID) |
| q2tap = SIZE q1tap BY 0.005 INSIDE OF q0tap STEP 0.15 |
| "r_430_difftap.1" { |
| @ difftap.1: 0.15 min. width of tap across areaid:ce |
| COPY q2tap |
| } |
| "r_431_difftap.1" { |
| @ difftap.1: 0.15 min. width of tap in PERI |
| COPY q3tap |
| } |
| q4tap = INTERNAL tap < 0.14 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| q5tap = q4tap INSIDE COREID |
| "r_432_difftap.c1" { |
| @ difftap.c1: 0.14 min. width of tap in COREID |
| COPY q5tap |
| } |
| "r_433_difftap.2" { |
| @ difftap.2: 0.42 min. width of GATE_PERI_noSC |
| q0GATE_PERI_noSCcoin = GATE_PERI_noSC COINCIDENT INSIDE EDGE diff |
| INTERNAL q0GATE_PERI_noSCcoin < 0.42 ABUT < 90 REGION OPPOSITE |
| } |
| "r_434_difftap.2b" { |
| @ difftap.2b: 0.36 min. width of GATE_PERI_SC |
| q0GATE_PERI_SCcoin = GATE_PERI_SC COINCIDENT INSIDE EDGE diff |
| INTERNAL q0GATE_PERI_SCcoin < 0.36 ABUT < 90 REGION OPPOSITE |
| } |
| "r_435_difftap.3" { |
| @ difftap.3: 0.27 min. spacing/notch of diff or tap |
| EXTERNAL diffTap < 0.27 ABUT < 90 SINGULAR REGION |
| } |
| "r_436_difftap.4" { |
| @ difftap.4: 0.29 min. width of tap butting diff |
| q9diff = diff COINCIDENT OUTSIDE EDGE tap |
| ENCLOSURE q9diff tap < 0.29 ABUT < 90 MEASURE COINCIDENT REGION |
| } |
| "r_437_difftap.5" { |
| @ difftap.5: 0.4 min. width of "tap" in periphery butting & between diff |
| q0tap_PERI = tap_PERI COINCIDENT OUTSIDE EDGE diff |
| INTERNAL q0tap_PERI < 0.4 ABUT < 90 REGION |
| } |
| "r_438_difftap.6" { |
| @ difftap.6: diff and tap are not allowed to extend beyond their abutting edge |
| COPY invalid_diff_tap |
| } |
| "r_439_difftap.7" { |
| @ difftap.7: 0.13 spacing of diff/tap butting edge to non-coincident diff/tap edge |
| COPY diff_tap_no_minspace |
| } |
| "r_440_difftap.8" { |
| @ difftap.8: 0.18 min. enclosure of PDIFF_PERI_nonESDuhvi by nwell |
| q0PDIFF_PERI_nonESDuhviand = PDIFF_PERI_nonESDuhvi AND nwell |
| ENCLOSURE q0PDIFF_PERI_nonESDuhviand nwell < 0.18 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| "r_441_difftap.9" { |
| @ difftap.9: 0.34 min. spacing of NDIFF_PERI_nonESDuhvi & nwell_noesd |
| EXTERNAL NDIFF_PERI_nonESDuhvi nwell_noesd < 0.34 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_442_difftap.10" { |
| @ difftap.10: 0.18 min. enclosure of NTAP_nonESD_nonuhvi by nwell |
| q0NTAP_nonESD_nonuhviand = NTAP_nonESD_nonuhvi AND nwell |
| ENCLOSURE q0NTAP_nonESD_nonuhviand nwell < 0.18 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| "r_443_difftap.11" { |
| @ difftap.11: 0.13 min. spacing of PTAP_nonUHVI & nwell |
| EXTERNAL PTAP_nonUHVI nwell < 0.13 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| /// difftap.12 is handled by an instruction for lvs use |
| "r_444_difftap.c1" { |
| @ difftap.c1: 0.14 min. width of "gate" in core |
| q0EMOSGATE_COREcoin = EMOSGATE_CORE COINCIDENT INSIDE EDGE diff |
| INTERNAL q0EMOSGATE_COREcoin < 0.14 ABUT < 90 REGION |
| } |
| "r_445_difftap.c5" { |
| @ difftap.c5: 0.38 min. width of "tap" in core butting & between diff |
| q0tap_CORE = tap_CORE COINCIDENT OUTSIDE EDGE diff |
| INTERNAL q0tap_CORE < 0.38 ABUT < 90 REGION |
| } |
| "r_446_difftap.c8" { |
| @ difftap.c8: 0.15 min. enclosure of "pdiff" in core by nwell |
| q0PDIFF_COREand = PDIFF_CORE AND nwell |
| ENCLOSURE q0PDIFF_COREand nwell < 0.15 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| "r_447_difftap.c10" { |
| @ difftap.c10: 0.15 min. enclosure of "ntap" in core by nwell |
| q0NTAP_COREand = NTAP_CORE AND nwell |
| ENCLOSURE q0NTAP_COREand nwell < 0.15 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| "r_448_difftap.c12" { |
| @ difftap.c12: 0.18 min. enclosure of adj. sides of "pdiff" in core by nwell |
| q0nwellenc = ENCLOSURE [PDIFF_CORE] nwell < 0.18 ABUT < 90 PARALLEL MEASURE ALL PROJECTING > 0 |
| NOT RECTANGLE (EXPAND EDGE q0nwellenc INSIDE BY 0.005) ORTHOGONAL ONLY |
| } |
| "r_449_difftap.c13" { |
| @ difftap.c13: 0.32 min. spacing of "ndiff" in core & nwell |
| EXTERNAL NDIFF_CORE nwell < 0.32 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_450_difftap.c14" { |
| @ difftap.c14: 0.34 min. enclosure of adj. sides of "ndiff" in core by chipNotNwell |
| q0chipNotNwellenc = ENCLOSURE [NDIFF_CORE] chipNotNwell < 0.34 ABUT < 90 PARALLEL MEASURE ALL PROJECTING > 0 |
| NOT RECTANGLE (EXPAND EDGE q0chipNotNwellenc INSIDE BY 0.005) ORTHOGONAL ONLY |
| } |
| GATE_outsidetunm = GATE NOT tunm |
| tunm_outsidednwell = (tunm NOT dnwell) NOT exempt_tech_CD |
| tunm_not_techCD = tunm NOT exempt_tech_CD |
| "r_451_tunm.1" { |
| @ tunm.1: 0.41 min. width of tunm |
| INTERNAL tunm < 0.41 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_452_tunm.2" { |
| @ tunm.2: 0.5 min. spacing/notch of tunm |
| EXTERNAL tunm < 0.5 ABUT < 90 SINGULAR REGION |
| } |
| "r_453_tunm.3" { |
| @ tunm.3: 0.095 min. extension of tunm beyond gate |
| ENCLOSURE GATE tunm < 0.095 MEASURE COINCIDENT ABUT < 90 SINGULAR |
| } |
| "r_454_tunm.4" { |
| @ tunm.4: 0.095 min. spacing of GATE_outsidetunm & tunm |
| EXTERNAL GATE_outsidetunm tunm < 0.095 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_455_tunm.5" { |
| @ tunm.5: gate must not straddle tunm |
| CUT GATE tunm |
| } |
| "r_456_tunm.6a" { |
| @ tunm.6a: tunm outside deep nwell is not allowed |
| COPY tunm_outsidednwell |
| } |
| "r_457_tunm.7" { |
| @ tunm.7: 0.672 min. area of tunm |
| AREA tunm < 0.672 |
| } |
| "r_458_tunm.8" { |
| @ tunm.8: tunm must be enclosed by COREID |
| tunm NOT COREID |
| } |
| nsdmHole = (HOLES nsdm) NOT nsdm |
| psdmHole = (HOLES psdm) NOT psdm |
| bad_ndiff_nobut = (ENCLOSURE [NDIFF] nsdm < 0.125 SINGULAR MEASURE ALL ABUT < 90) OUTSIDE EDGE tap |
| bad_pdiff_nobut = (ENCLOSURE [PDIFF] psdm < 0.125 SINGULAR MEASURE ALL ABUT < 90) OUTSIDE EDGE tap |
| bad_enclose_ntap = (ENCLOSURE [NTAP_PERI] nsdm < 0.125 SINGULAR MEASURE ALL ABUT < 90) OUTSIDE EDGE diff |
| bad_enclose_ptap = (ENCLOSURE [PTAP_PERI] psdm < 0.125 SINGULAR MEASURE ALL ABUT < 90) OUTSIDE EDGE diff |
| psd_c1a = (INTERNAL psdm < 0.38 OPPOSITE PARALLEL ONLY REGION) INSIDE COREID |
| nsd_c1a = (INTERNAL nsdm < 0.38 OPPOSITE PARALLEL ONLY REGION) INSIDE COREID |
| nsd_c5a = (ENCLOSURE [NTAP_CORE] nsdm < 0.13 SINGULAR MEASURE ALL ABUT < 90) OUTSIDE EDGE diff |
| psd_c5b = (ENCLOSURE [PTAP_CORE] psdm < 0.12 SINGULAR MEASURE ALL ABUT < 90) OUTSIDE EDGE diff |
| ENIDgate = poly AND (ENID OR EXTDRAIN20) |
| ENIDsource = INTERACT diff ENIDgate |
| ENIDNsource = NOT INTERACT NDIFF ENIDgate |
| pDiffTapNotENIDsource = pDiffTap NOT (ENIDsource OR ZENERID) |
| nsdmZENERID = nsdm NOT ZENERID |
| psdmZENERID = psdm NOT ZENERID |
| nDiffTapNotENIDsource = (ndiffTap NOT ENIDsource) NOT SEALID_6um |
| nDiffTapNotENIDsource_not_gated_npn = nDiffTapNotENIDsource NOT (gated_npn OR ZENERID) |
| q0nsdm = INTERNAL nsdm < 0.38 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| q3nsdm = q0nsdm OUTSIDE COREID |
| q7nsdm = nsdm NOT COREID |
| q6nsdm = INTERNAL q7nsdm < 0.38 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| q1nsdm = q6nsdm INSIDE (CUT q0nsdm COREID) |
| q2nsdm = SIZE q1nsdm BY 0.005 INSIDE OF q0nsdm STEP 0.38 |
| "r_459_nsd.1" { |
| @ nsd.1: 0.38 min. width of nsdm across areaid:ce |
| COPY q2nsdm |
| } |
| "r_460_nsd.1" { |
| @ nsd.1: 0.38 min. width of nsdm in PERI |
| COPY q3nsdm |
| } |
| q4nsdm = INTERNAL nsdm < 0.29 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| q5nsdm = q4nsdm INSIDE COREID |
| "r_461_nsd.c1b" { |
| @ nsd.c1b: 0.29 min. width of nsdm in COREID |
| COPY q5nsdm |
| } |
| "r_462_nsd.2" { |
| @ nsd.2: 0.38 min. spacing/notch of "nsdm" in periphery |
| EXTERNAL nsdm_PERI < 0.38 ABUT < 90 SINGULAR REGION |
| } |
| "r_463_nsd.2" { |
| @ nsd.2: 0.38 min. spacing of nsdm across COREID boundary |
| EXTERNAL nsdm_CORE nsdm_PERI > 0 < 0.38 ABUT > 0 < 90 SINGULAR REGION |
| } |
| /// nsd.3 is handled by design |
| "r_464_nsd.5a" { |
| @ nsd.5a: 0.125 min. enclosure of n+ diff by nsdm |
| COPY bad_ndiff_nobut |
| } |
| "r_465_nsd.5b" { |
| @ nsd.5b: 0.125 min. enclosure of n+ tap in peri by nsdm |
| COPY bad_enclose_ntap |
| } |
| /// nsd.6 is handled by nsd.9 |
| "r_466_nsd.7" { |
| @ nsd.7: 0.13 min. spacing of nsdm & opposite implant diffTap |
| EXTERNAL nsdm diffTap < 0.13 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_467_nsd.8" { |
| @ nsd.8: nsdm must not overlap pdiff/ptap (source of extendedDrain fet exempted) |
| nsdm AND pDiffTapNotENIDsource |
| } |
| "r_468_nsd.9" { |
| @ nsd.9: ndiff/ntap (source of extendedDrain fet and gated_npn exempted) must be enclosed by nsdmZENERID |
| nDiffTapNotENIDsource_not_gated_npn NOT nsdmZENERID |
| } |
| "r_469_nsd.10a" { |
| @ nsd.10a: 0.265 min. area of nsdm |
| AREA nsdm < 0.265 |
| } |
| "r_470_nsd.11" { |
| @ nsd.11: 0.265 min. area of nsdmHole |
| AREA nsdmHole < 0.265 |
| } |
| "r_471_nsd.c1a" { |
| @ nsd.c1a: 0.38 min. width of nsdm (opposite parallel) |
| COPY nsd_c1a |
| } |
| "r_472_nsd.c2a" { |
| @ nsd.c2a: 0.38 min. spacing/notch of "nsdm" in core |
| EXTERNAL nsdm_CORE < 0.38 REGION PARALLEL ONLY OPPOSITE |
| } |
| "r_473_nsd.c2b" { |
| @ nsd.c2b: 0.29 min. spacing/notch of "nsdm" in core |
| EXTERNAL nsdm_CORE < 0.29 ABUT < 90 SINGULAR REGION |
| } |
| "r_474_nsd.c5a" { |
| @ nsd.c5a: 0.13 min. enclosure of n+ tap in core by nsdm |
| COPY nsd_c5a |
| } |
| q0psdm = INTERNAL psdm < 0.38 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| q3psdm = q0psdm OUTSIDE COREID |
| q7psdm = psdm NOT COREID |
| q6psdm = INTERNAL q7psdm < 0.38 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| q1psdm = q6psdm INSIDE (CUT q0psdm COREID) |
| q2psdm = SIZE q1psdm BY 0.005 INSIDE OF q0psdm STEP 0.38 |
| "r_475_psd.1" { |
| @ psd.1: 0.38 min. width of psdm across areaid:ce |
| COPY q2psdm |
| } |
| "r_476_psd.1" { |
| @ psd.1: 0.38 min. width of psdm in PERI |
| COPY q3psdm |
| } |
| q4psdm = INTERNAL psdm < 0.29 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| q5psdm = q4psdm INSIDE COREID |
| "r_477_psd.c1b" { |
| @ psd.c1b: 0.29 min. width of psdm in COREID |
| COPY q5psdm |
| } |
| "r_478_psd.2" { |
| @ psd.2: 0.38 min. spacing/notch of "psdm" in periphery |
| EXTERNAL psdm_PERI < 0.38 ABUT < 90 SINGULAR REGION |
| } |
| "r_479_psd.2" { |
| @ psd.2: 0.38 min. spacing of psdm across COREID boundary |
| EXTERNAL psdm_CORE psdm_PERI > 0 < 0.38 ABUT > 0 < 90 SINGULAR REGION |
| } |
| /// psd.3 is handled by design |
| "r_480_psd.5a" { |
| @ psd.5a: 0.125 min. enclosure of p+ diff by psdm |
| COPY bad_pdiff_nobut |
| } |
| "r_481_psd.5b" { |
| @ psd.5b: 0.125 min. enclosure of p+ tap in peri by psdm |
| COPY bad_enclose_ptap |
| } |
| /// psd.6 is handled by psd.9 |
| "r_482_psd.7" { |
| @ psd.7: 0.13 min. spacing of psdm & opposite implant diffTap |
| EXTERNAL psdm diffTap < 0.13 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_483_psd.8" { |
| @ psd.8: psdm must not overlap ndiff/ntap (source of extendedDrain fet exempted) |
| psdm AND nDiffTapNotENIDsource |
| } |
| "r_484_psd.9" { |
| @ psd.9: pdiff/ptap (source of extendedDrain fet exempted) must be enclosed by psdmZENERID |
| pDiffTapNotENIDsource NOT psdmZENERID |
| } |
| "r_485_psd.10b" { |
| @ psd.10b: 0.255 min. area of psdm |
| AREA psdm < 0.255 |
| } |
| "r_486_psd.11" { |
| @ psd.11: 0.265 min. area of psdmHole |
| AREA psdmHole < 0.265 |
| } |
| "r_487_psd.c1a" { |
| @ psd.c1a: 0.38 min. width of psdm (opposite parallel) |
| COPY psd_c1a |
| } |
| "r_488_psd.c2a" { |
| @ psd.c2a: 0.38 min. spacing/notch of "psdm" in core |
| EXTERNAL psdm_CORE < 0.38 REGION PARALLEL ONLY OPPOSITE |
| } |
| "r_489_psd.c2b" { |
| @ psd.c2b: 0.29 min. spacing/notch of "psdm" in core |
| EXTERNAL psdm_CORE < 0.29 ABUT < 90 SINGULAR REGION |
| } |
| "r_490_psd.c5b" { |
| @ psd.c5b: 0.12 min. enclosure of p+ tap in core by psdm |
| COPY psd_c5b |
| } |
| nwellNoHv = nwell NOT hvi |
| hvi_peri = hvi NOT COREID |
| HVnwell = INTERACT nwell (nwell AND hvi) |
| nonCoinHviNwellEdges = hvi NOT COINCIDENT EDGE nwell |
| nwellHviSpacErr = EXTERNAL nonCoinHviNwellEdges nwell < 0.7 ABUT < 90 REGION EXCLUDE FALSE |
| "r_491_hvi.1" { |
| @ hvi.1: 0.6 min. width of hvi_peri |
| INTERNAL hvi_peri < 0.6 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_492_hvi.2a" { |
| @ hvi.2a: 0.7 min. spacing/notch of hvi_peri |
| EXTERNAL hvi_peri < 0.7 ABUT < 90 SINGULAR REGION |
| } |
| "r_493_hvi.4" { |
| @ hvi.4: hvi must not overlap tunm |
| hvi AND tunm |
| } |
| "r_494_hvi.5" { |
| @ hvi.5: 0.7 min. spacing between non-butting hvi and nwell |
| COPY nwellHviSpacErr |
| } |
| nwellHV = (nwell AND hvi) NOT exempt_tech_CD |
| nwellHVID = (INTERACT nwell HVNID) NOT exempt_tech_CD |
| HV_nwelltmp = nwellHV OR nwellHVID |
| HV_nwell = STAMP HV_nwelltmp BY nwell |
| nwellLV = (nwell NOT hvi) NOT exempt_tech_CD |
| hvNwellConn = NET AREA RATIO nwellHV nwellLV > 0 |
| lvNwellConn = NET AREA RATIO nwellLV nwellHV > 0 |
| li1text = WITH TEXT li1 "lv_net" textlabel |
| HVIDext = NET AREA RATIO nwellHV nwellHVID > 0 |
| lvexmpt1 = NET AREA RATIO nwellHV li1text > 0 |
| nwellHVLVerror = hvNwellConn NOT (lvexmpt1 OR HVIDext) |
| nwellLVHVerror = (NET AREA RATIO lvNwellConn nwellHVLVerror > 0) NOT nwellHVID |
| nwell_10_error = nwellLVHVerror OR nwellHVLVerror |
| nwell7P2V = WITH TEXT nwell "shv_nwell" |
| nwellLess2P5 = EXTERNAL nwell < 2.5 ABUT < 90 REGION |
| checkNwell_1 = INTERACT nwell nwellLess2P5 |
| nwell7P2VCheck = nwell7P2V AND checkNwell_1 |
| nwellCheck = nwell AND checkNwell_1 |
| "r_495_nwell.8" { |
| @ nwell.8: 2 min. spacing of HV_nwell & nwell |
| EXTERNAL HV_nwell nwell < 2.0 ABUT < 90 SINGULAR REGION NOT CONNECTED EXCLUDE FALSE |
| } |
| "r_496_hv.nwell.1" { |
| @ hv.nwell.1: 2.5 min. spacing of nwell with text (shv_nwell) & nwell |
| EXTERNAL nwell7P2VCheck nwellCheck < 2.5 ABUT < 90 SINGULAR REGION NOT CONNECTED EXCLUDE FALSE |
| } |
| "r_497_nwell.9" { |
| @ nwell.9: HVnwell must be enclosed by hvi |
| HVnwell NOT hvi |
| } |
| "r_498_nwell.10" { |
| @ nwell.10: LVnwell should not be on the same net as HVnwell |
| COPY nwell_10_error |
| } |
| diffHV = diff AND hvi |
| diffHV_CORE = diffHV AND COREID |
| diffHV_PERI = diffHV NOT COREID |
| diffHVpRes_PERI = diffHV_PERI AND (diffRes AND nwell) |
| diffHVpResNormSize = INTERACT diffHVpRes_PERI (EXPAND EDGE (LENGTH (diffHVpRes_PERI INSIDE EDGE diffHV) >= 0.29) INSIDE BY 0.005) |
| diffHVnopRes_PERI = (diffHV_PERI NOT diffHVpRes_PERI) OR diffHVpResNormSize |
| ndiffHV = NDIFF AND hvi |
| ndiffHV_PERI = ndiffHV NOT COREID |
| tapHV = tap AND hvi |
| tapHV_PERI = tapHV NOT COREID |
| ptapHV = PTAP AND hvi |
| ptapHV_PERI = ptapHV NOT COREID |
| diffTapHV = diffTap AND hvi |
| diffTapHV_PERI_nonUHVI = diffTapHV NOT (COREID OR uhvi) |
| diffTapNoHv = diffTap NOT hvi |
| diffTapNoHv_PERI = diffTapNoHv NOT COREID |
| nTapHV_nonESD_uhvi = NTAP_nonESD_nonuhvi AND (hvi OR HVNID) |
| ptapHV_PERI_noAbut = NOT TOUCH ptapHV_PERI ndiffHV_PERI |
| PTAP_noPwellRes = PTAP NOT (TOUCH PTAP pwres) |
| ndiffHV_nonESD = (ndiffHV NOT ESDID) NOT ENID |
| ndiff_nonESD = (NDIFF NOT ESD_nwell_tap) NOT ENID |
| pdiffHV_nonESD = ((PDIFF NOT ESD_nwell_tap) AND (hvi OR HVNID)) NOT (ENID OR uhvi) |
| diffHV_noUHVI = diffHV NOT uhvi |
| tapHV_noUHVI = tapHV NOT uhvi |
| ndiff_nonESDuhvi = ndiff_nonESD NOT uhvi |
| ndiffHV_nonESDuhvi = ndiffHV_nonESD NOT uhvi |
| PTAP_noPwellRes_noUHVI = PTAP_noPwellRes NOT uhvi |
| "r_499_difftap.14" { |
| @ difftap.14: 0.29 min. width of Hdiff in periphery not Hv Pdiff Res |
| INTERNAL diffHVnopRes_PERI < 0.29 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_500_difftap.14a" { |
| @ difftap.14a: 0.15 min. width of Hv Pdiff Res in periphery |
| INTERNAL diffHVpRes_PERI < 0.15 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_501_difftap.15a" { |
| @ difftap.15a: 0.3 min. spacing/notch of Hdiff in periphery |
| EXTERNAL diffHV_PERI < 0.3 ABUT < 90 SINGULAR REGION |
| } |
| "r_502_difftap.15b" { |
| @ difftap.15b: 0.37 min. spacing of n+ diff inside hvi in periphery & ptapHV_PERI_noAbut |
| EXTERNAL ndiffHV_PERI ptapHV_PERI_noAbut < 0.37 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_503_difftap.16" { |
| @ difftap.16: 0.7 min. width of tapHV butting diffHV_noUHVI |
| q0diffHV_noUHVI = diffHV_noUHVI COINCIDENT OUTSIDE EDGE tapHV |
| ENCLOSURE q0diffHV_noUHVI tapHV < 0.7 ABUT < 90 MEASURE COINCIDENT REGION |
| } |
| "r_504_difftap.16" { |
| @ difftap.16: 0.7 min. width of tapHV_noUHVI butting & between Hdiff |
| q0tapHV_noUHVI = tapHV_noUHVI COINCIDENT OUTSIDE EDGE diffHV |
| INTERNAL q0tapHV_noUHVI < 0.7 ABUT < 90 REGION |
| } |
| "r_505_difftap.17" { |
| @ difftap.17: 0.33 min. enclosure of p+ Hdiff (no ESD)(no UHVI) by HV_nwell |
| q0pdiffHV_nonESDand = pdiffHV_nonESD AND HV_nwell |
| ENCLOSURE q0pdiffHV_nonESDand HV_nwell < 0.33 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| "r_506_difftap.18" { |
| @ difftap.18: 0.43 min. spacing of ndiff_nonESDuhvi & HV_nwell |
| EXTERNAL ndiff_nonESDuhvi HV_nwell < 0.43 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_507_difftap.19" { |
| @ difftap.19: 0.33 min. enclosure of n+ Htap (no ESD)(no UHVI) by HV_nwell |
| q0nTapHV_nonESD_uhviand = nTapHV_nonESD_uhvi AND HV_nwell |
| ENCLOSURE q0nTapHV_nonESD_uhviand HV_nwell < 0.33 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| "r_508_difftap.20" { |
| @ difftap.20: 0.43 min. spacing of PTAP_noPwellRes_noUHVI & HV_nwell |
| EXTERNAL PTAP_noPwellRes_noUHVI HV_nwell < 0.43 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_509_difftap.21" { |
| @ difftap.21: "diffTap" in periphery must not straddle hvi |
| CUT diffTap_PERI hvi |
| } |
| "r_510_difftap.22" { |
| @ difftap.22: 0.18 min. enclosure of Hdiff/Htap in periphery without UHVI by hvi |
| q0diffTapHV_PERI_nonUHVIand = diffTapHV_PERI_nonUHVI AND hvi |
| ENCLOSURE q0diffTapHV_PERI_nonUHVIand hvi < 0.18 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| "r_511_difftap.23" { |
| @ difftap.23: 0.18 min. spacing of diffTapNoHv_PERI & hvi |
| EXTERNAL diffTapNoHv_PERI hvi < 0.18 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_512_difftap.24" { |
| @ difftap.24: 0.43 min. spacing of ndiffHV_nonESDuhvi & nwell |
| EXTERNAL ndiffHV_nonESDuhvi nwell < 0.43 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| /// difftap.25 is not checked |
| "r_513_difftap.c11" { |
| @ difftap.c11: 0.15 min. width of Hdiff in COREID |
| INTERNAL diffHV_CORE < 0.15 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| gateHV_PERI = GATE_PERI AND hvi |
| gateEdgeHV_PERI = poly COINCIDENT EDGE gateHV_PERI |
| gateEdgeHV_PERI_err = INTERNAL gateEdgeHV_PERI < 0.5 OPPOSITE PARALLEL ONLY REGION |
| "r_514_poly.13" { |
| @ poly.13: 0.5 min. width of poly over diff inside hvi in periphery |
| INTERNAL gateEdgeHV_PERI_err < 0.5 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_515_poly.14" { |
| @ poly.14: gate must not straddle hvi |
| CUT GATE hvi |
| } |
| pfetOnLvtn = INTERACT PFET (PFET AND lvtn) |
| pLowVTEdge = pfetOnLvtn COINCIDENT OUTSIDE EDGE SRCDRN |
| BadpLowVTgate = (INTERNAL pLowVTEdge < 0.35 OPPOSITE PARALLEL ONLY REGION) NOT tableH3rfFets |
| PolyNoRes = poly NOT polyAndRes |
| PolyNotLvNwell = (poly NOT lvNwell_drc) NOT (exemptNhvnativeCell OR |
| (gated_npn OR uhvi)) |
| PolyInFGR = poly AND exemptNhvnativeCell |
| GATESIDE_PERI = GATESIDE OUTSIDE EDGE COREID |
| GATEEND_PERI = GATEEND OUTSIDE EDGE COREID |
| polyGapLEedg = LENGTH poly_CORE <= 0.15 |
| polyGapLEedgSz = EXPAND EDGE polyGapLEedg OUTSIDE BY (0.16 / 2) |
| polyGapRegion = EXTERNAL polyGapLEedg <= 0.16 OPPOSITE REGION |
| polyGapGoodSp = polyGapLEedgSz INSIDE polyGapRegion |
| badPoly_c2 = INTERACT (EXTERNAL poly_CORE < 0.16 ABUT < 90 REGION SINGULAR) polyGapGoodSp |
| badPoly_c3 = NOT INTERACT (EXTERNAL poly_CORE < 0.175 ABUT < 90 REGION SINGULAR) polyGapGoodSp |
| PolyNotLvNwellnoUHVI = PolyNotLvNwell NOT UHVI |
| evansXmtCell = EXTENT CELL "sr_bltd_eq" ORIGINAL |
| poly2noXmt = poly NOT evansXmtCell |
| "r_516_poly.1a" { |
| @ poly.1a: 0.15 min. width of poly |
| INTERNAL poly < 0.15 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_517_poly.1b" { |
| @ poly.1b: poly.1b: 0.350 min. channel length of pfet overlapping lvtn |
| COPY BadpLowVTgate |
| } |
| "r_518_poly.2" { |
| @ poly.2: 0.21 min. spacing/notch of "poly" in periphery |
| EXTERNAL poly_PERI < 0.21 ABUT < 90 SINGULAR REGION |
| } |
| poly2noXmt_CORE = poly2noXmt AND COREID |
| poly2noXmt_PERI = poly2noXmt NOT COREID |
| "r_519_poly.2" { |
| @ poly.2: 0.21 min. spacing of poly2noXmt across COREID boundary |
| EXTERNAL poly2noXmt_CORE poly2noXmt_PERI > 0 < 0.21 ABUT > 0 < 90 SINGULAR REGION |
| } |
| "r_520_poly.c3" { |
| @ poly.c3: poly.c3: 0.175 min. spacing of poly (except for poly.c2) |
| COPY badPoly_c3 |
| } |
| "r_521_poly.c2" { |
| @ poly.c2: poly.c2: 0.160 min. spacing of poly for poly core gap |
| COPY badPoly_c2 |
| } |
| q0polyAndRes = PolyNoRes COINCIDENT OUTSIDE EDGE polyAndRes |
| q1polyAndRes = LENGTH q0polyAndRes < 0.33 |
| "r_522_poly.3" { |
| @ poly.3: 0.33 min. width of poly resistor |
| q2polyAndRes = EXPAND EDGE q1polyAndRes OUTSIDE BY 0.005 CORNER FILL |
| q3polyAndRes = polyAndRes WITH EDGE (polyAndRes COINCIDENT EDGE q2polyAndRes) |
| q4polyAndRes = polyAndRes OUTSIDE EDGE PolyNoRes |
| q5polyAndRes = EXPAND EDGE q4polyAndRes INSIDE BY 0.16 CORNER FILL |
| q6polyAndRes = polyAndRes NOT q5polyAndRes |
| q7polyAndRes = INTERNAL q6polyAndRes < 0.005 ABUT < 90 REGION |
| q8polyAndRes = q6polyAndRes NOT q7polyAndRes |
| q9polyAndRes = INTERACT polyAndRes (polyAndRes AND q8polyAndRes) == 1 |
| q10polyAndRes = polyAndRes NOT q9polyAndRes |
| q3polyAndRes OR q10polyAndRes |
| } |
| "r_523_poly.4" { |
| @ poly.4: 0.075 min. spacing of "poly" in periphery & diff |
| EXTERNAL poly_PERI diff < 0.075 ABUT == 0 REGION PARALLEL ONLY EXCLUDE FALSE |
| } |
| "r_524_poly.5" { |
| @ poly.5: 0.055 min. spacing of "poly" in periphery & tap |
| EXTERNAL poly_PERI tap < 0.055 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_525_poly.6" { |
| @ poly.6: 0.3 min. extension of diff edge butting tap beyond gate edge in periphery |
| ENCLOSURE GATESIDE_PERI diffTapEdge < 0.3 MEASURE COINCIDENT ABUT < 90 |
| } |
| "r_526_poly.7" { |
| @ poly.7: 0.25 min. extension of diff beyond gate edge in periphery |
| ENCLOSURE GATESIDE_PERI diff < 0.25 MEASURE COINCIDENT ABUT < 90 |
| } |
| "r_527_poly.8" { |
| @ poly.8: 0.13 min. extension of poly beyond gate end in periphery |
| ENCLOSURE GATEEND_PERI poly < 0.13 MEASURE COINCIDENT ABUT < 90 |
| } |
| "r_528_poly.9" { |
| @ poly.9: 0.48 min. spacing of poly resistor & diffTap |
| EXTERNAL polyAndRes diffTap < 0.48 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_529_poly.9" { |
| @ poly.9: poly resistor must not overlap diffTap |
| polyAndRes AND diffTap |
| } |
| "r_530_poly.9" { |
| @ poly.9: 0.48 min. spacing of poly resistor & poly |
| EXTERNAL polyAndRes poly < 0.48 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| q10diff = poly AND diff |
| q11diff = NOT RECTANGLE q10diff ORTHOGONAL ONLY |
| q12diff = EXTERNAL q11diff <= 0.005 ABUT REGION |
| q13diff = q12diff AND poly |
| "r_531_poly.10" { |
| @ poly.10: poly must not overlap any inner corner of diff |
| COPY q13diff |
| } |
| q0poly = poly AND diff |
| q1poly = NOT RECTANGLE q0poly ORTHOGONAL ONLY |
| q2poly = INTERNAL q1poly <= 0.005 ABUT == 90 PERPENDICULAR ONLY REGION |
| q4poly = q2poly WITH EDGE (q2poly COINCIDENT INSIDE EDGE diff) |
| q6poly = q2poly NOT q4poly |
| q3poly = EXTERNAL q1poly <= 0.005 ABUT == 90 PERPENDICULAR ONLY REGION |
| q5poly = TOUCH q3poly diff |
| q7poly = q3poly NOT q5poly |
| q8poly = q6poly OR q7poly |
| "r_532_poly.11" { |
| @ poly.11: No 90 degree bends of poly on diff |
| COPY q8poly |
| } |
| "r_533_poly.12" { |
| @ poly.12: PolyNotLvNwellnoUHVI must not overlap "tap" in periphery |
| PolyNotLvNwellnoUHVI AND tap_PERI |
| } |
| "r_534_poly.15" { |
| @ poly.15: poly must not overlap diffres |
| poly AND diffres |
| } |
| "r_535_poly.c1" { |
| @ poly.c1: 0.03 min. spacing of "poly" in core & diff |
| EXTERNAL poly_CORE diff < 0.03 ABUT == 0 REGION PARALLEL ONLY EXCLUDE FALSE |
| } |
| "r_536_poly.c1" { |
| @ poly.c1: 0.03 min. spacing of "poly" in core & tap |
| EXTERNAL poly_CORE tap < 0.03 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| MOSDIFFandPOLY = diff AND poly |
| derivedGate = MOSDIFFandPOLY OUTSIDE polyGate |
| userGate = MOSDIFFandPOLY AND polyGate |
| allGatetmp = (derivedGate OR userGate) NOT (ENID OR EXTDRAIN20) |
| drainGate = EXPAND EDGE (MOSDIFFandPOLY COINCIDENT INSIDE EDGE poly) OUTSIDE BY 0.005 |
| remGate = TOUCH allGatetmp drainGate == 1 |
| allGate = allGatetmp NOT remGate |
| esdGate = allGate AND ESDID |
| nesd = esdGate NOT nwell |
| nesdHV = INTERACT nesd hvi |
| nhvnativeesd = nesdHV AND lvtn |
| nhvesd = nesdHV NOT nhvnativeesd |
| nshortesd = nesd NOT nesdHV |
| pesd = esdGate AND nwell |
| phvesd = INTERACT pesd hvi |
| nwellENID = INTERACT nwell ENID |
| nwellEXTDRAIN20 = INTERACT nwell EXTDRAIN20 |
| allENIDgate = ENID AND (POLY AND hvi) |
| allEXTDRAIN20gate = EXTDRAIN20 AND (POLY AND hvi) |
| pfetExtDrTmp = allENIDgate AND dnwell |
| nfetExtDrTmp = allENIDgate NOT dnwell |
| nfetExtDr20Tmp = allEXTDRAIN20gate NOT dnwell |
| nfetExtDr = nfetExtDrTmp NOT nwellENID |
| nfetExtDr20 = nfetExtDr20Tmp NOT nwellEXTDRAIN20 |
| pfetExtDr = pfetExtDrTmp AND nwellENID |
| nvhv = COPY nfetExtDr |
| n20vhv1 = COPY nfetExtDr20 |
| pvhv = COPY pfetExtDr |
| fetGate = allGate NOT esdGate |
| nfet_dev = fetGate NOT nwell |
| pfet_dev = fetGate AND nwell |
| hvinmos = INTERACT nfet_dev hvi |
| hvilvtnfet = lvtnfet AND hvinmos |
| s8rf_npn1x1_2p0_HV_cell = EXTENT CELL "s8rf_npn1x1_2p0_HV_cell" ORIGINAL |
| lvtnfet = (INTERACT nfet_dev lvtn) NOT nlvtpass |
| fnpass = (WITH TEXT (ldntm AND |
| (nfet_dev AND hvinmos)) "fnpass" polyModel) AND COREID |
| npass = (WITH TEXT nfet_dev "npass" polyModel) AND COREID |
| nlvtpass = (WITH TEXT nfet_dev "nlvtpass" polyModel) AND COREID |
| npd = (WITH TEXT nfet_dev "npd" polyModel) AND COREID |
| ppu = (WITH TEXT pfet_dev "ppu" polyModel) AND COREID |
| ntvnative = (hvilvtnfet NOT fnpass) AND LVID |
| nhvnative = (hvilvtnfet NOT fnpass) NOT LVID |
| nhvnative_L_0_75_tmp = LENGTH (nhvnative COINCIDENT INSIDE EDGE diff) == 0.75 |
| nhvnative_L_0_75_W_4_3_exempt = (INTERNAL nhvnative_L_0_75_tmp == 4.3 OPPOSITE PARALLEL ONLY REGION) AND exemptNhvnativeCell |
| nhvnative_L_0_75_W_4_3_bad = (INTERNAL nhvnative_L_0_75_tmp == 4.3 OPPOSITE PARALLEL ONLY REGION) NOT exemptNhvnativeCell |
| sonos_p = lvtnfet AND (dnwell AND |
| (ldntm AND tunm)) |
| sonos_e = COPY sonos_p |
| phighvt = (INTERACT pfet_dev hvtp) NOT ppu |
| phv = (INTERACT pfet_dev hvi) NOT (pvhv OR phvesd) |
| rfGate = GATE AND (INSIDE CELL poly "s8rf_xcmvpp1_nwell" "s8rf_xcmvpp1" "xcmvpp2" "xcmvpp1" "s8rf_pmedlvt_W1p68_L0p15_4F" "s8rf_pmedlvt_W1p68_L0p15_2F" "s8rf_pmedlvt_W0p84_L0p15_2F" "s8rf_pshort_W5p0_L0p15_2F" "s8rf_pshort_W3p0_L0p15_2F" "s8rf_pshort_W1p68_L0p15_4F" "s8rf_pshort_W1p68_L0p15_2F" "s8rf_pshort_W0p84_L0p15_2F" "s8rf_pshort_W5p0_L0p25_M4_b" "s8rf_pshort_W5p0_L0p25_M2_b" "s8rf_pshort_W5p0_L0p18_M4_b" "s8rf_pshort_W5p0_L0p18_M2_b" "s8rf_pshort_W5p0_L0p15_M4_b" "s8rf_pshort_W5p0_L0p15_M2_b" "s8rf_pshort_W3p0_L0p25_M4_b" "s8rf_pshort_W3p0_L0p25_M2_b" "s8rf_pshort_W3p0_L0p18_M4_b" "s8rf_pshort_W3p0_L0p18_M2_b" "s8rf_pshort_W3p0_L0p15_M4_b" "s8rf_pshort_W3p0_L0p15_M2_b" "s8rf_pshort_W1p65_L0p25_M4_b" "s8rf_pshort_W1p65_L0p25_M2_b" "s8rf_pshort_W1p65_L0p18_M4_b" "s8rf_pshort_W1p65_L0p18_M2_b" "s8rf_pshort_W1p65_L0p15_M4_b" "s8rf_pshort_W1p65_L0p15_M2_b" "s8rf_nshort_W5p0_L0p25_M4_b" "s8rf_nshort_W5p0_L0p25_M2_b" "s8rf_nshort_W5p0_L0p18_M4_b" "s8rf_nshort_W5p0_L0p18_M2_b" "s8rf_nshort_W5p0_L0p15_M4_b" "s8rf_nshort_W5p0_L0p15_M2_b" "s8rf_nshort_W3p0_L0p25_M4_b" "s8rf_nshort_W3p0_L0p25_M2_b" "s8rf_nshort_W3p0_L0p18_M4_b" "s8rf_nshort_W3p0_L0p18_M2_b" "s8rf_nshort_W3p0_L0p15_M4_b" "s8rf_nshort_W3p0_L0p15_M2_b" "s8rf_nshort_W1p65_L0p25_M4_b" "s8rf_nshort_W1p65_L0p25_M2_b" "s8rf_nshort_W1p65_L0p18_M4_b" "s8rf_nshort_W1p65_L0p18_M2_b" "s8rf_nshort_W1p65_L0p15_M4_b" "s8rf_nshort_W1p65_L0p15_M2_b" "s8rf_nlowvt_W3p0_L0p15_8F" "s8rf_nlowvt_W3p0_L0p15_4F" "s8rf_nlowvt_W3p0_L0p15_2F" "s8rf_nlowvt_W0p84_L0p15_8F" "s8rf_nlowvt_W0p84_L0p15_4F" "s8rf_nlowvt_W0p84_L0p15_2F" "s8rf_nlowvt_W0p42_L0p15_2F" "s8rf_nlowvt_W5p0_L0p25_M4_b" "s8rf_nlowvt_W5p0_L0p25_M2_b" "s8rf_nlowvt_W5p0_L0p18_M4_b" "s8rf_nlowvt_W5p0_L0p18_M2_b" "s8rf_nlowvt_W5p0_L0p15_M4_b" "s8rf_nlowvt_W5p0_L0p15_M2_b" "s8rf_nlowvt_W3p0_L0p25_M4_b" "s8rf_nlowvt_W3p0_L0p25_M2_b" "s8rf_nlowvt_W3p0_L0p18_M4_b" "s8rf_nlowvt_W3p0_L0p18_M2_b" "s8rf_nlowvt_W3p0_L0p15_M4_b" "s8rf_nlowvt_W3p0_L0p15_M2_b" "s8rf_nlowvt_W1p65_L0p25_M4_b" "s8rf_nlowvt_W1p65_L0p25_M2_b" "s8rf_nlowvt_W1p65_L0p18_M4_b" "s8rf_nlowvt_W1p65_L0p18_M2_b" "s8rf_nlowvt_W1p65_L0p15_M4_b" "s8rf_nlowvt_W1p65_L0p15_M2_b" "s8rf_nhv_W5p0_L0p5_M2_b" "s8rf_nhv_W3p0_L0p5_M2_b" "s8rf_nhv_W7p0_L0p5_M4_b" "s8rf_nhv_W7p0_L0p5_M10_b" "s8rf_nhv_W5p0_L0p5_M4_b" "s8rf_nhv_W5p0_L0p5_M10_b" "s8rf_nhv_W3p0_L0p5_M4_b" "s8rf_nhv_W3p0_L0p5_M10_b") |
| nhv = (hvinmos NOT (nhvnative OR |
| (ntvnative OR |
| (fnpass OR |
| (nhvesd OR |
| (nhvnativeesd OR |
| (nvhv OR n20vhv1))))))) NOT rfGate |
| nlowvt = (lvtnfet NOT (hvilvtnfet OR |
| (sonos_p OR |
| (ldntm OR tunm)))) NOT rfGate |
| nshort = (nfet_dev NOT (lvtnfet OR |
| (hvinmos OR |
| (nshortesd OR |
| (npass OR |
| (npd OR nlvtpass)))))) NOT rfGate |
| badnfet = nfet_dev NOT (nshort OR |
| (lvtnfet OR |
| (hvinmos OR |
| (nshortesd OR |
| (npass OR |
| (npd OR |
| (nlvtpass OR rfGate))))))) |
| plowvt = (pfet_dev AND lvtn) NOT rfGate |
| pshort = (pfet_dev NOT (phv OR |
| (phighvt OR |
| (plowvt OR |
| (phvesd OR ppu))))) NOT rfGate |
| badpfet = pfet_dev NOT (pshort OR |
| (phv OR |
| (phighvt OR |
| (plowvt OR |
| (phvesd OR |
| (ppu OR rfGate)))))) |
| rfNMOS = rfGate NOT nwell |
| dummy_rfGate = (WITH TEXT rfGate "dummy_poly" textlabel) NOT tableH3rfFets |
| dummy_nhv = (hvinmos NOT (nhvnative OR |
| (ntvnative OR |
| (fnpass OR |
| (nhvesd OR |
| (nhvnativeesd OR |
| (nvhv OR n20vhv1))))))) AND dummy_rfGate |
| dummy_nlowvt = (lvtnfet NOT (hvilvtnfet OR |
| (sonos_p OR |
| (ldntm OR tunm)))) AND dummy_rfGate |
| dummy_nshort = (nfet_dev NOT (lvtnfet OR |
| (hvinmos OR nshortesd))) AND dummy_rfGate |
| dummy_plowvt = (pfet_dev AND lvtn) AND dummy_rfGate |
| dummy_pshort = (pfet_dev NOT (phv OR |
| (phighvt OR |
| (plowvt OR phvesd)))) AND dummy_rfGate |
| "k_1_rfGate" { |
| @ keep: rfGate - rfGate |
| COPY rfGate |
| } |
| "r_537_dnwell.6" { |
| @ dnwell.6: rfNMOS must be enclosed by dnwell |
| rfNMOS NOT dnwell |
| } |
| "r_538_poly.X.1a" { |
| @ poly.X.1a: 0.5 min. width of dummy_nhv |
| q0dummy_nhvcoin = dummy_nhv INSIDE EDGE diff |
| dummy_nhv NOT (INTERNAL q0dummy_nhvcoin == 0.5 ABUT < 90 REGION) |
| } |
| "r_539_poly.X.1a" { |
| @ poly.X.1a: 0.15 min. width of dummy_nlowvt |
| q0dummy_nlowvtcoin = dummy_nlowvt INSIDE EDGE diff |
| dummy_nlowvt NOT (INTERNAL q0dummy_nlowvtcoin == 0.15 ABUT < 90 REGION) |
| } |
| "r_540_poly.X.1a" { |
| @ poly.X.1a: 0.15 min. width of dummy_nshort |
| q0dummy_nshortcoin = dummy_nshort INSIDE EDGE diff |
| dummy_nshort NOT (INTERNAL q0dummy_nshortcoin == 0.15 ABUT < 90 REGION) |
| } |
| "r_541_poly.X.1a" { |
| @ poly.X.1a: 0.15 min. width of dummy_pshort |
| q0dummy_pshortcoin = dummy_pshort INSIDE EDGE diff |
| dummy_pshort NOT (INTERNAL q0dummy_pshortcoin == 0.15 ABUT < 90 REGION) |
| } |
| "r_542_poly.X.1a" { |
| @ poly.X.1a: 0.35 min. width of dummy_plowvt |
| q0dummy_plowvtcoin = dummy_plowvt INSIDE EDGE diff |
| dummy_plowvt NOT (INTERNAL q0dummy_plowvtcoin == 0.35 ABUT < 90 REGION) |
| } |
| "r_543_POLY.X.1" { |
| @ POLY.X.1: This is an invalid nfet |
| COPY badnfet |
| } |
| "r_544_POLY.X.1" { |
| @ POLY.X.1: This is an invalid pfet |
| COPY badpfet |
| } |
| "r_545_POLY.X.1" { |
| @ POLY.X.1: This nhvnative is only allow in the FGR |
| COPY nhvnative_L_0_75_W_4_3_bad |
| } |
| deCapLength = (fetGate AND exemptDeCapCell) COINCIDENT INSIDE EDGE diff |
| deCapfet_L_0_170 = LENGTH deCapLength == 0.17 |
| deCapfet_L_0_590 = LENGTH deCapLength == 0.59 |
| deCapfet_L_0_650 = LENGTH deCapLength == 0.65 |
| deCapfet_L_1_050 = LENGTH deCapLength == 1.05 |
| deCapfet_L_1_130 = LENGTH deCapLength == 1.13 |
| deCapfet_L_1_970 = LENGTH deCapLength == 1.97 |
| deCapfet_L_2_090 = LENGTH deCapLength == 2.09 |
| deCapfet_L_2_890 = LENGTH deCapLength == 2.89 |
| deCapfet_L_3_050 = LENGTH deCapLength == 3.05 |
| deCapfet_L_4_730 = LENGTH deCapLength == 4.73 |
| deCapNfet_L_0_170_W_0_535 = (INTERNAL deCapfet_L_0_170 == 0.535 OPPOSITE PARALLEL ONLY REGION) AND nshort |
| deCapNfet_L_0_590_W_0_550 = (INTERNAL deCapfet_L_0_590 == 0.55 OPPOSITE PARALLEL ONLY REGION) AND nshort |
| deCapNfet_L_1_050_W_0_550 = (INTERNAL deCapfet_L_1_050 == 0.55 OPPOSITE PARALLEL ONLY REGION) AND nshort |
| deCapNfet_L_1_970_W_0_550 = (INTERNAL deCapfet_L_1_970 == 0.55 OPPOSITE PARALLEL ONLY REGION) AND nshort |
| deCapNfet_L_2_890_W_0_550 = (INTERNAL deCapfet_L_2_890 == 0.55 OPPOSITE PARALLEL ONLY REGION) AND nshort |
| deCapNfet_L_4_730_W_0_550 = (INTERNAL deCapfet_L_4_730 == 0.55 OPPOSITE PARALLEL ONLY REGION) AND nshort |
| deCapNfet_L_0_650_W_0_775 = (INTERNAL deCapfet_L_0_650 == 0.775 OPPOSITE PARALLEL ONLY REGION) AND nshort |
| deCapNfet_L_1_130_W_0_775 = (INTERNAL deCapfet_L_1_130 == 0.775 OPPOSITE PARALLEL ONLY REGION) AND nshort |
| deCapNfet_L_2_090_W_0_775 = (INTERNAL deCapfet_L_2_090 == 0.775 OPPOSITE PARALLEL ONLY REGION) AND nshort |
| deCapNfet_L_3_050_W_0_775 = (INTERNAL deCapfet_L_3_050 == 0.775 OPPOSITE PARALLEL ONLY REGION) AND nshort |
| deCapPfet_L_0_170_W_1_255 = (INTERNAL deCapfet_L_0_170 == 1.255 OPPOSITE PARALLEL ONLY REGION) AND pshort |
| deCapPfet_L_0_650_W_1_255 = (INTERNAL deCapfet_L_0_650 == 1.255 OPPOSITE PARALLEL ONLY REGION) AND pshort |
| deCapPfet_L_1_130_W_1_255 = (INTERNAL deCapfet_L_1_130 == 1.255 OPPOSITE PARALLEL ONLY REGION) AND pshort |
| deCapPfet_L_2_090_W_1_255 = (INTERNAL deCapfet_L_2_090 == 1.255 OPPOSITE PARALLEL ONLY REGION) AND pshort |
| deCapPfet_L_3_050_W_1_255 = (INTERNAL deCapfet_L_3_050 == 1.255 OPPOSITE PARALLEL ONLY REGION) AND pshort |
| deCapPfet_L_0_590_W_0_870 = (INTERNAL deCapfet_L_0_590 == 0.87 OPPOSITE PARALLEL ONLY REGION) AND phighvt |
| deCapPfet_L_1_050_W_0_870 = (INTERNAL deCapfet_L_1_050 == 0.87 OPPOSITE PARALLEL ONLY REGION) AND phighvt |
| deCapPfet_L_1_970_W_0_870 = (INTERNAL deCapfet_L_1_970 == 0.87 OPPOSITE PARALLEL ONLY REGION) AND phighvt |
| deCapPfet_L_2_890_W_0_870 = (INTERNAL deCapfet_L_2_890 == 0.87 OPPOSITE PARALLEL ONLY REGION) AND phighvt |
| deCapPfet_L_4_730_W_0_870 = (INTERNAL deCapfet_L_4_730 == 0.87 OPPOSITE PARALLEL ONLY REGION) AND phighvt |
| phighvt_L_0_18_W_0_54 = INTERNAL phighvt_L_0_18 == 0.54 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_0_18_W_0_70 = INTERNAL phighvt_L_0_18 == 0.7 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_0_18_W_0_75 = INTERNAL phighvt_L_0_18 == 0.75 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_0_18_W_0_79 = INTERNAL phighvt_L_0_18 == 0.79 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_0_18_W_0_94 = INTERNAL phighvt_L_0_18 == 0.94 OPPOSITE PARALLEL ONLY REGION |
| scs8hdllStndCell = EXTENT CELL "scs8hdll*" ORIGINAL |
| phighvt_L_0_18_W_valid = (phighvt_L_0_18_W_0_54 OR (phighvt_L_0_18_W_0_70 OR (phighvt_L_0_18_W_0_75 OR (phighvt_L_0_18_W_0_79 OR phighvt_L_0_18_W_0_94)))) AND scs8hdllStndCell |
| goodDecapNfets = deCapNfet_L_4_730_W_0_550 OR (deCapNfet_L_2_890_W_0_550 OR (deCapNfet_L_1_970_W_0_550 OR (deCapNfet_L_1_050_W_0_550 OR (deCapNfet_L_0_590_W_0_550 OR (deCapNfet_L_0_170_W_0_535 OR |
| ((deCapNfet_L_0_650_W_0_775 OR deCapNfet_L_1_130_W_0_775) OR (deCapNfet_L_2_090_W_0_775 OR deCapNfet_L_3_050_W_0_775))))))) |
| goodDecapPfets = deCapPfet_L_0_170_W_1_255 OR |
| ((deCapPfet_L_0_650_W_1_255 OR deCapPfet_L_1_130_W_1_255) OR (deCapPfet_L_2_090_W_1_255 OR deCapPfet_L_3_050_W_1_255)) |
| goodDecapPhighvts = phighvt_L_0_18_W_valid OR (deCapPfet_L_4_730_W_0_870 OR (deCapPfet_L_2_890_W_0_870 OR (deCapPfet_L_1_970_W_0_870 OR (deCapPfet_L_0_590_W_0_870 OR deCapPfet_L_1_050_W_0_870)))) |
| exemptDecaps = goodDecapNfets OR |
| (goodDecapPfets OR goodDecapPhighvts) |
| GATEnoPrune = GATE NOT prune |
| s8rf_pmedlvt_W0p84_L0p15_2F = rfGate AND (EXTENT CELL "s8rf_pmedlvt_W0p84_L0p15_2F") |
| "k_2_s8rf_pmedlvt_W0p84_L0p15_2F" { |
| @ keep: s8rf_pmedlvt_W0p84_L0p15_2F - s8rf_pmedlvt_W0p84_L0p15_2F |
| COPY s8rf_pmedlvt_W0p84_L0p15_2F |
| } |
| s8rf_pmedlvt_W0p84_L0p15_2F_L_0_15 = LENGTH (s8rf_pmedlvt_W0p84_L0p15_2F COINCIDENT INSIDE EDGE diff) == 0.15 |
| "k_3_s8rf_pmedlvt_W0p84_L0p15_2F_L_0_15" { |
| @ keep: s8rf_pmedlvt_W0p84_L0p15_2F_L_0_15 - s8rf_pmedlvt_W0p84_L0p15_2F_L_0_15 |
| COPY s8rf_pmedlvt_W0p84_L0p15_2F_L_0_15 |
| } |
| s8rf_pmedlvt_W0p84_L0p15_2F_L_0_15_W_0_84_tmp = INTERNAL s8rf_pmedlvt_W0p84_L0p15_2F_L_0_15 == 0.84 OPPOSITE PARALLEL ONLY REGION |
| s8rf_pmedlvt_W0p84_L0p15_2F_L_0_15_W_0_84 = (WITH TEXT s8rf_pmedlvt_W0p84_L0p15_2F "dummy_poly" textlabel) OR s8rf_pmedlvt_W0p84_L0p15_2F_L_0_15_W_0_84_tmp |
| s8rf_pmedlvt_W0p84_L0p15_2F_valid = COPY s8rf_pmedlvt_W0p84_L0p15_2F_L_0_15_W_0_84 |
| "k_4_s8rf_pmedlvt_W0p84_L0p15_2F_valid" { |
| @ keep: s8rf_pmedlvt_W0p84_L0p15_2F_valid - s8rf_pmedlvt_W0p84_L0p15_2F_valid |
| COPY s8rf_pmedlvt_W0p84_L0p15_2F_valid |
| } |
| s8rf_pmedlvt_W0p84_L0p15_2F_invalid = s8rf_pmedlvt_W0p84_L0p15_2F NOT (exemptDecaps OR s8rf_pmedlvt_W0p84_L0p15_2F_valid) |
| "r_546_Poly.X.1" { |
| @ Poly.X.1: This s8rf_pmedlvt_W0p84_L0p15_2F device has an invalid W/L. Please see MRGA |
| COPY s8rf_pmedlvt_W0p84_L0p15_2F_invalid |
| } |
| s8rf_pshort_W3p0_L0p25_M4_b = rfGate AND (EXTENT CELL "s8rf_pshort_W3p0_L0p25_M4_b") |
| "k_5_s8rf_pshort_W3p0_L0p25_M4_b" { |
| @ keep: s8rf_pshort_W3p0_L0p25_M4_b - s8rf_pshort_W3p0_L0p25_M4_b |
| COPY s8rf_pshort_W3p0_L0p25_M4_b |
| } |
| s8rf_pshort_W3p0_L0p25_M4_b_L_0_25 = LENGTH (s8rf_pshort_W3p0_L0p25_M4_b COINCIDENT INSIDE EDGE diff) == 0.25 |
| "k_6_s8rf_pshort_W3p0_L0p25_M4_b_L_0_25" { |
| @ keep: s8rf_pshort_W3p0_L0p25_M4_b_L_0_25 - s8rf_pshort_W3p0_L0p25_M4_b_L_0_25 |
| COPY s8rf_pshort_W3p0_L0p25_M4_b_L_0_25 |
| } |
| s8rf_pshort_W3p0_L0p25_M4_b_L_0_25_W_3_01_tmp = INTERNAL s8rf_pshort_W3p0_L0p25_M4_b_L_0_25 == 3.01 OPPOSITE PARALLEL ONLY REGION |
| s8rf_pshort_W3p0_L0p25_M4_b_L_0_25_W_3_01 = (WITH TEXT s8rf_pshort_W3p0_L0p25_M4_b "dummy_poly" textlabel) OR s8rf_pshort_W3p0_L0p25_M4_b_L_0_25_W_3_01_tmp |
| s8rf_pshort_W3p0_L0p25_M4_b_valid = COPY s8rf_pshort_W3p0_L0p25_M4_b_L_0_25_W_3_01 |
| "k_7_s8rf_pshort_W3p0_L0p25_M4_b_valid" { |
| @ keep: s8rf_pshort_W3p0_L0p25_M4_b_valid - s8rf_pshort_W3p0_L0p25_M4_b_valid |
| COPY s8rf_pshort_W3p0_L0p25_M4_b_valid |
| } |
| s8rf_pshort_W3p0_L0p25_M4_b_invalid = s8rf_pshort_W3p0_L0p25_M4_b NOT (exemptDecaps OR s8rf_pshort_W3p0_L0p25_M4_b_valid) |
| "r_547_Poly.X.1" { |
| @ Poly.X.1: This s8rf_pshort_W3p0_L0p25_M4_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_pshort_W3p0_L0p25_M4_b_invalid |
| } |
| s8rf_pshort_W5p0_L0p15_2F = rfGate AND (EXTENT CELL "s8rf_pshort_W5p0_L0p15_2F") |
| "k_8_s8rf_pshort_W5p0_L0p15_2F" { |
| @ keep: s8rf_pshort_W5p0_L0p15_2F - s8rf_pshort_W5p0_L0p15_2F |
| COPY s8rf_pshort_W5p0_L0p15_2F |
| } |
| s8rf_pshort_W5p0_L0p15_2F_L_0_15 = LENGTH (s8rf_pshort_W5p0_L0p15_2F COINCIDENT INSIDE EDGE diff) == 0.15 |
| "k_9_s8rf_pshort_W5p0_L0p15_2F_L_0_15" { |
| @ keep: s8rf_pshort_W5p0_L0p15_2F_L_0_15 - s8rf_pshort_W5p0_L0p15_2F_L_0_15 |
| COPY s8rf_pshort_W5p0_L0p15_2F_L_0_15 |
| } |
| s8rf_pshort_W5p0_L0p15_2F_L_0_15_W_5_00_tmp = INTERNAL s8rf_pshort_W5p0_L0p15_2F_L_0_15 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| s8rf_pshort_W5p0_L0p15_2F_L_0_15_W_5_00 = (WITH TEXT s8rf_pshort_W5p0_L0p15_2F "dummy_poly" textlabel) OR s8rf_pshort_W5p0_L0p15_2F_L_0_15_W_5_00_tmp |
| s8rf_pshort_W5p0_L0p15_2F_valid = COPY s8rf_pshort_W5p0_L0p15_2F_L_0_15_W_5_00 |
| "k_10_s8rf_pshort_W5p0_L0p15_2F_valid" { |
| @ keep: s8rf_pshort_W5p0_L0p15_2F_valid - s8rf_pshort_W5p0_L0p15_2F_valid |
| COPY s8rf_pshort_W5p0_L0p15_2F_valid |
| } |
| s8rf_pshort_W5p0_L0p15_2F_invalid = s8rf_pshort_W5p0_L0p15_2F NOT (exemptDecaps OR s8rf_pshort_W5p0_L0p15_2F_valid) |
| "r_548_Poly.X.1" { |
| @ Poly.X.1: This s8rf_pshort_W5p0_L0p15_2F device has an invalid W/L. Please see MRGA |
| COPY s8rf_pshort_W5p0_L0p15_2F_invalid |
| } |
| s8rf_pshort_W1p65_L0p25_M4_b = rfGate AND (EXTENT CELL "s8rf_pshort_W1p65_L0p25_M4_b") |
| "k_11_s8rf_pshort_W1p65_L0p25_M4_b" { |
| @ keep: s8rf_pshort_W1p65_L0p25_M4_b - s8rf_pshort_W1p65_L0p25_M4_b |
| COPY s8rf_pshort_W1p65_L0p25_M4_b |
| } |
| s8rf_pshort_W1p65_L0p25_M4_b_L_0_25 = LENGTH (s8rf_pshort_W1p65_L0p25_M4_b COINCIDENT INSIDE EDGE diff) == 0.25 |
| "k_12_s8rf_pshort_W1p65_L0p25_M4_b_L_0_25" { |
| @ keep: s8rf_pshort_W1p65_L0p25_M4_b_L_0_25 - s8rf_pshort_W1p65_L0p25_M4_b_L_0_25 |
| COPY s8rf_pshort_W1p65_L0p25_M4_b_L_0_25 |
| } |
| s8rf_pshort_W1p65_L0p25_M4_b_L_0_25_W_1_65_tmp = INTERNAL s8rf_pshort_W1p65_L0p25_M4_b_L_0_25 == 1.65 OPPOSITE PARALLEL ONLY REGION |
| s8rf_pshort_W1p65_L0p25_M4_b_L_0_25_W_1_65 = (WITH TEXT s8rf_pshort_W1p65_L0p25_M4_b "dummy_poly" textlabel) OR s8rf_pshort_W1p65_L0p25_M4_b_L_0_25_W_1_65_tmp |
| s8rf_pshort_W1p65_L0p25_M4_b_valid = COPY s8rf_pshort_W1p65_L0p25_M4_b_L_0_25_W_1_65 |
| "k_13_s8rf_pshort_W1p65_L0p25_M4_b_valid" { |
| @ keep: s8rf_pshort_W1p65_L0p25_M4_b_valid - s8rf_pshort_W1p65_L0p25_M4_b_valid |
| COPY s8rf_pshort_W1p65_L0p25_M4_b_valid |
| } |
| s8rf_pshort_W1p65_L0p25_M4_b_invalid = s8rf_pshort_W1p65_L0p25_M4_b NOT (exemptDecaps OR s8rf_pshort_W1p65_L0p25_M4_b_valid) |
| "r_549_Poly.X.1" { |
| @ Poly.X.1: This s8rf_pshort_W1p65_L0p25_M4_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_pshort_W1p65_L0p25_M4_b_invalid |
| } |
| phvesd_L_0_55 = LENGTH ("phvesd" COINCIDENT INSIDE EDGE diff) == 0.55 |
| "k_14_phvesd_L_0_55" { |
| @ keep: phvesd_L_0_55 - phvesd_L_0_55 |
| COPY phvesd_L_0_55 |
| } |
| phvesd_L_0_55_W_14_50_tmp = INTERNAL phvesd_L_0_55 == 14.5 OPPOSITE PARALLEL ONLY REGION |
| phvesd_L_0_55_W_14_50 = (WITH TEXT "phvesd" "dummy_poly" textlabel) OR phvesd_L_0_55_W_14_50_tmp |
| phvesd_L_0_55_W_15_50_tmp = INTERNAL phvesd_L_0_55 == 15.5 OPPOSITE PARALLEL ONLY REGION |
| phvesd_L_0_55_W_15_50 = (WITH TEXT "phvesd" "dummy_poly" textlabel) OR phvesd_L_0_55_W_15_50_tmp |
| phvesd_L_0_55_W_16_50_tmp = INTERNAL phvesd_L_0_55 == 16.5 OPPOSITE PARALLEL ONLY REGION |
| phvesd_L_0_55_W_16_50 = (WITH TEXT "phvesd" "dummy_poly" textlabel) OR phvesd_L_0_55_W_16_50_tmp |
| phvesd_L_0_55_W_17_50_tmp = INTERNAL phvesd_L_0_55 == 17.5 OPPOSITE PARALLEL ONLY REGION |
| phvesd_L_0_55_W_17_50 = (WITH TEXT "phvesd" "dummy_poly" textlabel) OR phvesd_L_0_55_W_17_50_tmp |
| phvesd_L_0_55_W_19_50_tmp = INTERNAL phvesd_L_0_55 == 19.5 OPPOSITE PARALLEL ONLY REGION |
| phvesd_L_0_55_W_19_50 = (WITH TEXT "phvesd" "dummy_poly" textlabel) OR phvesd_L_0_55_W_19_50_tmp |
| phvesd_L_0_55_W_21_50_tmp = INTERNAL phvesd_L_0_55 == 21.5 OPPOSITE PARALLEL ONLY REGION |
| phvesd_L_0_55_W_21_50 = (WITH TEXT "phvesd" "dummy_poly" textlabel) OR phvesd_L_0_55_W_21_50_tmp |
| phvesd_L_0_55_W_23_50_tmp = INTERNAL phvesd_L_0_55 == 23.5 OPPOSITE PARALLEL ONLY REGION |
| phvesd_L_0_55_W_23_50 = (WITH TEXT "phvesd" "dummy_poly" textlabel) OR phvesd_L_0_55_W_23_50_tmp |
| phvesd_L_0_55_W_26_50_tmp = INTERNAL phvesd_L_0_55 == 26.5 OPPOSITE PARALLEL ONLY REGION |
| phvesd_L_0_55_W_26_50 = (WITH TEXT "phvesd" "dummy_poly" textlabel) OR phvesd_L_0_55_W_26_50_tmp |
| phvesd_valid = phvesd_L_0_55_W_26_50 OR |
| (phvesd_L_0_55_W_23_50 OR |
| (phvesd_L_0_55_W_21_50 OR |
| (phvesd_L_0_55_W_19_50 OR |
| (phvesd_L_0_55_W_17_50 OR |
| (phvesd_L_0_55_W_16_50 OR |
| (phvesd_L_0_55_W_15_50 OR phvesd_L_0_55_W_14_50)))))) |
| "k_15_phvesd_valid" { |
| @ keep: phvesd_valid - phvesd_valid |
| COPY phvesd_valid |
| } |
| phvesd_invalid = phvesd NOT (exemptDecaps OR phvesd_valid) |
| "r_550_Poly.X.1" { |
| @ Poly.X.1: This phvesd device has an invalid W/L. Please see MRGA |
| COPY phvesd_invalid |
| } |
| s8rf_pshort_W3p0_L0p15_M4_b = rfGate AND (EXTENT CELL "s8rf_pshort_W3p0_L0p15_M4_b") |
| "k_16_s8rf_pshort_W3p0_L0p15_M4_b" { |
| @ keep: s8rf_pshort_W3p0_L0p15_M4_b - s8rf_pshort_W3p0_L0p15_M4_b |
| COPY s8rf_pshort_W3p0_L0p15_M4_b |
| } |
| s8rf_pshort_W3p0_L0p15_M4_b_L_0_15 = LENGTH (s8rf_pshort_W3p0_L0p15_M4_b COINCIDENT INSIDE EDGE diff) == 0.15 |
| "k_17_s8rf_pshort_W3p0_L0p15_M4_b_L_0_15" { |
| @ keep: s8rf_pshort_W3p0_L0p15_M4_b_L_0_15 - s8rf_pshort_W3p0_L0p15_M4_b_L_0_15 |
| COPY s8rf_pshort_W3p0_L0p15_M4_b_L_0_15 |
| } |
| s8rf_pshort_W3p0_L0p15_M4_b_L_0_15_W_3_01_tmp = INTERNAL s8rf_pshort_W3p0_L0p15_M4_b_L_0_15 == 3.01 OPPOSITE PARALLEL ONLY REGION |
| s8rf_pshort_W3p0_L0p15_M4_b_L_0_15_W_3_01 = (WITH TEXT s8rf_pshort_W3p0_L0p15_M4_b "dummy_poly" textlabel) OR s8rf_pshort_W3p0_L0p15_M4_b_L_0_15_W_3_01_tmp |
| s8rf_pshort_W3p0_L0p15_M4_b_valid = COPY s8rf_pshort_W3p0_L0p15_M4_b_L_0_15_W_3_01 |
| "k_18_s8rf_pshort_W3p0_L0p15_M4_b_valid" { |
| @ keep: s8rf_pshort_W3p0_L0p15_M4_b_valid - s8rf_pshort_W3p0_L0p15_M4_b_valid |
| COPY s8rf_pshort_W3p0_L0p15_M4_b_valid |
| } |
| s8rf_pshort_W3p0_L0p15_M4_b_invalid = s8rf_pshort_W3p0_L0p15_M4_b NOT (exemptDecaps OR s8rf_pshort_W3p0_L0p15_M4_b_valid) |
| "r_551_Poly.X.1" { |
| @ Poly.X.1: This s8rf_pshort_W3p0_L0p15_M4_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_pshort_W3p0_L0p15_M4_b_invalid |
| } |
| s8rf_pshort_W5p0_L0p25_M4_b = rfGate AND (EXTENT CELL "s8rf_pshort_W5p0_L0p25_M4_b") |
| "k_19_s8rf_pshort_W5p0_L0p25_M4_b" { |
| @ keep: s8rf_pshort_W5p0_L0p25_M4_b - s8rf_pshort_W5p0_L0p25_M4_b |
| COPY s8rf_pshort_W5p0_L0p25_M4_b |
| } |
| s8rf_pshort_W5p0_L0p25_M4_b_L_0_25 = LENGTH (s8rf_pshort_W5p0_L0p25_M4_b COINCIDENT INSIDE EDGE diff) == 0.25 |
| "k_20_s8rf_pshort_W5p0_L0p25_M4_b_L_0_25" { |
| @ keep: s8rf_pshort_W5p0_L0p25_M4_b_L_0_25 - s8rf_pshort_W5p0_L0p25_M4_b_L_0_25 |
| COPY s8rf_pshort_W5p0_L0p25_M4_b_L_0_25 |
| } |
| s8rf_pshort_W5p0_L0p25_M4_b_L_0_25_W_5_05_tmp = INTERNAL s8rf_pshort_W5p0_L0p25_M4_b_L_0_25 == 5.05 OPPOSITE PARALLEL ONLY REGION |
| s8rf_pshort_W5p0_L0p25_M4_b_L_0_25_W_5_05 = (WITH TEXT s8rf_pshort_W5p0_L0p25_M4_b "dummy_poly" textlabel) OR s8rf_pshort_W5p0_L0p25_M4_b_L_0_25_W_5_05_tmp |
| s8rf_pshort_W5p0_L0p25_M4_b_valid = COPY s8rf_pshort_W5p0_L0p25_M4_b_L_0_25_W_5_05 |
| "k_21_s8rf_pshort_W5p0_L0p25_M4_b_valid" { |
| @ keep: s8rf_pshort_W5p0_L0p25_M4_b_valid - s8rf_pshort_W5p0_L0p25_M4_b_valid |
| COPY s8rf_pshort_W5p0_L0p25_M4_b_valid |
| } |
| s8rf_pshort_W5p0_L0p25_M4_b_invalid = s8rf_pshort_W5p0_L0p25_M4_b NOT (exemptDecaps OR s8rf_pshort_W5p0_L0p25_M4_b_valid) |
| "r_552_Poly.X.1" { |
| @ Poly.X.1: This s8rf_pshort_W5p0_L0p25_M4_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_pshort_W5p0_L0p25_M4_b_invalid |
| } |
| s8rf_pshort_W5p0_L0p25_M2_b = rfGate AND (EXTENT CELL "s8rf_pshort_W5p0_L0p25_M2_b") |
| "k_22_s8rf_pshort_W5p0_L0p25_M2_b" { |
| @ keep: s8rf_pshort_W5p0_L0p25_M2_b - s8rf_pshort_W5p0_L0p25_M2_b |
| COPY s8rf_pshort_W5p0_L0p25_M2_b |
| } |
| s8rf_pshort_W5p0_L0p25_M2_b_L_0_25 = LENGTH (s8rf_pshort_W5p0_L0p25_M2_b COINCIDENT INSIDE EDGE diff) == 0.25 |
| "k_23_s8rf_pshort_W5p0_L0p25_M2_b_L_0_25" { |
| @ keep: s8rf_pshort_W5p0_L0p25_M2_b_L_0_25 - s8rf_pshort_W5p0_L0p25_M2_b_L_0_25 |
| COPY s8rf_pshort_W5p0_L0p25_M2_b_L_0_25 |
| } |
| s8rf_pshort_W5p0_L0p25_M2_b_L_0_25_W_5_05_tmp = INTERNAL s8rf_pshort_W5p0_L0p25_M2_b_L_0_25 == 5.05 OPPOSITE PARALLEL ONLY REGION |
| s8rf_pshort_W5p0_L0p25_M2_b_L_0_25_W_5_05 = (WITH TEXT s8rf_pshort_W5p0_L0p25_M2_b "dummy_poly" textlabel) OR s8rf_pshort_W5p0_L0p25_M2_b_L_0_25_W_5_05_tmp |
| s8rf_pshort_W5p0_L0p25_M2_b_valid = COPY s8rf_pshort_W5p0_L0p25_M2_b_L_0_25_W_5_05 |
| "k_24_s8rf_pshort_W5p0_L0p25_M2_b_valid" { |
| @ keep: s8rf_pshort_W5p0_L0p25_M2_b_valid - s8rf_pshort_W5p0_L0p25_M2_b_valid |
| COPY s8rf_pshort_W5p0_L0p25_M2_b_valid |
| } |
| s8rf_pshort_W5p0_L0p25_M2_b_invalid = s8rf_pshort_W5p0_L0p25_M2_b NOT (exemptDecaps OR s8rf_pshort_W5p0_L0p25_M2_b_valid) |
| "r_553_Poly.X.1" { |
| @ Poly.X.1: This s8rf_pshort_W5p0_L0p25_M2_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_pshort_W5p0_L0p25_M2_b_invalid |
| } |
| plowvt_L_0_35 = LENGTH ("plowvt" COINCIDENT INSIDE EDGE diff) == 0.35 |
| "k_25_plowvt_L_0_35" { |
| @ keep: plowvt_L_0_35 - plowvt_L_0_35 |
| COPY plowvt_L_0_35 |
| } |
| plowvt_L_0_35_W_0_42_tmp = INTERNAL plowvt_L_0_35 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_0_35_W_0_42 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_0_35_W_0_42_tmp |
| plowvt_L_0_35_W_0_55_tmp = INTERNAL plowvt_L_0_35 == 0.55 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_0_35_W_0_55 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_0_35_W_0_55_tmp |
| plowvt_L_0_35_W_1_00_tmp = INTERNAL plowvt_L_0_35 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_0_35_W_1_00 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_0_35_W_1_00_tmp |
| plowvt_L_0_35_W_3_00_tmp = INTERNAL plowvt_L_0_35 == 3.0 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_0_35_W_3_00 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_0_35_W_3_00_tmp |
| plowvt_L_0_35_W_5_00_tmp = INTERNAL plowvt_L_0_35 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_0_35_W_5_00 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_0_35_W_5_00_tmp |
| plowvt_L_0_35_W_7_00_tmp = INTERNAL plowvt_L_0_35 == 7.0 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_0_35_W_7_00 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_0_35_W_7_00_tmp |
| plowvt_L_0_50 = LENGTH ("plowvt" COINCIDENT INSIDE EDGE diff) == 0.5 |
| "k_26_plowvt_L_0_50" { |
| @ keep: plowvt_L_0_50 - plowvt_L_0_50 |
| COPY plowvt_L_0_50 |
| } |
| plowvt_L_0_50_W_0_42_tmp = INTERNAL plowvt_L_0_50 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_0_50_W_0_42 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_0_50_W_0_42_tmp |
| plowvt_L_0_50_W_0_55_tmp = INTERNAL plowvt_L_0_50 == 0.55 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_0_50_W_0_55 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_0_50_W_0_55_tmp |
| plowvt_L_0_50_W_1_00_tmp = INTERNAL plowvt_L_0_50 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_0_50_W_1_00 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_0_50_W_1_00_tmp |
| plowvt_L_0_50_W_3_00_tmp = INTERNAL plowvt_L_0_50 == 3.0 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_0_50_W_3_00 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_0_50_W_3_00_tmp |
| plowvt_L_0_50_W_5_00_tmp = INTERNAL plowvt_L_0_50 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_0_50_W_5_00 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_0_50_W_5_00_tmp |
| plowvt_L_0_50_W_7_00_tmp = INTERNAL plowvt_L_0_50 == 7.0 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_0_50_W_7_00 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_0_50_W_7_00_tmp |
| plowvt_L_1_00 = LENGTH ("plowvt" COINCIDENT INSIDE EDGE diff) == 1.0 |
| "k_27_plowvt_L_1_00" { |
| @ keep: plowvt_L_1_00 - plowvt_L_1_00 |
| COPY plowvt_L_1_00 |
| } |
| plowvt_L_1_00_W_0_42_tmp = INTERNAL plowvt_L_1_00 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_1_00_W_0_42 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_1_00_W_0_42_tmp |
| plowvt_L_1_00_W_0_55_tmp = INTERNAL plowvt_L_1_00 == 0.55 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_1_00_W_0_55 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_1_00_W_0_55_tmp |
| plowvt_L_1_00_W_1_00_tmp = INTERNAL plowvt_L_1_00 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_1_00_W_1_00 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_1_00_W_1_00_tmp |
| plowvt_L_1_00_W_3_00_tmp = INTERNAL plowvt_L_1_00 == 3.0 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_1_00_W_3_00 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_1_00_W_3_00_tmp |
| plowvt_L_1_00_W_5_00_tmp = INTERNAL plowvt_L_1_00 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_1_00_W_5_00 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_1_00_W_5_00_tmp |
| plowvt_L_1_00_W_7_00_tmp = INTERNAL plowvt_L_1_00 == 7.0 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_1_00_W_7_00 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_1_00_W_7_00_tmp |
| plowvt_L_1_50 = LENGTH ("plowvt" COINCIDENT INSIDE EDGE diff) == 1.5 |
| "k_28_plowvt_L_1_50" { |
| @ keep: plowvt_L_1_50 - plowvt_L_1_50 |
| COPY plowvt_L_1_50 |
| } |
| plowvt_L_1_50_W_3_00_tmp = INTERNAL plowvt_L_1_50 == 3.0 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_1_50_W_3_00 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_1_50_W_3_00_tmp |
| plowvt_L_1_50_W_5_00_tmp = INTERNAL plowvt_L_1_50 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_1_50_W_5_00 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_1_50_W_5_00_tmp |
| plowvt_L_1_50_W_7_00_tmp = INTERNAL plowvt_L_1_50 == 7.0 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_1_50_W_7_00 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_1_50_W_7_00_tmp |
| plowvt_L_2_00 = LENGTH ("plowvt" COINCIDENT INSIDE EDGE diff) == 2.0 |
| "k_29_plowvt_L_2_00" { |
| @ keep: plowvt_L_2_00 - plowvt_L_2_00 |
| COPY plowvt_L_2_00 |
| } |
| plowvt_L_2_00_W_0_42_tmp = INTERNAL plowvt_L_2_00 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_2_00_W_0_42 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_2_00_W_0_42_tmp |
| plowvt_L_2_00_W_0_55_tmp = INTERNAL plowvt_L_2_00 == 0.55 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_2_00_W_0_55 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_2_00_W_0_55_tmp |
| plowvt_L_2_00_W_1_00_tmp = INTERNAL plowvt_L_2_00 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_2_00_W_1_00 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_2_00_W_1_00_tmp |
| plowvt_L_2_00_W_2_40_tmp = INTERNAL plowvt_L_2_00 == 2.4 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_2_00_W_2_40 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_2_00_W_2_40_tmp |
| plowvt_L_2_00_W_3_00_tmp = INTERNAL plowvt_L_2_00 == 3.0 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_2_00_W_3_00 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_2_00_W_3_00_tmp |
| plowvt_L_2_00_W_3_375_tmp = INTERNAL plowvt_L_2_00 == 3.375 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_2_00_W_3_375 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_2_00_W_3_375_tmp |
| plowvt_L_2_00_W_3_990_tmp = INTERNAL plowvt_L_2_00 == 3.99 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_2_00_W_3_990 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_2_00_W_3_990_tmp |
| plowvt_L_2_00_W_4_255_tmp = INTERNAL plowvt_L_2_00 == 4.255 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_2_00_W_4_255 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_2_00_W_4_255_tmp |
| plowvt_L_2_00_W_5_00_tmp = INTERNAL plowvt_L_2_00 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_2_00_W_5_00 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_2_00_W_5_00_tmp |
| plowvt_L_2_00_W_7_00_tmp = INTERNAL plowvt_L_2_00 == 7.0 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_2_00_W_7_00 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_2_00_W_7_00_tmp |
| plowvt_L_4_00 = LENGTH ("plowvt" COINCIDENT INSIDE EDGE diff) == 4.0 |
| "k_30_plowvt_L_4_00" { |
| @ keep: plowvt_L_4_00 - plowvt_L_4_00 |
| COPY plowvt_L_4_00 |
| } |
| plowvt_L_4_00_W_0_42_tmp = INTERNAL plowvt_L_4_00 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_4_00_W_0_42 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_4_00_W_0_42_tmp |
| plowvt_L_4_00_W_0_55_tmp = INTERNAL plowvt_L_4_00 == 0.55 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_4_00_W_0_55 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_4_00_W_0_55_tmp |
| plowvt_L_4_00_W_1_00_tmp = INTERNAL plowvt_L_4_00 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_4_00_W_1_00 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_4_00_W_1_00_tmp |
| plowvt_L_4_00_W_1_770_tmp = INTERNAL plowvt_L_4_00 == 1.77 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_4_00_W_1_770 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_4_00_W_1_770_tmp |
| plowvt_L_4_00_W_1_805_tmp = INTERNAL plowvt_L_4_00 == 1.805 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_4_00_W_1_805 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_4_00_W_1_805_tmp |
| plowvt_L_4_00_W_1_995_tmp = INTERNAL plowvt_L_4_00 == 1.995 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_4_00_W_1_995 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_4_00_W_1_995_tmp |
| plowvt_L_4_00_W_2_005_tmp = INTERNAL plowvt_L_4_00 == 2.005 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_4_00_W_2_005 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_4_00_W_2_005_tmp |
| plowvt_L_4_00_W_2_140_tmp = INTERNAL plowvt_L_4_00 == 2.14 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_4_00_W_2_140 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_4_00_W_2_140_tmp |
| plowvt_L_4_00_W_2_190_tmp = INTERNAL plowvt_L_4_00 == 2.19 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_4_00_W_2_190 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_4_00_W_2_190_tmp |
| plowvt_L_4_00_W_2_295_tmp = INTERNAL plowvt_L_4_00 == 2.295 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_4_00_W_2_295 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_4_00_W_2_295_tmp |
| plowvt_L_4_00_W_2_340_tmp = INTERNAL plowvt_L_4_00 == 2.34 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_4_00_W_2_340 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_4_00_W_2_340_tmp |
| plowvt_L_4_00_W_2_500_tmp = INTERNAL plowvt_L_4_00 == 2.5 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_4_00_W_2_500 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_4_00_W_2_500_tmp |
| plowvt_L_4_00_W_2_755_tmp = INTERNAL plowvt_L_4_00 == 2.755 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_4_00_W_2_755 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_4_00_W_2_755_tmp |
| plowvt_L_4_00_W_2_770_tmp = INTERNAL plowvt_L_4_00 == 2.77 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_4_00_W_2_770 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_4_00_W_2_770_tmp |
| plowvt_L_4_00_W_2_875_tmp = INTERNAL plowvt_L_4_00 == 2.875 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_4_00_W_2_875 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_4_00_W_2_875_tmp |
| plowvt_L_4_00_W_2_910_tmp = INTERNAL plowvt_L_4_00 == 2.91 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_4_00_W_2_910 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_4_00_W_2_910_tmp |
| plowvt_L_4_00_W_3_00_tmp = INTERNAL plowvt_L_4_00 == 3.0 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_4_00_W_3_00 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_4_00_W_3_00_tmp |
| plowvt_L_4_00_W_5_00_tmp = INTERNAL plowvt_L_4_00 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_4_00_W_5_00 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_4_00_W_5_00_tmp |
| plowvt_L_4_00_W_7_00_tmp = INTERNAL plowvt_L_4_00 == 7.0 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_4_00_W_7_00 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_4_00_W_7_00_tmp |
| plowvt_L_8_00 = LENGTH ("plowvt" COINCIDENT INSIDE EDGE diff) == 8.0 |
| "k_31_plowvt_L_8_00" { |
| @ keep: plowvt_L_8_00 - plowvt_L_8_00 |
| COPY plowvt_L_8_00 |
| } |
| plowvt_L_8_00_W_0_42_tmp = INTERNAL plowvt_L_8_00 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_8_00_W_0_42 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_8_00_W_0_42_tmp |
| plowvt_L_8_00_W_0_55_tmp = INTERNAL plowvt_L_8_00 == 0.55 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_8_00_W_0_55 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_8_00_W_0_55_tmp |
| plowvt_L_8_00_W_1_00_tmp = INTERNAL plowvt_L_8_00 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_8_00_W_1_00 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_8_00_W_1_00_tmp |
| plowvt_L_8_00_W_3_00_tmp = INTERNAL plowvt_L_8_00 == 3.0 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_8_00_W_3_00 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_8_00_W_3_00_tmp |
| plowvt_L_8_00_W_5_00_tmp = INTERNAL plowvt_L_8_00 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_8_00_W_5_00 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_8_00_W_5_00_tmp |
| plowvt_L_8_00_W_7_00_tmp = INTERNAL plowvt_L_8_00 == 7.0 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_8_00_W_7_00 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_8_00_W_7_00_tmp |
| plowvt_L_20_0 = LENGTH ("plowvt" COINCIDENT INSIDE EDGE diff) == 20.0 |
| "k_32_plowvt_L_20_0" { |
| @ keep: plowvt_L_20_0 - plowvt_L_20_0 |
| COPY plowvt_L_20_0 |
| } |
| plowvt_L_20_0_W_0_42_tmp = INTERNAL plowvt_L_20_0 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| plowvt_L_20_0_W_0_42 = (WITH TEXT "plowvt" "dummy_poly" textlabel) OR plowvt_L_20_0_W_0_42_tmp |
| plowvt_valid = plowvt_L_20_0_W_0_42 OR |
| (plowvt_L_8_00_W_7_00 OR |
| (plowvt_L_8_00_W_5_00 OR |
| (plowvt_L_8_00_W_3_00 OR |
| (plowvt_L_8_00_W_1_00 OR |
| (plowvt_L_8_00_W_0_55 OR |
| (plowvt_L_8_00_W_0_42 OR |
| (plowvt_L_4_00_W_7_00 OR |
| (plowvt_L_4_00_W_5_00 OR |
| (plowvt_L_4_00_W_3_00 OR |
| (plowvt_L_4_00_W_2_910 OR |
| (plowvt_L_4_00_W_2_875 OR |
| (plowvt_L_4_00_W_2_770 OR |
| (plowvt_L_4_00_W_2_755 OR |
| (plowvt_L_4_00_W_2_500 OR |
| (plowvt_L_4_00_W_2_340 OR |
| (plowvt_L_4_00_W_2_295 OR |
| (plowvt_L_4_00_W_2_190 OR |
| (plowvt_L_4_00_W_2_140 OR |
| (plowvt_L_4_00_W_2_005 OR |
| (plowvt_L_4_00_W_1_995 OR |
| (plowvt_L_4_00_W_1_805 OR |
| (plowvt_L_4_00_W_1_770 OR |
| (plowvt_L_4_00_W_1_00 OR |
| (plowvt_L_4_00_W_0_55 OR |
| (plowvt_L_4_00_W_0_42 OR |
| (plowvt_L_2_00_W_7_00 OR |
| (plowvt_L_2_00_W_5_00 OR |
| (plowvt_L_2_00_W_4_255 OR |
| (plowvt_L_2_00_W_3_990 OR |
| (plowvt_L_2_00_W_3_375 OR |
| (plowvt_L_2_00_W_3_00 OR |
| (plowvt_L_2_00_W_2_40 OR |
| (plowvt_L_2_00_W_1_00 OR |
| (plowvt_L_2_00_W_0_55 OR |
| (plowvt_L_2_00_W_0_42 OR |
| (plowvt_L_1_50_W_7_00 OR |
| (plowvt_L_1_50_W_5_00 OR |
| (plowvt_L_1_50_W_3_00 OR |
| (plowvt_L_1_00_W_7_00 OR |
| (plowvt_L_1_00_W_5_00 OR |
| (plowvt_L_1_00_W_3_00 OR |
| (plowvt_L_1_00_W_1_00 OR |
| (plowvt_L_1_00_W_0_55 OR |
| (plowvt_L_1_00_W_0_42 OR |
| (plowvt_L_0_50_W_7_00 OR |
| (plowvt_L_0_50_W_5_00 OR |
| (plowvt_L_0_50_W_3_00 OR |
| (plowvt_L_0_50_W_1_00 OR |
| (plowvt_L_0_50_W_0_55 OR |
| (plowvt_L_0_50_W_0_42 OR |
| (plowvt_L_0_35_W_7_00 OR |
| (plowvt_L_0_35_W_5_00 OR |
| (plowvt_L_0_35_W_3_00 OR |
| (plowvt_L_0_35_W_1_00 OR |
| (plowvt_L_0_35_W_0_55 OR plowvt_L_0_35_W_0_42))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
| "k_33_plowvt_valid" { |
| @ keep: plowvt_valid - plowvt_valid |
| COPY plowvt_valid |
| } |
| plowvt_invalid = plowvt NOT (exemptDecaps OR plowvt_valid) |
| "r_554_Poly.X.1" { |
| @ Poly.X.1: This plowvt device has an invalid W/L. Please see MRGA |
| COPY plowvt_invalid |
| } |
| s8rf_pshort_W0p84_L0p15_2F = rfGate AND (EXTENT CELL "s8rf_pshort_W0p84_L0p15_2F") |
| "k_34_s8rf_pshort_W0p84_L0p15_2F" { |
| @ keep: s8rf_pshort_W0p84_L0p15_2F - s8rf_pshort_W0p84_L0p15_2F |
| COPY s8rf_pshort_W0p84_L0p15_2F |
| } |
| s8rf_pshort_W0p84_L0p15_2F_L_0_15 = LENGTH (s8rf_pshort_W0p84_L0p15_2F COINCIDENT INSIDE EDGE diff) == 0.15 |
| "k_35_s8rf_pshort_W0p84_L0p15_2F_L_0_15" { |
| @ keep: s8rf_pshort_W0p84_L0p15_2F_L_0_15 - s8rf_pshort_W0p84_L0p15_2F_L_0_15 |
| COPY s8rf_pshort_W0p84_L0p15_2F_L_0_15 |
| } |
| s8rf_pshort_W0p84_L0p15_2F_L_0_15_W_0_84_tmp = INTERNAL s8rf_pshort_W0p84_L0p15_2F_L_0_15 == 0.84 OPPOSITE PARALLEL ONLY REGION |
| s8rf_pshort_W0p84_L0p15_2F_L_0_15_W_0_84 = (WITH TEXT s8rf_pshort_W0p84_L0p15_2F "dummy_poly" textlabel) OR s8rf_pshort_W0p84_L0p15_2F_L_0_15_W_0_84_tmp |
| s8rf_pshort_W0p84_L0p15_2F_valid = COPY s8rf_pshort_W0p84_L0p15_2F_L_0_15_W_0_84 |
| "k_36_s8rf_pshort_W0p84_L0p15_2F_valid" { |
| @ keep: s8rf_pshort_W0p84_L0p15_2F_valid - s8rf_pshort_W0p84_L0p15_2F_valid |
| COPY s8rf_pshort_W0p84_L0p15_2F_valid |
| } |
| s8rf_pshort_W0p84_L0p15_2F_invalid = s8rf_pshort_W0p84_L0p15_2F NOT (exemptDecaps OR s8rf_pshort_W0p84_L0p15_2F_valid) |
| "r_555_Poly.X.1" { |
| @ Poly.X.1: This s8rf_pshort_W0p84_L0p15_2F device has an invalid W/L. Please see MRGA |
| COPY s8rf_pshort_W0p84_L0p15_2F_invalid |
| } |
| s8rf_pshort_W1p65_L0p25_M2_b = rfGate AND (EXTENT CELL "s8rf_pshort_W1p65_L0p25_M2_b") |
| "k_37_s8rf_pshort_W1p65_L0p25_M2_b" { |
| @ keep: s8rf_pshort_W1p65_L0p25_M2_b - s8rf_pshort_W1p65_L0p25_M2_b |
| COPY s8rf_pshort_W1p65_L0p25_M2_b |
| } |
| s8rf_pshort_W1p65_L0p25_M2_b_L_0_25 = LENGTH (s8rf_pshort_W1p65_L0p25_M2_b COINCIDENT INSIDE EDGE diff) == 0.25 |
| "k_38_s8rf_pshort_W1p65_L0p25_M2_b_L_0_25" { |
| @ keep: s8rf_pshort_W1p65_L0p25_M2_b_L_0_25 - s8rf_pshort_W1p65_L0p25_M2_b_L_0_25 |
| COPY s8rf_pshort_W1p65_L0p25_M2_b_L_0_25 |
| } |
| s8rf_pshort_W1p65_L0p25_M2_b_L_0_25_W_1_65_tmp = INTERNAL s8rf_pshort_W1p65_L0p25_M2_b_L_0_25 == 1.65 OPPOSITE PARALLEL ONLY REGION |
| s8rf_pshort_W1p65_L0p25_M2_b_L_0_25_W_1_65 = (WITH TEXT s8rf_pshort_W1p65_L0p25_M2_b "dummy_poly" textlabel) OR s8rf_pshort_W1p65_L0p25_M2_b_L_0_25_W_1_65_tmp |
| s8rf_pshort_W1p65_L0p25_M2_b_valid = COPY s8rf_pshort_W1p65_L0p25_M2_b_L_0_25_W_1_65 |
| "k_39_s8rf_pshort_W1p65_L0p25_M2_b_valid" { |
| @ keep: s8rf_pshort_W1p65_L0p25_M2_b_valid - s8rf_pshort_W1p65_L0p25_M2_b_valid |
| COPY s8rf_pshort_W1p65_L0p25_M2_b_valid |
| } |
| s8rf_pshort_W1p65_L0p25_M2_b_invalid = s8rf_pshort_W1p65_L0p25_M2_b NOT (exemptDecaps OR s8rf_pshort_W1p65_L0p25_M2_b_valid) |
| "r_556_Poly.X.1" { |
| @ Poly.X.1: This s8rf_pshort_W1p65_L0p25_M2_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_pshort_W1p65_L0p25_M2_b_invalid |
| } |
| phv_L_0_50 = LENGTH ("phv" COINCIDENT INSIDE EDGE diff) == 0.5 |
| "k_40_phv_L_0_50" { |
| @ keep: phv_L_0_50 - phv_L_0_50 |
| COPY phv_L_0_50 |
| } |
| phv_L_0_50_W_0_42_tmp = INTERNAL phv_L_0_50 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| phv_L_0_50_W_0_42 = (WITH TEXT "phv" "dummy_poly" textlabel) OR phv_L_0_50_W_0_42_tmp |
| phv_L_0_50_W_0_75_tmp = INTERNAL phv_L_0_50 == 0.75 OPPOSITE PARALLEL ONLY REGION |
| phv_L_0_50_W_0_75 = (WITH TEXT "phv" "dummy_poly" textlabel) OR phv_L_0_50_W_0_75_tmp |
| phv_L_0_50_W_1_00_tmp = INTERNAL phv_L_0_50 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| phv_L_0_50_W_1_00 = (WITH TEXT "phv" "dummy_poly" textlabel) OR phv_L_0_50_W_1_00_tmp |
| phv_L_0_50_W_1_50_tmp = INTERNAL phv_L_0_50 == 1.5 OPPOSITE PARALLEL ONLY REGION |
| phv_L_0_50_W_1_50 = (WITH TEXT "phv" "dummy_poly" textlabel) OR phv_L_0_50_W_1_50_tmp |
| phv_L_0_50_W_3_00_tmp = INTERNAL phv_L_0_50 == 3.0 OPPOSITE PARALLEL ONLY REGION |
| phv_L_0_50_W_3_00 = (WITH TEXT "phv" "dummy_poly" textlabel) OR phv_L_0_50_W_3_00_tmp |
| phv_L_0_50_W_5_00_tmp = INTERNAL phv_L_0_50 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| phv_L_0_50_W_5_00 = (WITH TEXT "phv" "dummy_poly" textlabel) OR phv_L_0_50_W_5_00_tmp |
| phv_L_0_50_W_7_00_tmp = INTERNAL phv_L_0_50 == 7.0 OPPOSITE PARALLEL ONLY REGION |
| phv_L_0_50_W_7_00 = (WITH TEXT "phv" "dummy_poly" textlabel) OR phv_L_0_50_W_7_00_tmp |
| phv_L_0_50_W_10_0_tmp = INTERNAL phv_L_0_50 == 10.0 OPPOSITE PARALLEL ONLY REGION |
| phv_L_0_50_W_10_0 = (WITH TEXT "phv" "dummy_poly" textlabel) OR phv_L_0_50_W_10_0_tmp |
| phv_L_0_50_W_15_0_tmp = INTERNAL phv_L_0_50 == 15.0 OPPOSITE PARALLEL ONLY REGION |
| phv_L_0_50_W_15_0 = (WITH TEXT "phv" "dummy_poly" textlabel) OR phv_L_0_50_W_15_0_tmp |
| phv_L_0_50_W_20_0_tmp = INTERNAL phv_L_0_50 == 20.0 OPPOSITE PARALLEL ONLY REGION |
| phv_L_0_50_W_20_0 = (WITH TEXT "phv" "dummy_poly" textlabel) OR phv_L_0_50_W_20_0_tmp |
| phv_L_0_60 = LENGTH ("phv" COINCIDENT INSIDE EDGE diff) == 0.6 |
| "k_41_phv_L_0_60" { |
| @ keep: phv_L_0_60 - phv_L_0_60 |
| COPY phv_L_0_60 |
| } |
| phv_L_0_60_W_0_42_tmp = INTERNAL phv_L_0_60 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| phv_L_0_60_W_0_42 = (WITH TEXT "phv" "dummy_poly" textlabel) OR phv_L_0_60_W_0_42_tmp |
| phv_L_0_60_W_0_70_tmp = INTERNAL phv_L_0_60 == 0.7 OPPOSITE PARALLEL ONLY REGION |
| phv_L_0_60_W_0_70 = (WITH TEXT "phv" "dummy_poly" textlabel) OR phv_L_0_60_W_0_70_tmp |
| phv_L_0_60_W_1_00_tmp = INTERNAL phv_L_0_60 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| phv_L_0_60_W_1_00 = (WITH TEXT "phv" "dummy_poly" textlabel) OR phv_L_0_60_W_1_00_tmp |
| phv_L_0_60_W_3_00_tmp = INTERNAL phv_L_0_60 == 3.0 OPPOSITE PARALLEL ONLY REGION |
| phv_L_0_60_W_3_00 = (WITH TEXT "phv" "dummy_poly" textlabel) OR phv_L_0_60_W_3_00_tmp |
| phv_L_0_60_W_5_00_tmp = INTERNAL phv_L_0_60 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| phv_L_0_60_W_5_00 = (WITH TEXT "phv" "dummy_poly" textlabel) OR phv_L_0_60_W_5_00_tmp |
| phv_L_0_80 = LENGTH ("phv" COINCIDENT INSIDE EDGE diff) == 0.8 |
| "k_42_phv_L_0_80" { |
| @ keep: phv_L_0_80 - phv_L_0_80 |
| COPY phv_L_0_80 |
| } |
| phv_L_0_80_W_0_42_tmp = INTERNAL phv_L_0_80 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| phv_L_0_80_W_0_42 = (WITH TEXT "phv" "dummy_poly" textlabel) OR phv_L_0_80_W_0_42_tmp |
| phv_L_0_80_W_0_75_tmp = INTERNAL phv_L_0_80 == 0.75 OPPOSITE PARALLEL ONLY REGION |
| phv_L_0_80_W_0_75 = (WITH TEXT "phv" "dummy_poly" textlabel) OR phv_L_0_80_W_0_75_tmp |
| phv_L_0_80_W_1_00_tmp = INTERNAL phv_L_0_80 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| phv_L_0_80_W_1_00 = (WITH TEXT "phv" "dummy_poly" textlabel) OR phv_L_0_80_W_1_00_tmp |
| phv_L_0_80_W_5_00_tmp = INTERNAL phv_L_0_80 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| phv_L_0_80_W_5_00 = (WITH TEXT "phv" "dummy_poly" textlabel) OR phv_L_0_80_W_5_00_tmp |
| phv_L_0_80_W_7_00_tmp = INTERNAL phv_L_0_80 == 7.0 OPPOSITE PARALLEL ONLY REGION |
| phv_L_0_80_W_7_00 = (WITH TEXT "phv" "dummy_poly" textlabel) OR phv_L_0_80_W_7_00_tmp |
| phv_L_1_00 = LENGTH ("phv" COINCIDENT INSIDE EDGE diff) == 1.0 |
| "k_43_phv_L_1_00" { |
| @ keep: phv_L_1_00 - phv_L_1_00 |
| COPY phv_L_1_00 |
| } |
| phv_L_1_00_W_0_42_tmp = INTERNAL phv_L_1_00 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| phv_L_1_00_W_0_42 = (WITH TEXT "phv" "dummy_poly" textlabel) OR phv_L_1_00_W_0_42_tmp |
| phv_L_1_00_W_0_75_tmp = INTERNAL phv_L_1_00 == 0.75 OPPOSITE PARALLEL ONLY REGION |
| phv_L_1_00_W_0_75 = (WITH TEXT "phv" "dummy_poly" textlabel) OR phv_L_1_00_W_0_75_tmp |
| phv_L_1_00_W_1_00_tmp = INTERNAL phv_L_1_00 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| phv_L_1_00_W_1_00 = (WITH TEXT "phv" "dummy_poly" textlabel) OR phv_L_1_00_W_1_00_tmp |
| phv_L_1_00_W_1_50_tmp = INTERNAL phv_L_1_00 == 1.5 OPPOSITE PARALLEL ONLY REGION |
| phv_L_1_00_W_1_50 = (WITH TEXT "phv" "dummy_poly" textlabel) OR phv_L_1_00_W_1_50_tmp |
| phv_L_1_00_W_3_00_tmp = INTERNAL phv_L_1_00 == 3.0 OPPOSITE PARALLEL ONLY REGION |
| phv_L_1_00_W_3_00 = (WITH TEXT "phv" "dummy_poly" textlabel) OR phv_L_1_00_W_3_00_tmp |
| phv_L_1_00_W_5_00_tmp = INTERNAL phv_L_1_00 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| phv_L_1_00_W_5_00 = (WITH TEXT "phv" "dummy_poly" textlabel) OR phv_L_1_00_W_5_00_tmp |
| phv_L_1_00_W_7_00_tmp = INTERNAL phv_L_1_00 == 7.0 OPPOSITE PARALLEL ONLY REGION |
| phv_L_1_00_W_7_00 = (WITH TEXT "phv" "dummy_poly" textlabel) OR phv_L_1_00_W_7_00_tmp |
| phv_L_1_00_W_15_0_tmp = INTERNAL phv_L_1_00 == 15.0 OPPOSITE PARALLEL ONLY REGION |
| phv_L_1_00_W_15_0 = (WITH TEXT "phv" "dummy_poly" textlabel) OR phv_L_1_00_W_15_0_tmp |
| phv_L_1_00_W_20_0_tmp = INTERNAL phv_L_1_00 == 20.0 OPPOSITE PARALLEL ONLY REGION |
| phv_L_1_00_W_20_0 = (WITH TEXT "phv" "dummy_poly" textlabel) OR phv_L_1_00_W_20_0_tmp |
| phv_L_2_00 = LENGTH ("phv" COINCIDENT INSIDE EDGE diff) == 2.0 |
| "k_44_phv_L_2_00" { |
| @ keep: phv_L_2_00 - phv_L_2_00 |
| COPY phv_L_2_00 |
| } |
| phv_L_2_00_W_0_42_tmp = INTERNAL phv_L_2_00 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| phv_L_2_00_W_0_42 = (WITH TEXT "phv" "dummy_poly" textlabel) OR phv_L_2_00_W_0_42_tmp |
| phv_L_2_00_W_0_75_tmp = INTERNAL phv_L_2_00 == 0.75 OPPOSITE PARALLEL ONLY REGION |
| phv_L_2_00_W_0_75 = (WITH TEXT "phv" "dummy_poly" textlabel) OR phv_L_2_00_W_0_75_tmp |
| phv_L_2_00_W_1_00_tmp = INTERNAL phv_L_2_00 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| phv_L_2_00_W_1_00 = (WITH TEXT "phv" "dummy_poly" textlabel) OR phv_L_2_00_W_1_00_tmp |
| phv_L_2_00_W_1_50_tmp = INTERNAL phv_L_2_00 == 1.5 OPPOSITE PARALLEL ONLY REGION |
| phv_L_2_00_W_1_50 = (WITH TEXT "phv" "dummy_poly" textlabel) OR phv_L_2_00_W_1_50_tmp |
| phv_L_2_00_W_3_00_tmp = INTERNAL phv_L_2_00 == 3.0 OPPOSITE PARALLEL ONLY REGION |
| phv_L_2_00_W_3_00 = (WITH TEXT "phv" "dummy_poly" textlabel) OR phv_L_2_00_W_3_00_tmp |
| phv_L_2_00_W_5_00_tmp = INTERNAL phv_L_2_00 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| phv_L_2_00_W_5_00 = (WITH TEXT "phv" "dummy_poly" textlabel) OR phv_L_2_00_W_5_00_tmp |
| phv_L_2_00_W_7_00_tmp = INTERNAL phv_L_2_00 == 7.0 OPPOSITE PARALLEL ONLY REGION |
| phv_L_2_00_W_7_00 = (WITH TEXT "phv" "dummy_poly" textlabel) OR phv_L_2_00_W_7_00_tmp |
| phv_L_4_00 = LENGTH ("phv" COINCIDENT INSIDE EDGE diff) == 4.0 |
| "k_45_phv_L_4_00" { |
| @ keep: phv_L_4_00 - phv_L_4_00 |
| COPY phv_L_4_00 |
| } |
| phv_L_4_00_W_0_42_tmp = INTERNAL phv_L_4_00 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| phv_L_4_00_W_0_42 = (WITH TEXT "phv" "dummy_poly" textlabel) OR phv_L_4_00_W_0_42_tmp |
| phv_L_4_00_W_0_75_tmp = INTERNAL phv_L_4_00 == 0.75 OPPOSITE PARALLEL ONLY REGION |
| phv_L_4_00_W_0_75 = (WITH TEXT "phv" "dummy_poly" textlabel) OR phv_L_4_00_W_0_75_tmp |
| phv_L_4_00_W_1_00_tmp = INTERNAL phv_L_4_00 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| phv_L_4_00_W_1_00 = (WITH TEXT "phv" "dummy_poly" textlabel) OR phv_L_4_00_W_1_00_tmp |
| phv_L_4_00_W_1_50_tmp = INTERNAL phv_L_4_00 == 1.5 OPPOSITE PARALLEL ONLY REGION |
| phv_L_4_00_W_1_50 = (WITH TEXT "phv" "dummy_poly" textlabel) OR phv_L_4_00_W_1_50_tmp |
| phv_L_4_00_W_3_00_tmp = INTERNAL phv_L_4_00 == 3.0 OPPOSITE PARALLEL ONLY REGION |
| phv_L_4_00_W_3_00 = (WITH TEXT "phv" "dummy_poly" textlabel) OR phv_L_4_00_W_3_00_tmp |
| phv_L_4_00_W_5_00_tmp = INTERNAL phv_L_4_00 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| phv_L_4_00_W_5_00 = (WITH TEXT "phv" "dummy_poly" textlabel) OR phv_L_4_00_W_5_00_tmp |
| phv_L_4_00_W_7_00_tmp = INTERNAL phv_L_4_00 == 7.0 OPPOSITE PARALLEL ONLY REGION |
| phv_L_4_00_W_7_00 = (WITH TEXT "phv" "dummy_poly" textlabel) OR phv_L_4_00_W_7_00_tmp |
| phv_L_8_00 = LENGTH ("phv" COINCIDENT INSIDE EDGE diff) == 8.0 |
| "k_46_phv_L_8_00" { |
| @ keep: phv_L_8_00 - phv_L_8_00 |
| COPY phv_L_8_00 |
| } |
| phv_L_8_00_W_0_42_tmp = INTERNAL phv_L_8_00 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| phv_L_8_00_W_0_42 = (WITH TEXT "phv" "dummy_poly" textlabel) OR phv_L_8_00_W_0_42_tmp |
| phv_L_8_00_W_1_00_tmp = INTERNAL phv_L_8_00 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| phv_L_8_00_W_1_00 = (WITH TEXT "phv" "dummy_poly" textlabel) OR phv_L_8_00_W_1_00_tmp |
| phv_L_8_00_W_3_00_tmp = INTERNAL phv_L_8_00 == 3.0 OPPOSITE PARALLEL ONLY REGION |
| phv_L_8_00_W_3_00 = (WITH TEXT "phv" "dummy_poly" textlabel) OR phv_L_8_00_W_3_00_tmp |
| phv_L_8_00_W_5_00_tmp = INTERNAL phv_L_8_00 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| phv_L_8_00_W_5_00 = (WITH TEXT "phv" "dummy_poly" textlabel) OR phv_L_8_00_W_5_00_tmp |
| phv_L_8_00_W_7_00_tmp = INTERNAL phv_L_8_00 == 7.0 OPPOSITE PARALLEL ONLY REGION |
| phv_L_8_00_W_7_00 = (WITH TEXT "phv" "dummy_poly" textlabel) OR phv_L_8_00_W_7_00_tmp |
| phv_L_20_0 = LENGTH ("phv" COINCIDENT INSIDE EDGE diff) == 20.0 |
| "k_47_phv_L_20_0" { |
| @ keep: phv_L_20_0 - phv_L_20_0 |
| COPY phv_L_20_0 |
| } |
| phv_L_20_0_W_0_42_tmp = INTERNAL phv_L_20_0 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| phv_L_20_0_W_0_42 = (WITH TEXT "phv" "dummy_poly" textlabel) OR phv_L_20_0_W_0_42_tmp |
| phv_valid = phv_L_20_0_W_0_42 OR |
| (phv_L_8_00_W_7_00 OR |
| (phv_L_8_00_W_5_00 OR |
| (phv_L_8_00_W_3_00 OR |
| (phv_L_8_00_W_1_00 OR |
| (phv_L_8_00_W_0_42 OR |
| (phv_L_4_00_W_7_00 OR |
| (phv_L_4_00_W_5_00 OR |
| (phv_L_4_00_W_3_00 OR |
| (phv_L_4_00_W_1_50 OR |
| (phv_L_4_00_W_1_00 OR |
| (phv_L_4_00_W_0_75 OR |
| (phv_L_4_00_W_0_42 OR |
| (phv_L_2_00_W_7_00 OR |
| (phv_L_2_00_W_5_00 OR |
| (phv_L_2_00_W_3_00 OR |
| (phv_L_2_00_W_1_50 OR |
| (phv_L_2_00_W_1_00 OR |
| (phv_L_2_00_W_0_75 OR |
| (phv_L_2_00_W_0_42 OR |
| (phv_L_1_00_W_20_0 OR |
| (phv_L_1_00_W_15_0 OR |
| (phv_L_1_00_W_7_00 OR |
| (phv_L_1_00_W_5_00 OR |
| (phv_L_1_00_W_3_00 OR |
| (phv_L_1_00_W_1_50 OR |
| (phv_L_1_00_W_1_00 OR |
| (phv_L_1_00_W_0_75 OR |
| (phv_L_1_00_W_0_42 OR |
| (phv_L_0_80_W_7_00 OR |
| (phv_L_0_80_W_5_00 OR |
| (phv_L_0_80_W_1_00 OR |
| (phv_L_0_80_W_0_75 OR |
| (phv_L_0_80_W_0_42 OR |
| (phv_L_0_60_W_5_00 OR |
| (phv_L_0_60_W_3_00 OR |
| (phv_L_0_60_W_1_00 OR |
| (phv_L_0_60_W_0_70 OR |
| (phv_L_0_60_W_0_42 OR |
| (phv_L_0_50_W_20_0 OR |
| (phv_L_0_50_W_15_0 OR |
| (phv_L_0_50_W_10_0 OR |
| (phv_L_0_50_W_7_00 OR |
| (phv_L_0_50_W_5_00 OR |
| (phv_L_0_50_W_3_00 OR |
| (phv_L_0_50_W_1_50 OR |
| (phv_L_0_50_W_1_00 OR |
| (phv_L_0_50_W_0_75 OR phv_L_0_50_W_0_42))))))))))))))))))))))))))))))))))))))))))))))) |
| "k_48_phv_valid" { |
| @ keep: phv_valid - phv_valid |
| COPY phv_valid |
| } |
| phv_invalid = phv NOT (exemptDecaps OR phv_valid) |
| "r_557_Poly.X.1" { |
| @ Poly.X.1: This phv device has an invalid W/L. Please see MRGA |
| COPY phv_invalid |
| } |
| s8rf_pshort_W3p0_L0p15_M2_b = rfGate AND (EXTENT CELL "s8rf_pshort_W3p0_L0p15_M2_b") |
| "k_49_s8rf_pshort_W3p0_L0p15_M2_b" { |
| @ keep: s8rf_pshort_W3p0_L0p15_M2_b - s8rf_pshort_W3p0_L0p15_M2_b |
| COPY s8rf_pshort_W3p0_L0p15_M2_b |
| } |
| s8rf_pshort_W3p0_L0p15_M2_b_L_0_15 = LENGTH (s8rf_pshort_W3p0_L0p15_M2_b COINCIDENT INSIDE EDGE diff) == 0.15 |
| "k_50_s8rf_pshort_W3p0_L0p15_M2_b_L_0_15" { |
| @ keep: s8rf_pshort_W3p0_L0p15_M2_b_L_0_15 - s8rf_pshort_W3p0_L0p15_M2_b_L_0_15 |
| COPY s8rf_pshort_W3p0_L0p15_M2_b_L_0_15 |
| } |
| s8rf_pshort_W3p0_L0p15_M2_b_L_0_15_W_3_01_tmp = INTERNAL s8rf_pshort_W3p0_L0p15_M2_b_L_0_15 == 3.01 OPPOSITE PARALLEL ONLY REGION |
| s8rf_pshort_W3p0_L0p15_M2_b_L_0_15_W_3_01 = (WITH TEXT s8rf_pshort_W3p0_L0p15_M2_b "dummy_poly" textlabel) OR s8rf_pshort_W3p0_L0p15_M2_b_L_0_15_W_3_01_tmp |
| s8rf_pshort_W3p0_L0p15_M2_b_valid = COPY s8rf_pshort_W3p0_L0p15_M2_b_L_0_15_W_3_01 |
| "k_51_s8rf_pshort_W3p0_L0p15_M2_b_valid" { |
| @ keep: s8rf_pshort_W3p0_L0p15_M2_b_valid - s8rf_pshort_W3p0_L0p15_M2_b_valid |
| COPY s8rf_pshort_W3p0_L0p15_M2_b_valid |
| } |
| s8rf_pshort_W3p0_L0p15_M2_b_invalid = s8rf_pshort_W3p0_L0p15_M2_b NOT (exemptDecaps OR s8rf_pshort_W3p0_L0p15_M2_b_valid) |
| "r_558_Poly.X.1" { |
| @ Poly.X.1: This s8rf_pshort_W3p0_L0p15_M2_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_pshort_W3p0_L0p15_M2_b_invalid |
| } |
| s8rf_pshort_W5p0_L0p15_M4_b = rfGate AND (EXTENT CELL "s8rf_pshort_W5p0_L0p15_M4_b") |
| "k_52_s8rf_pshort_W5p0_L0p15_M4_b" { |
| @ keep: s8rf_pshort_W5p0_L0p15_M4_b - s8rf_pshort_W5p0_L0p15_M4_b |
| COPY s8rf_pshort_W5p0_L0p15_M4_b |
| } |
| s8rf_pshort_W5p0_L0p15_M4_b_L_0_15 = LENGTH (s8rf_pshort_W5p0_L0p15_M4_b COINCIDENT INSIDE EDGE diff) == 0.15 |
| "k_53_s8rf_pshort_W5p0_L0p15_M4_b_L_0_15" { |
| @ keep: s8rf_pshort_W5p0_L0p15_M4_b_L_0_15 - s8rf_pshort_W5p0_L0p15_M4_b_L_0_15 |
| COPY s8rf_pshort_W5p0_L0p15_M4_b_L_0_15 |
| } |
| s8rf_pshort_W5p0_L0p15_M4_b_L_0_15_W_5_05_tmp = INTERNAL s8rf_pshort_W5p0_L0p15_M4_b_L_0_15 == 5.05 OPPOSITE PARALLEL ONLY REGION |
| s8rf_pshort_W5p0_L0p15_M4_b_L_0_15_W_5_05 = (WITH TEXT s8rf_pshort_W5p0_L0p15_M4_b "dummy_poly" textlabel) OR s8rf_pshort_W5p0_L0p15_M4_b_L_0_15_W_5_05_tmp |
| s8rf_pshort_W5p0_L0p15_M4_b_valid = COPY s8rf_pshort_W5p0_L0p15_M4_b_L_0_15_W_5_05 |
| "k_54_s8rf_pshort_W5p0_L0p15_M4_b_valid" { |
| @ keep: s8rf_pshort_W5p0_L0p15_M4_b_valid - s8rf_pshort_W5p0_L0p15_M4_b_valid |
| COPY s8rf_pshort_W5p0_L0p15_M4_b_valid |
| } |
| s8rf_pshort_W5p0_L0p15_M4_b_invalid = s8rf_pshort_W5p0_L0p15_M4_b NOT (exemptDecaps OR s8rf_pshort_W5p0_L0p15_M4_b_valid) |
| "r_559_Poly.X.1" { |
| @ Poly.X.1: This s8rf_pshort_W5p0_L0p15_M4_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_pshort_W5p0_L0p15_M4_b_invalid |
| } |
| s8rf_pshort_W5p0_L0p15_M2_b = rfGate AND (EXTENT CELL "s8rf_pshort_W5p0_L0p15_M2_b") |
| "k_55_s8rf_pshort_W5p0_L0p15_M2_b" { |
| @ keep: s8rf_pshort_W5p0_L0p15_M2_b - s8rf_pshort_W5p0_L0p15_M2_b |
| COPY s8rf_pshort_W5p0_L0p15_M2_b |
| } |
| s8rf_pshort_W5p0_L0p15_M2_b_L_0_15 = LENGTH (s8rf_pshort_W5p0_L0p15_M2_b COINCIDENT INSIDE EDGE diff) == 0.15 |
| "k_56_s8rf_pshort_W5p0_L0p15_M2_b_L_0_15" { |
| @ keep: s8rf_pshort_W5p0_L0p15_M2_b_L_0_15 - s8rf_pshort_W5p0_L0p15_M2_b_L_0_15 |
| COPY s8rf_pshort_W5p0_L0p15_M2_b_L_0_15 |
| } |
| s8rf_pshort_W5p0_L0p15_M2_b_L_0_15_W_5_05_tmp = INTERNAL s8rf_pshort_W5p0_L0p15_M2_b_L_0_15 == 5.05 OPPOSITE PARALLEL ONLY REGION |
| s8rf_pshort_W5p0_L0p15_M2_b_L_0_15_W_5_05 = (WITH TEXT s8rf_pshort_W5p0_L0p15_M2_b "dummy_poly" textlabel) OR s8rf_pshort_W5p0_L0p15_M2_b_L_0_15_W_5_05_tmp |
| s8rf_pshort_W5p0_L0p15_M2_b_valid = COPY s8rf_pshort_W5p0_L0p15_M2_b_L_0_15_W_5_05 |
| "k_57_s8rf_pshort_W5p0_L0p15_M2_b_valid" { |
| @ keep: s8rf_pshort_W5p0_L0p15_M2_b_valid - s8rf_pshort_W5p0_L0p15_M2_b_valid |
| COPY s8rf_pshort_W5p0_L0p15_M2_b_valid |
| } |
| s8rf_pshort_W5p0_L0p15_M2_b_invalid = s8rf_pshort_W5p0_L0p15_M2_b NOT (exemptDecaps OR s8rf_pshort_W5p0_L0p15_M2_b_valid) |
| "r_560_Poly.X.1" { |
| @ Poly.X.1: This s8rf_pshort_W5p0_L0p15_M2_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_pshort_W5p0_L0p15_M2_b_invalid |
| } |
| s8rf_pshort_W3p0_L0p15_2F = rfGate AND (EXTENT CELL "s8rf_pshort_W3p0_L0p15_2F") |
| "k_58_s8rf_pshort_W3p0_L0p15_2F" { |
| @ keep: s8rf_pshort_W3p0_L0p15_2F - s8rf_pshort_W3p0_L0p15_2F |
| COPY s8rf_pshort_W3p0_L0p15_2F |
| } |
| s8rf_pshort_W3p0_L0p15_2F_L_0_15 = LENGTH (s8rf_pshort_W3p0_L0p15_2F COINCIDENT INSIDE EDGE diff) == 0.15 |
| "k_59_s8rf_pshort_W3p0_L0p15_2F_L_0_15" { |
| @ keep: s8rf_pshort_W3p0_L0p15_2F_L_0_15 - s8rf_pshort_W3p0_L0p15_2F_L_0_15 |
| COPY s8rf_pshort_W3p0_L0p15_2F_L_0_15 |
| } |
| s8rf_pshort_W3p0_L0p15_2F_L_0_15_W_3_00_tmp = INTERNAL s8rf_pshort_W3p0_L0p15_2F_L_0_15 == 3.0 OPPOSITE PARALLEL ONLY REGION |
| s8rf_pshort_W3p0_L0p15_2F_L_0_15_W_3_00 = (WITH TEXT s8rf_pshort_W3p0_L0p15_2F "dummy_poly" textlabel) OR s8rf_pshort_W3p0_L0p15_2F_L_0_15_W_3_00_tmp |
| s8rf_pshort_W3p0_L0p15_2F_valid = COPY s8rf_pshort_W3p0_L0p15_2F_L_0_15_W_3_00 |
| "k_60_s8rf_pshort_W3p0_L0p15_2F_valid" { |
| @ keep: s8rf_pshort_W3p0_L0p15_2F_valid - s8rf_pshort_W3p0_L0p15_2F_valid |
| COPY s8rf_pshort_W3p0_L0p15_2F_valid |
| } |
| s8rf_pshort_W3p0_L0p15_2F_invalid = s8rf_pshort_W3p0_L0p15_2F NOT (exemptDecaps OR s8rf_pshort_W3p0_L0p15_2F_valid) |
| "r_561_Poly.X.1" { |
| @ Poly.X.1: This s8rf_pshort_W3p0_L0p15_2F device has an invalid W/L. Please see MRGA |
| COPY s8rf_pshort_W3p0_L0p15_2F_invalid |
| } |
| s8rf_pshort_W5p0_L0p18_M4_b = rfGate AND (EXTENT CELL "s8rf_pshort_W5p0_L0p18_M4_b") |
| "k_61_s8rf_pshort_W5p0_L0p18_M4_b" { |
| @ keep: s8rf_pshort_W5p0_L0p18_M4_b - s8rf_pshort_W5p0_L0p18_M4_b |
| COPY s8rf_pshort_W5p0_L0p18_M4_b |
| } |
| s8rf_pshort_W5p0_L0p18_M4_b_L_0_18 = LENGTH (s8rf_pshort_W5p0_L0p18_M4_b COINCIDENT INSIDE EDGE diff) == 0.18 |
| "k_62_s8rf_pshort_W5p0_L0p18_M4_b_L_0_18" { |
| @ keep: s8rf_pshort_W5p0_L0p18_M4_b_L_0_18 - s8rf_pshort_W5p0_L0p18_M4_b_L_0_18 |
| COPY s8rf_pshort_W5p0_L0p18_M4_b_L_0_18 |
| } |
| s8rf_pshort_W5p0_L0p18_M4_b_L_0_18_W_5_05_tmp = INTERNAL s8rf_pshort_W5p0_L0p18_M4_b_L_0_18 == 5.05 OPPOSITE PARALLEL ONLY REGION |
| s8rf_pshort_W5p0_L0p18_M4_b_L_0_18_W_5_05 = (WITH TEXT s8rf_pshort_W5p0_L0p18_M4_b "dummy_poly" textlabel) OR s8rf_pshort_W5p0_L0p18_M4_b_L_0_18_W_5_05_tmp |
| s8rf_pshort_W5p0_L0p18_M4_b_valid = COPY s8rf_pshort_W5p0_L0p18_M4_b_L_0_18_W_5_05 |
| "k_63_s8rf_pshort_W5p0_L0p18_M4_b_valid" { |
| @ keep: s8rf_pshort_W5p0_L0p18_M4_b_valid - s8rf_pshort_W5p0_L0p18_M4_b_valid |
| COPY s8rf_pshort_W5p0_L0p18_M4_b_valid |
| } |
| s8rf_pshort_W5p0_L0p18_M4_b_invalid = s8rf_pshort_W5p0_L0p18_M4_b NOT (exemptDecaps OR s8rf_pshort_W5p0_L0p18_M4_b_valid) |
| "r_562_Poly.X.1" { |
| @ Poly.X.1: This s8rf_pshort_W5p0_L0p18_M4_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_pshort_W5p0_L0p18_M4_b_invalid |
| } |
| s8rf_pshort_W1p68_L0p15_4F = rfGate AND (EXTENT CELL "s8rf_pshort_W1p68_L0p15_4F") |
| "k_64_s8rf_pshort_W1p68_L0p15_4F" { |
| @ keep: s8rf_pshort_W1p68_L0p15_4F - s8rf_pshort_W1p68_L0p15_4F |
| COPY s8rf_pshort_W1p68_L0p15_4F |
| } |
| s8rf_pshort_W1p68_L0p15_4F_L_0_15 = LENGTH (s8rf_pshort_W1p68_L0p15_4F COINCIDENT INSIDE EDGE diff) == 0.15 |
| "k_65_s8rf_pshort_W1p68_L0p15_4F_L_0_15" { |
| @ keep: s8rf_pshort_W1p68_L0p15_4F_L_0_15 - s8rf_pshort_W1p68_L0p15_4F_L_0_15 |
| COPY s8rf_pshort_W1p68_L0p15_4F_L_0_15 |
| } |
| s8rf_pshort_W1p68_L0p15_4F_L_0_15_W_1_68_tmp = INTERNAL s8rf_pshort_W1p68_L0p15_4F_L_0_15 == 1.68 OPPOSITE PARALLEL ONLY REGION |
| s8rf_pshort_W1p68_L0p15_4F_L_0_15_W_1_68 = (WITH TEXT s8rf_pshort_W1p68_L0p15_4F "dummy_poly" textlabel) OR s8rf_pshort_W1p68_L0p15_4F_L_0_15_W_1_68_tmp |
| s8rf_pshort_W1p68_L0p15_4F_valid = COPY s8rf_pshort_W1p68_L0p15_4F_L_0_15_W_1_68 |
| "k_66_s8rf_pshort_W1p68_L0p15_4F_valid" { |
| @ keep: s8rf_pshort_W1p68_L0p15_4F_valid - s8rf_pshort_W1p68_L0p15_4F_valid |
| COPY s8rf_pshort_W1p68_L0p15_4F_valid |
| } |
| s8rf_pshort_W1p68_L0p15_4F_invalid = s8rf_pshort_W1p68_L0p15_4F NOT (exemptDecaps OR s8rf_pshort_W1p68_L0p15_4F_valid) |
| "r_563_Poly.X.1" { |
| @ Poly.X.1: This s8rf_pshort_W1p68_L0p15_4F device has an invalid W/L. Please see MRGA |
| COPY s8rf_pshort_W1p68_L0p15_4F_invalid |
| } |
| s8rf_pshort_W3p0_L0p18_M4_b = rfGate AND (EXTENT CELL "s8rf_pshort_W3p0_L0p18_M4_b") |
| "k_67_s8rf_pshort_W3p0_L0p18_M4_b" { |
| @ keep: s8rf_pshort_W3p0_L0p18_M4_b - s8rf_pshort_W3p0_L0p18_M4_b |
| COPY s8rf_pshort_W3p0_L0p18_M4_b |
| } |
| s8rf_pshort_W3p0_L0p18_M4_b_L_0_18 = LENGTH (s8rf_pshort_W3p0_L0p18_M4_b COINCIDENT INSIDE EDGE diff) == 0.18 |
| "k_68_s8rf_pshort_W3p0_L0p18_M4_b_L_0_18" { |
| @ keep: s8rf_pshort_W3p0_L0p18_M4_b_L_0_18 - s8rf_pshort_W3p0_L0p18_M4_b_L_0_18 |
| COPY s8rf_pshort_W3p0_L0p18_M4_b_L_0_18 |
| } |
| s8rf_pshort_W3p0_L0p18_M4_b_L_0_18_W_3_01_tmp = INTERNAL s8rf_pshort_W3p0_L0p18_M4_b_L_0_18 == 3.01 OPPOSITE PARALLEL ONLY REGION |
| s8rf_pshort_W3p0_L0p18_M4_b_L_0_18_W_3_01 = (WITH TEXT s8rf_pshort_W3p0_L0p18_M4_b "dummy_poly" textlabel) OR s8rf_pshort_W3p0_L0p18_M4_b_L_0_18_W_3_01_tmp |
| s8rf_pshort_W3p0_L0p18_M4_b_valid = COPY s8rf_pshort_W3p0_L0p18_M4_b_L_0_18_W_3_01 |
| "k_69_s8rf_pshort_W3p0_L0p18_M4_b_valid" { |
| @ keep: s8rf_pshort_W3p0_L0p18_M4_b_valid - s8rf_pshort_W3p0_L0p18_M4_b_valid |
| COPY s8rf_pshort_W3p0_L0p18_M4_b_valid |
| } |
| s8rf_pshort_W3p0_L0p18_M4_b_invalid = s8rf_pshort_W3p0_L0p18_M4_b NOT (exemptDecaps OR s8rf_pshort_W3p0_L0p18_M4_b_valid) |
| "r_564_Poly.X.1" { |
| @ Poly.X.1: This s8rf_pshort_W3p0_L0p18_M4_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_pshort_W3p0_L0p18_M4_b_invalid |
| } |
| s8rf_pshort_W5p0_L0p18_M2_b = rfGate AND (EXTENT CELL "s8rf_pshort_W5p0_L0p18_M2_b") |
| "k_70_s8rf_pshort_W5p0_L0p18_M2_b" { |
| @ keep: s8rf_pshort_W5p0_L0p18_M2_b - s8rf_pshort_W5p0_L0p18_M2_b |
| COPY s8rf_pshort_W5p0_L0p18_M2_b |
| } |
| s8rf_pshort_W5p0_L0p18_M2_b_L_0_18 = LENGTH (s8rf_pshort_W5p0_L0p18_M2_b COINCIDENT INSIDE EDGE diff) == 0.18 |
| "k_71_s8rf_pshort_W5p0_L0p18_M2_b_L_0_18" { |
| @ keep: s8rf_pshort_W5p0_L0p18_M2_b_L_0_18 - s8rf_pshort_W5p0_L0p18_M2_b_L_0_18 |
| COPY s8rf_pshort_W5p0_L0p18_M2_b_L_0_18 |
| } |
| s8rf_pshort_W5p0_L0p18_M2_b_L_0_18_W_5_05_tmp = INTERNAL s8rf_pshort_W5p0_L0p18_M2_b_L_0_18 == 5.05 OPPOSITE PARALLEL ONLY REGION |
| s8rf_pshort_W5p0_L0p18_M2_b_L_0_18_W_5_05 = (WITH TEXT s8rf_pshort_W5p0_L0p18_M2_b "dummy_poly" textlabel) OR s8rf_pshort_W5p0_L0p18_M2_b_L_0_18_W_5_05_tmp |
| s8rf_pshort_W5p0_L0p18_M2_b_valid = COPY s8rf_pshort_W5p0_L0p18_M2_b_L_0_18_W_5_05 |
| "k_72_s8rf_pshort_W5p0_L0p18_M2_b_valid" { |
| @ keep: s8rf_pshort_W5p0_L0p18_M2_b_valid - s8rf_pshort_W5p0_L0p18_M2_b_valid |
| COPY s8rf_pshort_W5p0_L0p18_M2_b_valid |
| } |
| s8rf_pshort_W5p0_L0p18_M2_b_invalid = s8rf_pshort_W5p0_L0p18_M2_b NOT (exemptDecaps OR s8rf_pshort_W5p0_L0p18_M2_b_valid) |
| "r_565_Poly.X.1" { |
| @ Poly.X.1: This s8rf_pshort_W5p0_L0p18_M2_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_pshort_W5p0_L0p18_M2_b_invalid |
| } |
| s8rf_pshort_W3p0_L0p25_M2_b = rfGate AND (EXTENT CELL "s8rf_pshort_W3p0_L0p25_M2_b") |
| "k_73_s8rf_pshort_W3p0_L0p25_M2_b" { |
| @ keep: s8rf_pshort_W3p0_L0p25_M2_b - s8rf_pshort_W3p0_L0p25_M2_b |
| COPY s8rf_pshort_W3p0_L0p25_M2_b |
| } |
| s8rf_pshort_W3p0_L0p25_M2_b_L_0_25 = LENGTH (s8rf_pshort_W3p0_L0p25_M2_b COINCIDENT INSIDE EDGE diff) == 0.25 |
| "k_74_s8rf_pshort_W3p0_L0p25_M2_b_L_0_25" { |
| @ keep: s8rf_pshort_W3p0_L0p25_M2_b_L_0_25 - s8rf_pshort_W3p0_L0p25_M2_b_L_0_25 |
| COPY s8rf_pshort_W3p0_L0p25_M2_b_L_0_25 |
| } |
| s8rf_pshort_W3p0_L0p25_M2_b_L_0_25_W_3_01_tmp = INTERNAL s8rf_pshort_W3p0_L0p25_M2_b_L_0_25 == 3.01 OPPOSITE PARALLEL ONLY REGION |
| s8rf_pshort_W3p0_L0p25_M2_b_L_0_25_W_3_01 = (WITH TEXT s8rf_pshort_W3p0_L0p25_M2_b "dummy_poly" textlabel) OR s8rf_pshort_W3p0_L0p25_M2_b_L_0_25_W_3_01_tmp |
| s8rf_pshort_W3p0_L0p25_M2_b_valid = COPY s8rf_pshort_W3p0_L0p25_M2_b_L_0_25_W_3_01 |
| "k_75_s8rf_pshort_W3p0_L0p25_M2_b_valid" { |
| @ keep: s8rf_pshort_W3p0_L0p25_M2_b_valid - s8rf_pshort_W3p0_L0p25_M2_b_valid |
| COPY s8rf_pshort_W3p0_L0p25_M2_b_valid |
| } |
| s8rf_pshort_W3p0_L0p25_M2_b_invalid = s8rf_pshort_W3p0_L0p25_M2_b NOT (exemptDecaps OR s8rf_pshort_W3p0_L0p25_M2_b_valid) |
| "r_566_Poly.X.1" { |
| @ Poly.X.1: This s8rf_pshort_W3p0_L0p25_M2_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_pshort_W3p0_L0p25_M2_b_invalid |
| } |
| s8rf_pshort_W1p65_L0p15_M2_b = rfGate AND (EXTENT CELL "s8rf_pshort_W1p65_L0p15_M2_b") |
| "k_76_s8rf_pshort_W1p65_L0p15_M2_b" { |
| @ keep: s8rf_pshort_W1p65_L0p15_M2_b - s8rf_pshort_W1p65_L0p15_M2_b |
| COPY s8rf_pshort_W1p65_L0p15_M2_b |
| } |
| s8rf_pshort_W1p65_L0p15_M2_b_L_0_15 = LENGTH (s8rf_pshort_W1p65_L0p15_M2_b COINCIDENT INSIDE EDGE diff) == 0.15 |
| "k_77_s8rf_pshort_W1p65_L0p15_M2_b_L_0_15" { |
| @ keep: s8rf_pshort_W1p65_L0p15_M2_b_L_0_15 - s8rf_pshort_W1p65_L0p15_M2_b_L_0_15 |
| COPY s8rf_pshort_W1p65_L0p15_M2_b_L_0_15 |
| } |
| s8rf_pshort_W1p65_L0p15_M2_b_L_0_15_W_1_65_tmp = INTERNAL s8rf_pshort_W1p65_L0p15_M2_b_L_0_15 == 1.65 OPPOSITE PARALLEL ONLY REGION |
| s8rf_pshort_W1p65_L0p15_M2_b_L_0_15_W_1_65 = (WITH TEXT s8rf_pshort_W1p65_L0p15_M2_b "dummy_poly" textlabel) OR s8rf_pshort_W1p65_L0p15_M2_b_L_0_15_W_1_65_tmp |
| s8rf_pshort_W1p65_L0p15_M2_b_valid = COPY s8rf_pshort_W1p65_L0p15_M2_b_L_0_15_W_1_65 |
| "k_78_s8rf_pshort_W1p65_L0p15_M2_b_valid" { |
| @ keep: s8rf_pshort_W1p65_L0p15_M2_b_valid - s8rf_pshort_W1p65_L0p15_M2_b_valid |
| COPY s8rf_pshort_W1p65_L0p15_M2_b_valid |
| } |
| s8rf_pshort_W1p65_L0p15_M2_b_invalid = s8rf_pshort_W1p65_L0p15_M2_b NOT (exemptDecaps OR s8rf_pshort_W1p65_L0p15_M2_b_valid) |
| "r_567_Poly.X.1" { |
| @ Poly.X.1: This s8rf_pshort_W1p65_L0p15_M2_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_pshort_W1p65_L0p15_M2_b_invalid |
| } |
| pshort_L_0_15 = LENGTH ("pshort" COINCIDENT INSIDE EDGE diff) == 0.15 |
| "k_79_pshort_L_0_15" { |
| @ keep: pshort_L_0_15 - pshort_L_0_15 |
| COPY pshort_L_0_15 |
| } |
| pshort_L_0_15_W_0_42_tmp = INTERNAL pshort_L_0_15 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_0_15_W_0_42 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_0_15_W_0_42_tmp |
| pshort_L_0_15_W_0_55_tmp = INTERNAL pshort_L_0_15 == 0.55 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_0_15_W_0_55 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_0_15_W_0_55_tmp |
| pshort_L_0_15_W_0_64_tmp = INTERNAL pshort_L_0_15 == 0.64 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_0_15_W_0_64 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_0_15_W_0_64_tmp |
| pshort_L_0_15_W_0_84_tmp = INTERNAL pshort_L_0_15 == 0.84 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_0_15_W_0_84 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_0_15_W_0_84_tmp |
| pshort_L_0_15_W_1_00_tmp = INTERNAL pshort_L_0_15 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_0_15_W_1_00 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_0_15_W_1_00_tmp |
| pshort_L_0_15_W_1_12_tmp = INTERNAL pshort_L_0_15 == 1.12 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_0_15_W_1_12 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_0_15_W_1_12_tmp |
| pshort_L_0_15_W_1_26_tmp = INTERNAL pshort_L_0_15 == 1.26 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_0_15_W_1_26 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_0_15_W_1_26_tmp |
| pshort_L_0_15_W_1_65_tmp = INTERNAL pshort_L_0_15 == 1.65 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_0_15_W_1_65 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_0_15_W_1_65_tmp |
| pshort_L_0_15_W_1_68_tmp = INTERNAL pshort_L_0_15 == 1.68 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_0_15_W_1_68 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_0_15_W_1_68_tmp |
| pshort_L_0_15_W_2_00_tmp = INTERNAL pshort_L_0_15 == 2.0 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_0_15_W_2_00 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_0_15_W_2_00_tmp |
| pshort_L_0_15_W_3_00_tmp = INTERNAL pshort_L_0_15 == 3.0 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_0_15_W_3_00 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_0_15_W_3_00_tmp |
| pshort_L_0_15_W_5_00_tmp = INTERNAL pshort_L_0_15 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_0_15_W_5_00 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_0_15_W_5_00_tmp |
| pshort_L_0_15_W_7_00_tmp = INTERNAL pshort_L_0_15 == 7.0 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_0_15_W_7_00 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_0_15_W_7_00_tmp |
| pshort_L_0_17 = LENGTH ("pshort" COINCIDENT INSIDE EDGE diff) == 0.17 |
| "k_80_pshort_L_0_17" { |
| @ keep: pshort_L_0_17 - pshort_L_0_17 |
| COPY pshort_L_0_17 |
| } |
| pshort_L_0_17_W_0_42_tmp = INTERNAL pshort_L_0_17 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_0_17_W_0_42 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_0_17_W_0_42_tmp |
| pshort_L_0_17_W_0_55_tmp = INTERNAL pshort_L_0_17 == 0.55 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_0_17_W_0_55 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_0_17_W_0_55_tmp |
| pshort_L_0_17_W_0_64_tmp = INTERNAL pshort_L_0_17 == 0.64 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_0_17_W_0_64 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_0_17_W_0_64_tmp |
| pshort_L_0_17_W_0_84_tmp = INTERNAL pshort_L_0_17 == 0.84 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_0_17_W_0_84 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_0_17_W_0_84_tmp |
| pshort_L_0_17_W_1_00_tmp = INTERNAL pshort_L_0_17 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_0_17_W_1_00 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_0_17_W_1_00_tmp |
| pshort_L_0_17_W_1_12_tmp = INTERNAL pshort_L_0_17 == 1.12 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_0_17_W_1_12 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_0_17_W_1_12_tmp |
| pshort_L_0_18 = LENGTH ("pshort" COINCIDENT INSIDE EDGE diff) == 0.18 |
| "k_81_pshort_L_0_18" { |
| @ keep: pshort_L_0_18 - pshort_L_0_18 |
| COPY pshort_L_0_18 |
| } |
| pshort_L_0_18_W_0_42_tmp = INTERNAL pshort_L_0_18 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_0_18_W_0_42 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_0_18_W_0_42_tmp |
| pshort_L_0_18_W_0_55_tmp = INTERNAL pshort_L_0_18 == 0.55 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_0_18_W_0_55 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_0_18_W_0_55_tmp |
| pshort_L_0_18_W_0_64_tmp = INTERNAL pshort_L_0_18 == 0.64 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_0_18_W_0_64 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_0_18_W_0_64_tmp |
| pshort_L_0_18_W_0_84_tmp = INTERNAL pshort_L_0_18 == 0.84 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_0_18_W_0_84 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_0_18_W_0_84_tmp |
| pshort_L_0_18_W_1_00_tmp = INTERNAL pshort_L_0_18 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_0_18_W_1_00 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_0_18_W_1_00_tmp |
| pshort_L_0_18_W_1_12_tmp = INTERNAL pshort_L_0_18 == 1.12 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_0_18_W_1_12 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_0_18_W_1_12_tmp |
| pshort_L_0_18_W_1_26_tmp = INTERNAL pshort_L_0_18 == 1.26 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_0_18_W_1_26 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_0_18_W_1_26_tmp |
| pshort_L_0_18_W_1_68_tmp = INTERNAL pshort_L_0_18 == 1.68 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_0_18_W_1_68 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_0_18_W_1_68_tmp |
| pshort_L_0_18_W_2_00_tmp = INTERNAL pshort_L_0_18 == 2.0 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_0_18_W_2_00 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_0_18_W_2_00_tmp |
| pshort_L_0_18_W_3_00_tmp = INTERNAL pshort_L_0_18 == 3.0 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_0_18_W_3_00 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_0_18_W_3_00_tmp |
| pshort_L_0_18_W_5_00_tmp = INTERNAL pshort_L_0_18 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_0_18_W_5_00 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_0_18_W_5_00_tmp |
| pshort_L_0_18_W_7_00_tmp = INTERNAL pshort_L_0_18 == 7.0 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_0_18_W_7_00 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_0_18_W_7_00_tmp |
| pshort_L_0_25 = LENGTH ("pshort" COINCIDENT INSIDE EDGE diff) == 0.25 |
| "k_82_pshort_L_0_25" { |
| @ keep: pshort_L_0_25 - pshort_L_0_25 |
| COPY pshort_L_0_25 |
| } |
| pshort_L_0_25_W_1_00_tmp = INTERNAL pshort_L_0_25 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_0_25_W_1_00 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_0_25_W_1_00_tmp |
| pshort_L_0_25_W_3_00_tmp = INTERNAL pshort_L_0_25 == 3.0 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_0_25_W_3_00 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_0_25_W_3_00_tmp |
| pshort_L_0_25_W_5_00_tmp = INTERNAL pshort_L_0_25 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_0_25_W_5_00 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_0_25_W_5_00_tmp |
| pshort_L_0_25_W_7_00_tmp = INTERNAL pshort_L_0_25 == 7.0 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_0_25_W_7_00 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_0_25_W_7_00_tmp |
| pshort_L_0_50 = LENGTH ("pshort" COINCIDENT INSIDE EDGE diff) == 0.5 |
| "k_83_pshort_L_0_50" { |
| @ keep: pshort_L_0_50 - pshort_L_0_50 |
| COPY pshort_L_0_50 |
| } |
| pshort_L_0_50_W_0_42_tmp = INTERNAL pshort_L_0_50 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_0_50_W_0_42 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_0_50_W_0_42_tmp |
| pshort_L_0_50_W_0_55_tmp = INTERNAL pshort_L_0_50 == 0.55 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_0_50_W_0_55 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_0_50_W_0_55_tmp |
| pshort_L_0_50_W_1_00_tmp = INTERNAL pshort_L_0_50 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_0_50_W_1_00 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_0_50_W_1_00_tmp |
| pshort_L_0_50_W_3_00_tmp = INTERNAL pshort_L_0_50 == 3.0 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_0_50_W_3_00 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_0_50_W_3_00_tmp |
| pshort_L_0_50_W_5_00_tmp = INTERNAL pshort_L_0_50 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_0_50_W_5_00 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_0_50_W_5_00_tmp |
| pshort_L_0_50_W_7_00_tmp = INTERNAL pshort_L_0_50 == 7.0 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_0_50_W_7_00 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_0_50_W_7_00_tmp |
| pshort_L_1_00 = LENGTH ("pshort" COINCIDENT INSIDE EDGE diff) == 1.0 |
| "k_84_pshort_L_1_00" { |
| @ keep: pshort_L_1_00 - pshort_L_1_00 |
| COPY pshort_L_1_00 |
| } |
| pshort_L_1_00_W_0_42_tmp = INTERNAL pshort_L_1_00 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_1_00_W_0_42 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_1_00_W_0_42_tmp |
| pshort_L_1_00_W_0_55_tmp = INTERNAL pshort_L_1_00 == 0.55 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_1_00_W_0_55 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_1_00_W_0_55_tmp |
| pshort_L_1_00_W_1_00_tmp = INTERNAL pshort_L_1_00 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_1_00_W_1_00 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_1_00_W_1_00_tmp |
| pshort_L_1_00_W_3_00_tmp = INTERNAL pshort_L_1_00 == 3.0 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_1_00_W_3_00 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_1_00_W_3_00_tmp |
| pshort_L_1_00_W_5_00_tmp = INTERNAL pshort_L_1_00 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_1_00_W_5_00 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_1_00_W_5_00_tmp |
| pshort_L_1_00_W_7_00_tmp = INTERNAL pshort_L_1_00 == 7.0 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_1_00_W_7_00 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_1_00_W_7_00_tmp |
| pshort_L_2_00 = LENGTH ("pshort" COINCIDENT INSIDE EDGE diff) == 2.0 |
| "k_85_pshort_L_2_00" { |
| @ keep: pshort_L_2_00 - pshort_L_2_00 |
| COPY pshort_L_2_00 |
| } |
| pshort_L_2_00_W_0_42_tmp = INTERNAL pshort_L_2_00 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_2_00_W_0_42 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_2_00_W_0_42_tmp |
| pshort_L_2_00_W_0_55_tmp = INTERNAL pshort_L_2_00 == 0.55 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_2_00_W_0_55 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_2_00_W_0_55_tmp |
| pshort_L_2_00_W_1_00_tmp = INTERNAL pshort_L_2_00 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_2_00_W_1_00 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_2_00_W_1_00_tmp |
| pshort_L_2_00_W_3_00_tmp = INTERNAL pshort_L_2_00 == 3.0 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_2_00_W_3_00 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_2_00_W_3_00_tmp |
| pshort_L_2_00_W_5_00_tmp = INTERNAL pshort_L_2_00 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_2_00_W_5_00 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_2_00_W_5_00_tmp |
| pshort_L_2_00_W_7_00_tmp = INTERNAL pshort_L_2_00 == 7.0 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_2_00_W_7_00 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_2_00_W_7_00_tmp |
| pshort_L_4_00 = LENGTH ("pshort" COINCIDENT INSIDE EDGE diff) == 4.0 |
| "k_86_pshort_L_4_00" { |
| @ keep: pshort_L_4_00 - pshort_L_4_00 |
| COPY pshort_L_4_00 |
| } |
| pshort_L_4_00_W_0_42_tmp = INTERNAL pshort_L_4_00 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_4_00_W_0_42 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_4_00_W_0_42_tmp |
| pshort_L_4_00_W_0_55_tmp = INTERNAL pshort_L_4_00 == 0.55 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_4_00_W_0_55 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_4_00_W_0_55_tmp |
| pshort_L_4_00_W_1_00_tmp = INTERNAL pshort_L_4_00 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_4_00_W_1_00 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_4_00_W_1_00_tmp |
| pshort_L_4_00_W_3_00_tmp = INTERNAL pshort_L_4_00 == 3.0 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_4_00_W_3_00 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_4_00_W_3_00_tmp |
| pshort_L_4_00_W_5_00_tmp = INTERNAL pshort_L_4_00 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_4_00_W_5_00 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_4_00_W_5_00_tmp |
| pshort_L_4_00_W_7_00_tmp = INTERNAL pshort_L_4_00 == 7.0 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_4_00_W_7_00 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_4_00_W_7_00_tmp |
| pshort_L_8_00 = LENGTH ("pshort" COINCIDENT INSIDE EDGE diff) == 8.0 |
| "k_87_pshort_L_8_00" { |
| @ keep: pshort_L_8_00 - pshort_L_8_00 |
| COPY pshort_L_8_00 |
| } |
| pshort_L_8_00_W_0_42_tmp = INTERNAL pshort_L_8_00 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_8_00_W_0_42 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_8_00_W_0_42_tmp |
| pshort_L_8_00_W_0_55_tmp = INTERNAL pshort_L_8_00 == 0.55 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_8_00_W_0_55 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_8_00_W_0_55_tmp |
| pshort_L_8_00_W_1_00_tmp = INTERNAL pshort_L_8_00 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_8_00_W_1_00 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_8_00_W_1_00_tmp |
| pshort_L_8_00_W_3_00_tmp = INTERNAL pshort_L_8_00 == 3.0 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_8_00_W_3_00 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_8_00_W_3_00_tmp |
| pshort_L_8_00_W_5_00_tmp = INTERNAL pshort_L_8_00 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_8_00_W_5_00 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_8_00_W_5_00_tmp |
| pshort_L_8_00_W_7_00_tmp = INTERNAL pshort_L_8_00 == 7.0 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_8_00_W_7_00 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_8_00_W_7_00_tmp |
| pshort_L_20_0 = LENGTH ("pshort" COINCIDENT INSIDE EDGE diff) == 20.0 |
| "k_88_pshort_L_20_0" { |
| @ keep: pshort_L_20_0 - pshort_L_20_0 |
| COPY pshort_L_20_0 |
| } |
| pshort_L_20_0_W_0_42_tmp = INTERNAL pshort_L_20_0 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| pshort_L_20_0_W_0_42 = (WITH TEXT "pshort" "dummy_poly" textlabel) OR pshort_L_20_0_W_0_42_tmp |
| pshort_valid = pshort_L_20_0_W_0_42 OR |
| (pshort_L_8_00_W_7_00 OR |
| (pshort_L_8_00_W_5_00 OR |
| (pshort_L_8_00_W_3_00 OR |
| (pshort_L_8_00_W_1_00 OR |
| (pshort_L_8_00_W_0_55 OR |
| (pshort_L_8_00_W_0_42 OR |
| (pshort_L_4_00_W_7_00 OR |
| (pshort_L_4_00_W_5_00 OR |
| (pshort_L_4_00_W_3_00 OR |
| (pshort_L_4_00_W_1_00 OR |
| (pshort_L_4_00_W_0_55 OR |
| (pshort_L_4_00_W_0_42 OR |
| (pshort_L_2_00_W_7_00 OR |
| (pshort_L_2_00_W_5_00 OR |
| (pshort_L_2_00_W_3_00 OR |
| (pshort_L_2_00_W_1_00 OR |
| (pshort_L_2_00_W_0_55 OR |
| (pshort_L_2_00_W_0_42 OR |
| (pshort_L_1_00_W_7_00 OR |
| (pshort_L_1_00_W_5_00 OR |
| (pshort_L_1_00_W_3_00 OR |
| (pshort_L_1_00_W_1_00 OR |
| (pshort_L_1_00_W_0_55 OR |
| (pshort_L_1_00_W_0_42 OR |
| (pshort_L_0_50_W_7_00 OR |
| (pshort_L_0_50_W_5_00 OR |
| (pshort_L_0_50_W_3_00 OR |
| (pshort_L_0_50_W_1_00 OR |
| (pshort_L_0_50_W_0_55 OR |
| (pshort_L_0_50_W_0_42 OR |
| (pshort_L_0_25_W_7_00 OR |
| (pshort_L_0_25_W_5_00 OR |
| (pshort_L_0_25_W_3_00 OR |
| (pshort_L_0_25_W_1_00 OR |
| (pshort_L_0_18_W_7_00 OR |
| (pshort_L_0_18_W_5_00 OR |
| (pshort_L_0_18_W_3_00 OR |
| (pshort_L_0_18_W_2_00 OR |
| (pshort_L_0_18_W_1_68 OR |
| (pshort_L_0_18_W_1_26 OR |
| (pshort_L_0_18_W_1_12 OR |
| (pshort_L_0_18_W_1_00 OR |
| (pshort_L_0_18_W_0_84 OR |
| (pshort_L_0_18_W_0_64 OR |
| (pshort_L_0_18_W_0_55 OR |
| (pshort_L_0_18_W_0_42 OR |
| (pshort_L_0_17_W_1_12 OR |
| (pshort_L_0_17_W_1_00 OR |
| (pshort_L_0_17_W_0_84 OR |
| (pshort_L_0_17_W_0_64 OR |
| (pshort_L_0_17_W_0_55 OR |
| (pshort_L_0_17_W_0_42 OR |
| (pshort_L_0_15_W_7_00 OR |
| (pshort_L_0_15_W_5_00 OR |
| (pshort_L_0_15_W_3_00 OR |
| (pshort_L_0_15_W_2_00 OR |
| (pshort_L_0_15_W_1_68 OR |
| (pshort_L_0_15_W_1_65 OR |
| (pshort_L_0_15_W_1_26 OR |
| (pshort_L_0_15_W_1_12 OR |
| (pshort_L_0_15_W_1_00 OR |
| (pshort_L_0_15_W_0_84 OR |
| (pshort_L_0_15_W_0_64 OR |
| (pshort_L_0_15_W_0_55 OR pshort_L_0_15_W_0_42)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
| "k_89_pshort_valid" { |
| @ keep: pshort_valid - pshort_valid |
| COPY pshort_valid |
| } |
| pshort_invalid = pshort NOT (exemptDecaps OR pshort_valid) |
| "r_568_Poly.X.1" { |
| @ Poly.X.1: This pshort device has an invalid W/L. Please see MRGA |
| COPY pshort_invalid |
| } |
| ppu_L_0_15 = LENGTH ("ppu" COINCIDENT INSIDE EDGE diff) == 0.15 |
| "k_90_ppu_L_0_15" { |
| @ keep: ppu_L_0_15 - ppu_L_0_15 |
| COPY ppu_L_0_15 |
| } |
| ppu_L_0_15_W_0_14_tmp = INTERNAL ppu_L_0_15 == 0.14 OPPOSITE PARALLEL ONLY REGION |
| ppu_L_0_15_W_0_14 = (WITH TEXT "ppu" "dummy_poly" textlabel) OR ppu_L_0_15_W_0_14_tmp |
| ppu_valid = COPY ppu_L_0_15_W_0_14 |
| "k_91_ppu_valid" { |
| @ keep: ppu_valid - ppu_valid |
| COPY ppu_valid |
| } |
| ppu_invalid = ppu NOT (exemptDecaps OR ppu_valid) |
| "r_569_Poly.X.1" { |
| @ Poly.X.1: This ppu device has an invalid W/L. Please see MRGA |
| COPY ppu_invalid |
| } |
| s8rf_pshort_W1p68_L0p15_2F = rfGate AND (EXTENT CELL "s8rf_pshort_W1p68_L0p15_2F") |
| "k_92_s8rf_pshort_W1p68_L0p15_2F" { |
| @ keep: s8rf_pshort_W1p68_L0p15_2F - s8rf_pshort_W1p68_L0p15_2F |
| COPY s8rf_pshort_W1p68_L0p15_2F |
| } |
| s8rf_pshort_W1p68_L0p15_2F_L_0_15 = LENGTH (s8rf_pshort_W1p68_L0p15_2F COINCIDENT INSIDE EDGE diff) == 0.15 |
| "k_93_s8rf_pshort_W1p68_L0p15_2F_L_0_15" { |
| @ keep: s8rf_pshort_W1p68_L0p15_2F_L_0_15 - s8rf_pshort_W1p68_L0p15_2F_L_0_15 |
| COPY s8rf_pshort_W1p68_L0p15_2F_L_0_15 |
| } |
| s8rf_pshort_W1p68_L0p15_2F_L_0_15_W_1_68_tmp = INTERNAL s8rf_pshort_W1p68_L0p15_2F_L_0_15 == 1.68 OPPOSITE PARALLEL ONLY REGION |
| s8rf_pshort_W1p68_L0p15_2F_L_0_15_W_1_68 = (WITH TEXT s8rf_pshort_W1p68_L0p15_2F "dummy_poly" textlabel) OR s8rf_pshort_W1p68_L0p15_2F_L_0_15_W_1_68_tmp |
| s8rf_pshort_W1p68_L0p15_2F_valid = COPY s8rf_pshort_W1p68_L0p15_2F_L_0_15_W_1_68 |
| "k_94_s8rf_pshort_W1p68_L0p15_2F_valid" { |
| @ keep: s8rf_pshort_W1p68_L0p15_2F_valid - s8rf_pshort_W1p68_L0p15_2F_valid |
| COPY s8rf_pshort_W1p68_L0p15_2F_valid |
| } |
| s8rf_pshort_W1p68_L0p15_2F_invalid = s8rf_pshort_W1p68_L0p15_2F NOT (exemptDecaps OR s8rf_pshort_W1p68_L0p15_2F_valid) |
| "r_570_Poly.X.1" { |
| @ Poly.X.1: This s8rf_pshort_W1p68_L0p15_2F device has an invalid W/L. Please see MRGA |
| COPY s8rf_pshort_W1p68_L0p15_2F_invalid |
| } |
| s8rf_pshort_W1p65_L0p18_M4_b = rfGate AND (EXTENT CELL "s8rf_pshort_W1p65_L0p18_M4_b") |
| "k_95_s8rf_pshort_W1p65_L0p18_M4_b" { |
| @ keep: s8rf_pshort_W1p65_L0p18_M4_b - s8rf_pshort_W1p65_L0p18_M4_b |
| COPY s8rf_pshort_W1p65_L0p18_M4_b |
| } |
| s8rf_pshort_W1p65_L0p18_M4_b_L_0_18 = LENGTH (s8rf_pshort_W1p65_L0p18_M4_b COINCIDENT INSIDE EDGE diff) == 0.18 |
| "k_96_s8rf_pshort_W1p65_L0p18_M4_b_L_0_18" { |
| @ keep: s8rf_pshort_W1p65_L0p18_M4_b_L_0_18 - s8rf_pshort_W1p65_L0p18_M4_b_L_0_18 |
| COPY s8rf_pshort_W1p65_L0p18_M4_b_L_0_18 |
| } |
| s8rf_pshort_W1p65_L0p18_M4_b_L_0_18_W_1_65_tmp = INTERNAL s8rf_pshort_W1p65_L0p18_M4_b_L_0_18 == 1.65 OPPOSITE PARALLEL ONLY REGION |
| s8rf_pshort_W1p65_L0p18_M4_b_L_0_18_W_1_65 = (WITH TEXT s8rf_pshort_W1p65_L0p18_M4_b "dummy_poly" textlabel) OR s8rf_pshort_W1p65_L0p18_M4_b_L_0_18_W_1_65_tmp |
| s8rf_pshort_W1p65_L0p18_M4_b_valid = COPY s8rf_pshort_W1p65_L0p18_M4_b_L_0_18_W_1_65 |
| "k_97_s8rf_pshort_W1p65_L0p18_M4_b_valid" { |
| @ keep: s8rf_pshort_W1p65_L0p18_M4_b_valid - s8rf_pshort_W1p65_L0p18_M4_b_valid |
| COPY s8rf_pshort_W1p65_L0p18_M4_b_valid |
| } |
| s8rf_pshort_W1p65_L0p18_M4_b_invalid = s8rf_pshort_W1p65_L0p18_M4_b NOT (exemptDecaps OR s8rf_pshort_W1p65_L0p18_M4_b_valid) |
| "r_571_Poly.X.1" { |
| @ Poly.X.1: This s8rf_pshort_W1p65_L0p18_M4_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_pshort_W1p65_L0p18_M4_b_invalid |
| } |
| s8rf_pmedlvt_W1p68_L0p15_4F = rfGate AND (EXTENT CELL "s8rf_pmedlvt_W1p68_L0p15_4F") |
| "k_98_s8rf_pmedlvt_W1p68_L0p15_4F" { |
| @ keep: s8rf_pmedlvt_W1p68_L0p15_4F - s8rf_pmedlvt_W1p68_L0p15_4F |
| COPY s8rf_pmedlvt_W1p68_L0p15_4F |
| } |
| s8rf_pmedlvt_W1p68_L0p15_4F_L_0_15 = LENGTH (s8rf_pmedlvt_W1p68_L0p15_4F COINCIDENT INSIDE EDGE diff) == 0.15 |
| "k_99_s8rf_pmedlvt_W1p68_L0p15_4F_L_0_15" { |
| @ keep: s8rf_pmedlvt_W1p68_L0p15_4F_L_0_15 - s8rf_pmedlvt_W1p68_L0p15_4F_L_0_15 |
| COPY s8rf_pmedlvt_W1p68_L0p15_4F_L_0_15 |
| } |
| s8rf_pmedlvt_W1p68_L0p15_4F_L_0_15_W_1_68_tmp = INTERNAL s8rf_pmedlvt_W1p68_L0p15_4F_L_0_15 == 1.68 OPPOSITE PARALLEL ONLY REGION |
| s8rf_pmedlvt_W1p68_L0p15_4F_L_0_15_W_1_68 = (WITH TEXT s8rf_pmedlvt_W1p68_L0p15_4F "dummy_poly" textlabel) OR s8rf_pmedlvt_W1p68_L0p15_4F_L_0_15_W_1_68_tmp |
| s8rf_pmedlvt_W1p68_L0p15_4F_valid = COPY s8rf_pmedlvt_W1p68_L0p15_4F_L_0_15_W_1_68 |
| "k_100_s8rf_pmedlvt_W1p68_L0p15_4F_valid" { |
| @ keep: s8rf_pmedlvt_W1p68_L0p15_4F_valid - s8rf_pmedlvt_W1p68_L0p15_4F_valid |
| COPY s8rf_pmedlvt_W1p68_L0p15_4F_valid |
| } |
| s8rf_pmedlvt_W1p68_L0p15_4F_invalid = s8rf_pmedlvt_W1p68_L0p15_4F NOT (exemptDecaps OR s8rf_pmedlvt_W1p68_L0p15_4F_valid) |
| "r_572_Poly.X.1" { |
| @ Poly.X.1: This s8rf_pmedlvt_W1p68_L0p15_4F device has an invalid W/L. Please see MRGA |
| COPY s8rf_pmedlvt_W1p68_L0p15_4F_invalid |
| } |
| s8rf_pshort_W1p65_L0p18_M2_b = rfGate AND (EXTENT CELL "s8rf_pshort_W1p65_L0p18_M2_b") |
| "k_101_s8rf_pshort_W1p65_L0p18_M2_b" { |
| @ keep: s8rf_pshort_W1p65_L0p18_M2_b - s8rf_pshort_W1p65_L0p18_M2_b |
| COPY s8rf_pshort_W1p65_L0p18_M2_b |
| } |
| s8rf_pshort_W1p65_L0p18_M2_b_L_0_18 = LENGTH (s8rf_pshort_W1p65_L0p18_M2_b COINCIDENT INSIDE EDGE diff) == 0.18 |
| "k_102_s8rf_pshort_W1p65_L0p18_M2_b_L_0_18" { |
| @ keep: s8rf_pshort_W1p65_L0p18_M2_b_L_0_18 - s8rf_pshort_W1p65_L0p18_M2_b_L_0_18 |
| COPY s8rf_pshort_W1p65_L0p18_M2_b_L_0_18 |
| } |
| s8rf_pshort_W1p65_L0p18_M2_b_L_0_18_W_1_65_tmp = INTERNAL s8rf_pshort_W1p65_L0p18_M2_b_L_0_18 == 1.65 OPPOSITE PARALLEL ONLY REGION |
| s8rf_pshort_W1p65_L0p18_M2_b_L_0_18_W_1_65 = (WITH TEXT s8rf_pshort_W1p65_L0p18_M2_b "dummy_poly" textlabel) OR s8rf_pshort_W1p65_L0p18_M2_b_L_0_18_W_1_65_tmp |
| s8rf_pshort_W1p65_L0p18_M2_b_valid = COPY s8rf_pshort_W1p65_L0p18_M2_b_L_0_18_W_1_65 |
| "k_103_s8rf_pshort_W1p65_L0p18_M2_b_valid" { |
| @ keep: s8rf_pshort_W1p65_L0p18_M2_b_valid - s8rf_pshort_W1p65_L0p18_M2_b_valid |
| COPY s8rf_pshort_W1p65_L0p18_M2_b_valid |
| } |
| s8rf_pshort_W1p65_L0p18_M2_b_invalid = s8rf_pshort_W1p65_L0p18_M2_b NOT (exemptDecaps OR s8rf_pshort_W1p65_L0p18_M2_b_valid) |
| "r_573_Poly.X.1" { |
| @ Poly.X.1: This s8rf_pshort_W1p65_L0p18_M2_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_pshort_W1p65_L0p18_M2_b_invalid |
| } |
| s8rf_pshort_W1p65_L0p15_M4_b = rfGate AND (EXTENT CELL "s8rf_pshort_W1p65_L0p15_M4_b") |
| "k_104_s8rf_pshort_W1p65_L0p15_M4_b" { |
| @ keep: s8rf_pshort_W1p65_L0p15_M4_b - s8rf_pshort_W1p65_L0p15_M4_b |
| COPY s8rf_pshort_W1p65_L0p15_M4_b |
| } |
| s8rf_pshort_W1p65_L0p15_M4_b_L_0_15 = LENGTH (s8rf_pshort_W1p65_L0p15_M4_b COINCIDENT INSIDE EDGE diff) == 0.15 |
| "k_105_s8rf_pshort_W1p65_L0p15_M4_b_L_0_15" { |
| @ keep: s8rf_pshort_W1p65_L0p15_M4_b_L_0_15 - s8rf_pshort_W1p65_L0p15_M4_b_L_0_15 |
| COPY s8rf_pshort_W1p65_L0p15_M4_b_L_0_15 |
| } |
| s8rf_pshort_W1p65_L0p15_M4_b_L_0_15_W_1_65_tmp = INTERNAL s8rf_pshort_W1p65_L0p15_M4_b_L_0_15 == 1.65 OPPOSITE PARALLEL ONLY REGION |
| s8rf_pshort_W1p65_L0p15_M4_b_L_0_15_W_1_65 = (WITH TEXT s8rf_pshort_W1p65_L0p15_M4_b "dummy_poly" textlabel) OR s8rf_pshort_W1p65_L0p15_M4_b_L_0_15_W_1_65_tmp |
| s8rf_pshort_W1p65_L0p15_M4_b_valid = COPY s8rf_pshort_W1p65_L0p15_M4_b_L_0_15_W_1_65 |
| "k_106_s8rf_pshort_W1p65_L0p15_M4_b_valid" { |
| @ keep: s8rf_pshort_W1p65_L0p15_M4_b_valid - s8rf_pshort_W1p65_L0p15_M4_b_valid |
| COPY s8rf_pshort_W1p65_L0p15_M4_b_valid |
| } |
| s8rf_pshort_W1p65_L0p15_M4_b_invalid = s8rf_pshort_W1p65_L0p15_M4_b NOT (exemptDecaps OR s8rf_pshort_W1p65_L0p15_M4_b_valid) |
| "r_574_Poly.X.1" { |
| @ Poly.X.1: This s8rf_pshort_W1p65_L0p15_M4_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_pshort_W1p65_L0p15_M4_b_invalid |
| } |
| phighvt_L_0_15 = LENGTH ("phighvt" COINCIDENT INSIDE EDGE diff) == 0.15 |
| "k_107_phighvt_L_0_15" { |
| @ keep: phighvt_L_0_15 - phighvt_L_0_15 |
| COPY phighvt_L_0_15 |
| } |
| phighvt_L_0_15_W_0_36_tmp = INTERNAL phighvt_L_0_15 == 0.36 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_0_15_W_0_36 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_0_15_W_0_36_tmp |
| phighvt_L_0_15_W_0_42_tmp = INTERNAL phighvt_L_0_15 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_0_15_W_0_42 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_0_15_W_0_42_tmp |
| phighvt_L_0_15_W_0_54_tmp = INTERNAL phighvt_L_0_15 == 0.54 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_0_15_W_0_54 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_0_15_W_0_54_tmp |
| phighvt_L_0_15_W_0_55_tmp = INTERNAL phighvt_L_0_15 == 0.55 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_0_15_W_0_55 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_0_15_W_0_55_tmp |
| phighvt_L_0_15_W_0_63_tmp = INTERNAL phighvt_L_0_15 == 0.63 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_0_15_W_0_63 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_0_15_W_0_63_tmp |
| phighvt_L_0_15_W_0_64_tmp = INTERNAL phighvt_L_0_15 == 0.64 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_0_15_W_0_64 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_0_15_W_0_64_tmp |
| phighvt_L_0_15_W_0_70_tmp = INTERNAL phighvt_L_0_15 == 0.7 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_0_15_W_0_70 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_0_15_W_0_70_tmp |
| phighvt_L_0_15_W_0_75_tmp = INTERNAL phighvt_L_0_15 == 0.75 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_0_15_W_0_75 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_0_15_W_0_75_tmp |
| phighvt_L_0_15_W_0_79_tmp = INTERNAL phighvt_L_0_15 == 0.79 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_0_15_W_0_79 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_0_15_W_0_79_tmp |
| phighvt_L_0_15_W_0_82_tmp = INTERNAL phighvt_L_0_15 == 0.82 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_0_15_W_0_82 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_0_15_W_0_82_tmp |
| phighvt_L_0_15_W_0_84_tmp = INTERNAL phighvt_L_0_15 == 0.84 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_0_15_W_0_84 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_0_15_W_0_84_tmp |
| phighvt_L_0_15_W_0_86_tmp = INTERNAL phighvt_L_0_15 == 0.86 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_0_15_W_0_86 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_0_15_W_0_86_tmp |
| phighvt_L_0_15_W_0_94_tmp = INTERNAL phighvt_L_0_15 == 0.94 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_0_15_W_0_94 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_0_15_W_0_94_tmp |
| phighvt_L_0_15_W_1_00_tmp = INTERNAL phighvt_L_0_15 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_0_15_W_1_00 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_0_15_W_1_00_tmp |
| phighvt_L_0_15_W_1_12_tmp = INTERNAL phighvt_L_0_15 == 1.12 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_0_15_W_1_12 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_0_15_W_1_12_tmp |
| phighvt_L_0_15_W_1_26_tmp = INTERNAL phighvt_L_0_15 == 1.26 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_0_15_W_1_26 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_0_15_W_1_26_tmp |
| phighvt_L_0_15_W_1_65_tmp = INTERNAL phighvt_L_0_15 == 1.65 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_0_15_W_1_65 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_0_15_W_1_65_tmp |
| phighvt_L_0_15_W_1_68_tmp = INTERNAL phighvt_L_0_15 == 1.68 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_0_15_W_1_68 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_0_15_W_1_68_tmp |
| phighvt_L_0_15_W_2_00_tmp = INTERNAL phighvt_L_0_15 == 2.0 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_0_15_W_2_00 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_0_15_W_2_00_tmp |
| phighvt_L_0_15_W_3_00_tmp = INTERNAL phighvt_L_0_15 == 3.0 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_0_15_W_3_00 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_0_15_W_3_00_tmp |
| phighvt_L_0_15_W_5_00_tmp = INTERNAL phighvt_L_0_15 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_0_15_W_5_00 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_0_15_W_5_00_tmp |
| phighvt_L_0_15_W_7_00_tmp = INTERNAL phighvt_L_0_15 == 7.0 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_0_15_W_7_00 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_0_15_W_7_00_tmp |
| phighvt_L_0_18 = LENGTH ("phighvt" COINCIDENT INSIDE EDGE diff) == 0.18 |
| "k_108_phighvt_L_0_18" { |
| @ keep: phighvt_L_0_18 - phighvt_L_0_18 |
| COPY phighvt_L_0_18 |
| } |
| phighvt_L_0_18_W_0_42_tmp = INTERNAL phighvt_L_0_18 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_0_18_W_0_42 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_0_18_W_0_42_tmp |
| phighvt_L_0_18_W_0_64_tmp = INTERNAL phighvt_L_0_18 == 0.64 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_0_18_W_0_64 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_0_18_W_0_64_tmp |
| phighvt_L_0_18_W_0_82_tmp = INTERNAL phighvt_L_0_18 == 0.82 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_0_18_W_0_82 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_0_18_W_0_82_tmp |
| phighvt_L_0_18_W_0_84_tmp = INTERNAL phighvt_L_0_18 == 0.84 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_0_18_W_0_84 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_0_18_W_0_84_tmp |
| phighvt_L_0_18_W_1_00_tmp = INTERNAL phighvt_L_0_18 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_0_18_W_1_00 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_0_18_W_1_00_tmp |
| phighvt_L_0_18_W_1_68_tmp = INTERNAL phighvt_L_0_18 == 1.68 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_0_18_W_1_68 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_0_18_W_1_68_tmp |
| phighvt_L_0_18_W_3_0_tmp = INTERNAL phighvt_L_0_18 == 3.0 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_0_18_W_3_0 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_0_18_W_3_0_tmp |
| phighvt_L_0_18_W_5_0_tmp = INTERNAL phighvt_L_0_18 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_0_18_W_5_0 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_0_18_W_5_0_tmp |
| phighvt_L_0_18_W_7_0_tmp = INTERNAL phighvt_L_0_18 == 7.0 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_0_18_W_7_0 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_0_18_W_7_0_tmp |
| phighvt_L_0_25 = LENGTH ("phighvt" COINCIDENT INSIDE EDGE diff) == 0.25 |
| "k_109_phighvt_L_0_25" { |
| @ keep: phighvt_L_0_25 - phighvt_L_0_25 |
| COPY phighvt_L_0_25 |
| } |
| phighvt_L_0_25_W_0_82_tmp = INTERNAL phighvt_L_0_25 == 0.82 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_0_25_W_0_82 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_0_25_W_0_82_tmp |
| phighvt_L_0_25_W_1_00_tmp = INTERNAL phighvt_L_0_25 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_0_25_W_1_00 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_0_25_W_1_00_tmp |
| phighvt_L_0_25_W_3_00_tmp = INTERNAL phighvt_L_0_25 == 3.0 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_0_25_W_3_00 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_0_25_W_3_00_tmp |
| phighvt_L_0_25_W_5_00_tmp = INTERNAL phighvt_L_0_25 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_0_25_W_5_00 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_0_25_W_5_00_tmp |
| phighvt_L_0_25_W_7_00_tmp = INTERNAL phighvt_L_0_25 == 7.0 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_0_25_W_7_00 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_0_25_W_7_00_tmp |
| phighvt_L_0_50 = LENGTH ("phighvt" COINCIDENT INSIDE EDGE diff) == 0.5 |
| "k_110_phighvt_L_0_50" { |
| @ keep: phighvt_L_0_50 - phighvt_L_0_50 |
| COPY phighvt_L_0_50 |
| } |
| phighvt_L_0_50_W_0_42_tmp = INTERNAL phighvt_L_0_50 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_0_50_W_0_42 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_0_50_W_0_42_tmp |
| phighvt_L_0_50_W_0_55_tmp = INTERNAL phighvt_L_0_50 == 0.55 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_0_50_W_0_55 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_0_50_W_0_55_tmp |
| phighvt_L_0_50_W_0_82_tmp = INTERNAL phighvt_L_0_50 == 0.82 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_0_50_W_0_82 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_0_50_W_0_82_tmp |
| phighvt_L_0_50_W_1_00_tmp = INTERNAL phighvt_L_0_50 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_0_50_W_1_00 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_0_50_W_1_00_tmp |
| phighvt_L_0_50_W_3_00_tmp = INTERNAL phighvt_L_0_50 == 3.0 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_0_50_W_3_00 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_0_50_W_3_00_tmp |
| phighvt_L_0_50_W_5_00_tmp = INTERNAL phighvt_L_0_50 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_0_50_W_5_00 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_0_50_W_5_00_tmp |
| phighvt_L_0_50_W_7_00_tmp = INTERNAL phighvt_L_0_50 == 7.0 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_0_50_W_7_00 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_0_50_W_7_00_tmp |
| phighvt_L_1_00 = LENGTH ("phighvt" COINCIDENT INSIDE EDGE diff) == 1.0 |
| "k_111_phighvt_L_1_00" { |
| @ keep: phighvt_L_1_00 - phighvt_L_1_00 |
| COPY phighvt_L_1_00 |
| } |
| phighvt_L_1_00_W_0_42_tmp = INTERNAL phighvt_L_1_00 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_1_00_W_0_42 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_1_00_W_0_42_tmp |
| phighvt_L_1_00_W_0_55_tmp = INTERNAL phighvt_L_1_00 == 0.55 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_1_00_W_0_55 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_1_00_W_0_55_tmp |
| phighvt_L_1_00_W_1_00_tmp = INTERNAL phighvt_L_1_00 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_1_00_W_1_00 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_1_00_W_1_00_tmp |
| phighvt_L_1_00_W_3_00_tmp = INTERNAL phighvt_L_1_00 == 3.0 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_1_00_W_3_00 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_1_00_W_3_00_tmp |
| phighvt_L_1_00_W_5_00_tmp = INTERNAL phighvt_L_1_00 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_1_00_W_5_00 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_1_00_W_5_00_tmp |
| phighvt_L_1_00_W_7_00_tmp = INTERNAL phighvt_L_1_00 == 7.0 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_1_00_W_7_00 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_1_00_W_7_00_tmp |
| phighvt_L_2_00 = LENGTH ("phighvt" COINCIDENT INSIDE EDGE diff) == 2.0 |
| "k_112_phighvt_L_2_00" { |
| @ keep: phighvt_L_2_00 - phighvt_L_2_00 |
| COPY phighvt_L_2_00 |
| } |
| phighvt_L_2_00_W_0_42_tmp = INTERNAL phighvt_L_2_00 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_2_00_W_0_42 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_2_00_W_0_42_tmp |
| phighvt_L_2_00_W_0_55_tmp = INTERNAL phighvt_L_2_00 == 0.55 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_2_00_W_0_55 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_2_00_W_0_55_tmp |
| phighvt_L_2_00_W_1_00_tmp = INTERNAL phighvt_L_2_00 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_2_00_W_1_00 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_2_00_W_1_00_tmp |
| phighvt_L_2_00_W_3_00_tmp = INTERNAL phighvt_L_2_00 == 3.0 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_2_00_W_3_00 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_2_00_W_3_00_tmp |
| phighvt_L_2_00_W_5_00_tmp = INTERNAL phighvt_L_2_00 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_2_00_W_5_00 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_2_00_W_5_00_tmp |
| phighvt_L_2_00_W_7_00_tmp = INTERNAL phighvt_L_2_00 == 7.0 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_2_00_W_7_00 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_2_00_W_7_00_tmp |
| phighvt_L_4_00 = LENGTH ("phighvt" COINCIDENT INSIDE EDGE diff) == 4.0 |
| "k_113_phighvt_L_4_00" { |
| @ keep: phighvt_L_4_00 - phighvt_L_4_00 |
| COPY phighvt_L_4_00 |
| } |
| phighvt_L_4_00_W_0_42_tmp = INTERNAL phighvt_L_4_00 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_4_00_W_0_42 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_4_00_W_0_42_tmp |
| phighvt_L_4_00_W_0_55_tmp = INTERNAL phighvt_L_4_00 == 0.55 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_4_00_W_0_55 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_4_00_W_0_55_tmp |
| phighvt_L_4_00_W_1_00_tmp = INTERNAL phighvt_L_4_00 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_4_00_W_1_00 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_4_00_W_1_00_tmp |
| phighvt_L_4_00_W_3_00_tmp = INTERNAL phighvt_L_4_00 == 3.0 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_4_00_W_3_00 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_4_00_W_3_00_tmp |
| phighvt_L_4_00_W_5_00_tmp = INTERNAL phighvt_L_4_00 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_4_00_W_5_00 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_4_00_W_5_00_tmp |
| phighvt_L_4_00_W_7_00_tmp = INTERNAL phighvt_L_4_00 == 7.0 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_4_00_W_7_00 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_4_00_W_7_00_tmp |
| phighvt_L_8_00 = LENGTH ("phighvt" COINCIDENT INSIDE EDGE diff) == 8.0 |
| "k_114_phighvt_L_8_00" { |
| @ keep: phighvt_L_8_00 - phighvt_L_8_00 |
| COPY phighvt_L_8_00 |
| } |
| phighvt_L_8_00_W_0_42_tmp = INTERNAL phighvt_L_8_00 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_8_00_W_0_42 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_8_00_W_0_42_tmp |
| phighvt_L_8_00_W_0_55_tmp = INTERNAL phighvt_L_8_00 == 0.55 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_8_00_W_0_55 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_8_00_W_0_55_tmp |
| phighvt_L_8_00_W_1_00_tmp = INTERNAL phighvt_L_8_00 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_8_00_W_1_00 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_8_00_W_1_00_tmp |
| phighvt_L_8_00_W_3_00_tmp = INTERNAL phighvt_L_8_00 == 3.0 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_8_00_W_3_00 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_8_00_W_3_00_tmp |
| phighvt_L_8_00_W_5_00_tmp = INTERNAL phighvt_L_8_00 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_8_00_W_5_00 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_8_00_W_5_00_tmp |
| phighvt_L_8_00_W_7_00_tmp = INTERNAL phighvt_L_8_00 == 7.0 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_8_00_W_7_00 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_8_00_W_7_00_tmp |
| phighvt_L_20_0 = LENGTH ("phighvt" COINCIDENT INSIDE EDGE diff) == 20.0 |
| "k_115_phighvt_L_20_0" { |
| @ keep: phighvt_L_20_0 - phighvt_L_20_0 |
| COPY phighvt_L_20_0 |
| } |
| phighvt_L_20_0_W_0_42_tmp = INTERNAL phighvt_L_20_0 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| phighvt_L_20_0_W_0_42 = (WITH TEXT "phighvt" "dummy_poly" textlabel) OR phighvt_L_20_0_W_0_42_tmp |
| phighvt_valid = phighvt_L_20_0_W_0_42 OR |
| (phighvt_L_8_00_W_7_00 OR |
| (phighvt_L_8_00_W_5_00 OR |
| (phighvt_L_8_00_W_3_00 OR |
| (phighvt_L_8_00_W_1_00 OR |
| (phighvt_L_8_00_W_0_55 OR |
| (phighvt_L_8_00_W_0_42 OR |
| (phighvt_L_4_00_W_7_00 OR |
| (phighvt_L_4_00_W_5_00 OR |
| (phighvt_L_4_00_W_3_00 OR |
| (phighvt_L_4_00_W_1_00 OR |
| (phighvt_L_4_00_W_0_55 OR |
| (phighvt_L_4_00_W_0_42 OR |
| (phighvt_L_2_00_W_7_00 OR |
| (phighvt_L_2_00_W_5_00 OR |
| (phighvt_L_2_00_W_3_00 OR |
| (phighvt_L_2_00_W_1_00 OR |
| (phighvt_L_2_00_W_0_55 OR |
| (phighvt_L_2_00_W_0_42 OR |
| (phighvt_L_1_00_W_7_00 OR |
| (phighvt_L_1_00_W_5_00 OR |
| (phighvt_L_1_00_W_3_00 OR |
| (phighvt_L_1_00_W_1_00 OR |
| (phighvt_L_1_00_W_0_55 OR |
| (phighvt_L_1_00_W_0_42 OR |
| (phighvt_L_0_50_W_7_00 OR |
| (phighvt_L_0_50_W_5_00 OR |
| (phighvt_L_0_50_W_3_00 OR |
| (phighvt_L_0_50_W_1_00 OR |
| (phighvt_L_0_50_W_0_82 OR |
| (phighvt_L_0_50_W_0_55 OR |
| (phighvt_L_0_50_W_0_42 OR |
| (phighvt_L_0_25_W_7_00 OR |
| (phighvt_L_0_25_W_5_00 OR |
| (phighvt_L_0_25_W_3_00 OR |
| (phighvt_L_0_25_W_1_00 OR |
| (phighvt_L_0_25_W_0_82 OR |
| (phighvt_L_0_18_W_7_0 OR |
| (phighvt_L_0_18_W_5_0 OR |
| (phighvt_L_0_18_W_3_0 OR |
| (phighvt_L_0_18_W_1_68 OR |
| (phighvt_L_0_18_W_1_00 OR |
| (phighvt_L_0_18_W_0_84 OR |
| (phighvt_L_0_18_W_0_82 OR |
| (phighvt_L_0_18_W_0_64 OR |
| (phighvt_L_0_18_W_0_42 OR |
| (phighvt_L_0_15_W_7_00 OR |
| (phighvt_L_0_15_W_5_00 OR |
| (phighvt_L_0_15_W_3_00 OR |
| (phighvt_L_0_15_W_2_00 OR |
| (phighvt_L_0_15_W_1_68 OR |
| (phighvt_L_0_15_W_1_65 OR |
| (phighvt_L_0_15_W_1_26 OR |
| (phighvt_L_0_15_W_1_12 OR |
| (phighvt_L_0_15_W_1_00 OR |
| (phighvt_L_0_15_W_0_94 OR |
| (phighvt_L_0_15_W_0_86 OR |
| (phighvt_L_0_15_W_0_84 OR |
| (phighvt_L_0_15_W_0_82 OR |
| (phighvt_L_0_15_W_0_79 OR |
| (phighvt_L_0_15_W_0_75 OR |
| (phighvt_L_0_15_W_0_70 OR |
| (phighvt_L_0_15_W_0_64 OR |
| (phighvt_L_0_15_W_0_63 OR |
| (phighvt_L_0_15_W_0_55 OR |
| (phighvt_L_0_15_W_0_54 OR |
| (phighvt_L_0_15_W_0_42 OR phighvt_L_0_15_W_0_36)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
| "k_116_phighvt_valid" { |
| @ keep: phighvt_valid - phighvt_valid |
| COPY phighvt_valid |
| } |
| phighvt_invalid = phighvt NOT (exemptDecaps OR phighvt_valid) |
| "r_575_Poly.X.1" { |
| @ Poly.X.1: This phighvt device has an invalid W/L. Please see MRGA |
| COPY phighvt_invalid |
| } |
| s8rf_pshort_W3p0_L0p18_M2_b = rfGate AND (EXTENT CELL "s8rf_pshort_W3p0_L0p18_M2_b") |
| "k_117_s8rf_pshort_W3p0_L0p18_M2_b" { |
| @ keep: s8rf_pshort_W3p0_L0p18_M2_b - s8rf_pshort_W3p0_L0p18_M2_b |
| COPY s8rf_pshort_W3p0_L0p18_M2_b |
| } |
| s8rf_pshort_W3p0_L0p18_M2_b_L_0_18 = LENGTH (s8rf_pshort_W3p0_L0p18_M2_b COINCIDENT INSIDE EDGE diff) == 0.18 |
| "k_118_s8rf_pshort_W3p0_L0p18_M2_b_L_0_18" { |
| @ keep: s8rf_pshort_W3p0_L0p18_M2_b_L_0_18 - s8rf_pshort_W3p0_L0p18_M2_b_L_0_18 |
| COPY s8rf_pshort_W3p0_L0p18_M2_b_L_0_18 |
| } |
| s8rf_pshort_W3p0_L0p18_M2_b_L_0_18_W_3_01_tmp = INTERNAL s8rf_pshort_W3p0_L0p18_M2_b_L_0_18 == 3.01 OPPOSITE PARALLEL ONLY REGION |
| s8rf_pshort_W3p0_L0p18_M2_b_L_0_18_W_3_01 = (WITH TEXT s8rf_pshort_W3p0_L0p18_M2_b "dummy_poly" textlabel) OR s8rf_pshort_W3p0_L0p18_M2_b_L_0_18_W_3_01_tmp |
| s8rf_pshort_W3p0_L0p18_M2_b_valid = COPY s8rf_pshort_W3p0_L0p18_M2_b_L_0_18_W_3_01 |
| "k_119_s8rf_pshort_W3p0_L0p18_M2_b_valid" { |
| @ keep: s8rf_pshort_W3p0_L0p18_M2_b_valid - s8rf_pshort_W3p0_L0p18_M2_b_valid |
| COPY s8rf_pshort_W3p0_L0p18_M2_b_valid |
| } |
| s8rf_pshort_W3p0_L0p18_M2_b_invalid = s8rf_pshort_W3p0_L0p18_M2_b NOT (exemptDecaps OR s8rf_pshort_W3p0_L0p18_M2_b_valid) |
| "r_576_Poly.X.1" { |
| @ Poly.X.1: This s8rf_pshort_W3p0_L0p18_M2_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_pshort_W3p0_L0p18_M2_b_invalid |
| } |
| s8rf_pmedlvt_W1p68_L0p15_2F = rfGate AND (EXTENT CELL "s8rf_pmedlvt_W1p68_L0p15_2F") |
| "k_120_s8rf_pmedlvt_W1p68_L0p15_2F" { |
| @ keep: s8rf_pmedlvt_W1p68_L0p15_2F - s8rf_pmedlvt_W1p68_L0p15_2F |
| COPY s8rf_pmedlvt_W1p68_L0p15_2F |
| } |
| s8rf_pmedlvt_W1p68_L0p15_2F_L_0_15 = LENGTH (s8rf_pmedlvt_W1p68_L0p15_2F COINCIDENT INSIDE EDGE diff) == 0.15 |
| "k_121_s8rf_pmedlvt_W1p68_L0p15_2F_L_0_15" { |
| @ keep: s8rf_pmedlvt_W1p68_L0p15_2F_L_0_15 - s8rf_pmedlvt_W1p68_L0p15_2F_L_0_15 |
| COPY s8rf_pmedlvt_W1p68_L0p15_2F_L_0_15 |
| } |
| s8rf_pmedlvt_W1p68_L0p15_2F_L_0_15_W_1_68_tmp = INTERNAL s8rf_pmedlvt_W1p68_L0p15_2F_L_0_15 == 1.68 OPPOSITE PARALLEL ONLY REGION |
| s8rf_pmedlvt_W1p68_L0p15_2F_L_0_15_W_1_68 = (WITH TEXT s8rf_pmedlvt_W1p68_L0p15_2F "dummy_poly" textlabel) OR s8rf_pmedlvt_W1p68_L0p15_2F_L_0_15_W_1_68_tmp |
| s8rf_pmedlvt_W1p68_L0p15_2F_valid = COPY s8rf_pmedlvt_W1p68_L0p15_2F_L_0_15_W_1_68 |
| "k_122_s8rf_pmedlvt_W1p68_L0p15_2F_valid" { |
| @ keep: s8rf_pmedlvt_W1p68_L0p15_2F_valid - s8rf_pmedlvt_W1p68_L0p15_2F_valid |
| COPY s8rf_pmedlvt_W1p68_L0p15_2F_valid |
| } |
| s8rf_pmedlvt_W1p68_L0p15_2F_invalid = s8rf_pmedlvt_W1p68_L0p15_2F NOT (exemptDecaps OR s8rf_pmedlvt_W1p68_L0p15_2F_valid) |
| "r_577_Poly.X.1" { |
| @ Poly.X.1: This s8rf_pmedlvt_W1p68_L0p15_2F device has an invalid W/L. Please see MRGA |
| COPY s8rf_pmedlvt_W1p68_L0p15_2F_invalid |
| } |
| s8rf_nlowvt_W0p42_L0p15_2F = rfGate AND (EXTENT CELL "s8rf_nlowvt_W0p42_L0p15_2F") |
| "k_123_s8rf_nlowvt_W0p42_L0p15_2F" { |
| @ keep: s8rf_nlowvt_W0p42_L0p15_2F - s8rf_nlowvt_W0p42_L0p15_2F |
| COPY s8rf_nlowvt_W0p42_L0p15_2F |
| } |
| s8rf_nlowvt_W0p42_L0p15_2F_L_0_15 = LENGTH (s8rf_nlowvt_W0p42_L0p15_2F COINCIDENT INSIDE EDGE diff) == 0.15 |
| "k_124_s8rf_nlowvt_W0p42_L0p15_2F_L_0_15" { |
| @ keep: s8rf_nlowvt_W0p42_L0p15_2F_L_0_15 - s8rf_nlowvt_W0p42_L0p15_2F_L_0_15 |
| COPY s8rf_nlowvt_W0p42_L0p15_2F_L_0_15 |
| } |
| s8rf_nlowvt_W0p42_L0p15_2F_L_0_15_W_0_42_tmp = INTERNAL s8rf_nlowvt_W0p42_L0p15_2F_L_0_15 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| s8rf_nlowvt_W0p42_L0p15_2F_L_0_15_W_0_42 = (WITH TEXT s8rf_nlowvt_W0p42_L0p15_2F "dummy_poly" textlabel) OR s8rf_nlowvt_W0p42_L0p15_2F_L_0_15_W_0_42_tmp |
| s8rf_nlowvt_W0p42_L0p15_2F_valid = COPY s8rf_nlowvt_W0p42_L0p15_2F_L_0_15_W_0_42 |
| "k_125_s8rf_nlowvt_W0p42_L0p15_2F_valid" { |
| @ keep: s8rf_nlowvt_W0p42_L0p15_2F_valid - s8rf_nlowvt_W0p42_L0p15_2F_valid |
| COPY s8rf_nlowvt_W0p42_L0p15_2F_valid |
| } |
| s8rf_nlowvt_W0p42_L0p15_2F_invalid = s8rf_nlowvt_W0p42_L0p15_2F NOT (exemptDecaps OR s8rf_nlowvt_W0p42_L0p15_2F_valid) |
| "r_578_Poly.X.1" { |
| @ Poly.X.1: This s8rf_nlowvt_W0p42_L0p15_2F device has an invalid W/L. Please see MRGA |
| COPY s8rf_nlowvt_W0p42_L0p15_2F_invalid |
| } |
| s8rf_nlowvt_W0p84_L0p15_2F = rfGate AND (EXTENT CELL "s8rf_nlowvt_W0p84_L0p15_2F") |
| "k_126_s8rf_nlowvt_W0p84_L0p15_2F" { |
| @ keep: s8rf_nlowvt_W0p84_L0p15_2F - s8rf_nlowvt_W0p84_L0p15_2F |
| COPY s8rf_nlowvt_W0p84_L0p15_2F |
| } |
| s8rf_nlowvt_W0p84_L0p15_2F_L_0_15 = LENGTH (s8rf_nlowvt_W0p84_L0p15_2F COINCIDENT INSIDE EDGE diff) == 0.15 |
| "k_127_s8rf_nlowvt_W0p84_L0p15_2F_L_0_15" { |
| @ keep: s8rf_nlowvt_W0p84_L0p15_2F_L_0_15 - s8rf_nlowvt_W0p84_L0p15_2F_L_0_15 |
| COPY s8rf_nlowvt_W0p84_L0p15_2F_L_0_15 |
| } |
| s8rf_nlowvt_W0p84_L0p15_2F_L_0_15_W_0_84_tmp = INTERNAL s8rf_nlowvt_W0p84_L0p15_2F_L_0_15 == 0.84 OPPOSITE PARALLEL ONLY REGION |
| s8rf_nlowvt_W0p84_L0p15_2F_L_0_15_W_0_84 = (WITH TEXT s8rf_nlowvt_W0p84_L0p15_2F "dummy_poly" textlabel) OR s8rf_nlowvt_W0p84_L0p15_2F_L_0_15_W_0_84_tmp |
| s8rf_nlowvt_W0p84_L0p15_2F_valid = COPY s8rf_nlowvt_W0p84_L0p15_2F_L_0_15_W_0_84 |
| "k_128_s8rf_nlowvt_W0p84_L0p15_2F_valid" { |
| @ keep: s8rf_nlowvt_W0p84_L0p15_2F_valid - s8rf_nlowvt_W0p84_L0p15_2F_valid |
| COPY s8rf_nlowvt_W0p84_L0p15_2F_valid |
| } |
| s8rf_nlowvt_W0p84_L0p15_2F_invalid = s8rf_nlowvt_W0p84_L0p15_2F NOT (exemptDecaps OR s8rf_nlowvt_W0p84_L0p15_2F_valid) |
| "r_579_Poly.X.1" { |
| @ Poly.X.1: This s8rf_nlowvt_W0p84_L0p15_2F device has an invalid W/L. Please see MRGA |
| COPY s8rf_nlowvt_W0p84_L0p15_2F_invalid |
| } |
| s8rf_nhv_W7p0_L0p5_M10_b = rfGate AND (EXTENT CELL "s8rf_nhv_W7p0_L0p5_M10_b") |
| "k_129_s8rf_nhv_W7p0_L0p5_M10_b" { |
| @ keep: s8rf_nhv_W7p0_L0p5_M10_b - s8rf_nhv_W7p0_L0p5_M10_b |
| COPY s8rf_nhv_W7p0_L0p5_M10_b |
| } |
| s8rf_nhv_W7p0_L0p5_M10_b_L_0_50 = LENGTH (s8rf_nhv_W7p0_L0p5_M10_b COINCIDENT INSIDE EDGE diff) == 0.5 |
| "k_130_s8rf_nhv_W7p0_L0p5_M10_b_L_0_50" { |
| @ keep: s8rf_nhv_W7p0_L0p5_M10_b_L_0_50 - s8rf_nhv_W7p0_L0p5_M10_b_L_0_50 |
| COPY s8rf_nhv_W7p0_L0p5_M10_b_L_0_50 |
| } |
| s8rf_nhv_W7p0_L0p5_M10_b_L_0_50_W_7_09_tmp = INTERNAL s8rf_nhv_W7p0_L0p5_M10_b_L_0_50 == 7.09 OPPOSITE PARALLEL ONLY REGION |
| s8rf_nhv_W7p0_L0p5_M10_b_L_0_50_W_7_09 = (WITH TEXT s8rf_nhv_W7p0_L0p5_M10_b "dummy_poly" textlabel) OR s8rf_nhv_W7p0_L0p5_M10_b_L_0_50_W_7_09_tmp |
| s8rf_nhv_W7p0_L0p5_M10_b_valid = COPY s8rf_nhv_W7p0_L0p5_M10_b_L_0_50_W_7_09 |
| "k_131_s8rf_nhv_W7p0_L0p5_M10_b_valid" { |
| @ keep: s8rf_nhv_W7p0_L0p5_M10_b_valid - s8rf_nhv_W7p0_L0p5_M10_b_valid |
| COPY s8rf_nhv_W7p0_L0p5_M10_b_valid |
| } |
| s8rf_nhv_W7p0_L0p5_M10_b_invalid = s8rf_nhv_W7p0_L0p5_M10_b NOT (exemptDecaps OR s8rf_nhv_W7p0_L0p5_M10_b_valid) |
| "r_580_Poly.X.1" { |
| @ Poly.X.1: This s8rf_nhv_W7p0_L0p5_M10_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_nhv_W7p0_L0p5_M10_b_invalid |
| } |
| nhvnative_L_0_90 = LENGTH ("nhvnative" COINCIDENT INSIDE EDGE diff) == 0.9 |
| "k_132_nhvnative_L_0_90" { |
| @ keep: nhvnative_L_0_90 - nhvnative_L_0_90 |
| COPY nhvnative_L_0_90 |
| } |
| nhvnative_L_0_90_W_0_42_tmp = INTERNAL nhvnative_L_0_90 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| nhvnative_L_0_90_W_0_42 = (WITH TEXT "nhvnative" "dummy_poly" textlabel) OR nhvnative_L_0_90_W_0_42_tmp |
| nhvnative_L_0_90_W_0_70_tmp = INTERNAL nhvnative_L_0_90 == 0.7 OPPOSITE PARALLEL ONLY REGION |
| nhvnative_L_0_90_W_0_70 = (WITH TEXT "nhvnative" "dummy_poly" textlabel) OR nhvnative_L_0_90_W_0_70_tmp |
| nhvnative_L_0_90_W_1_00_tmp = INTERNAL nhvnative_L_0_90 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| nhvnative_L_0_90_W_1_00 = (WITH TEXT "nhvnative" "dummy_poly" textlabel) OR nhvnative_L_0_90_W_1_00_tmp |
| nhvnative_L_0_90_W_10_0_tmp = INTERNAL nhvnative_L_0_90 == 10.0 OPPOSITE PARALLEL ONLY REGION |
| nhvnative_L_0_90_W_10_0 = (WITH TEXT "nhvnative" "dummy_poly" textlabel) OR nhvnative_L_0_90_W_10_0_tmp |
| nhvnative_L_1_00 = LENGTH ("nhvnative" COINCIDENT INSIDE EDGE diff) == 1.0 |
| "k_133_nhvnative_L_1_00" { |
| @ keep: nhvnative_L_1_00 - nhvnative_L_1_00 |
| COPY nhvnative_L_1_00 |
| } |
| nhvnative_L_1_00_W_0_42_tmp = INTERNAL nhvnative_L_1_00 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| nhvnative_L_1_00_W_0_42 = (WITH TEXT "nhvnative" "dummy_poly" textlabel) OR nhvnative_L_1_00_W_0_42_tmp |
| nhvnative_L_2_00 = LENGTH ("nhvnative" COINCIDENT INSIDE EDGE diff) == 2.0 |
| "k_134_nhvnative_L_2_00" { |
| @ keep: nhvnative_L_2_00 - nhvnative_L_2_00 |
| COPY nhvnative_L_2_00 |
| } |
| nhvnative_L_2_00_W_1_00_tmp = INTERNAL nhvnative_L_2_00 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| nhvnative_L_2_00_W_1_00 = (WITH TEXT "nhvnative" "dummy_poly" textlabel) OR nhvnative_L_2_00_W_1_00_tmp |
| nhvnative_L_2_00_W_10_0_tmp = INTERNAL nhvnative_L_2_00 == 10.0 OPPOSITE PARALLEL ONLY REGION |
| nhvnative_L_2_00_W_10_0 = (WITH TEXT "nhvnative" "dummy_poly" textlabel) OR nhvnative_L_2_00_W_10_0_tmp |
| nhvnative_L_4_00 = LENGTH ("nhvnative" COINCIDENT INSIDE EDGE diff) == 4.0 |
| "k_135_nhvnative_L_4_00" { |
| @ keep: nhvnative_L_4_00 - nhvnative_L_4_00 |
| COPY nhvnative_L_4_00 |
| } |
| nhvnative_L_4_00_W_1_00_tmp = INTERNAL nhvnative_L_4_00 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| nhvnative_L_4_00_W_1_00 = (WITH TEXT "nhvnative" "dummy_poly" textlabel) OR nhvnative_L_4_00_W_1_00_tmp |
| nhvnative_L_4_00_W_10_0_tmp = INTERNAL nhvnative_L_4_00 == 10.0 OPPOSITE PARALLEL ONLY REGION |
| nhvnative_L_4_00_W_10_0 = (WITH TEXT "nhvnative" "dummy_poly" textlabel) OR nhvnative_L_4_00_W_10_0_tmp |
| nhvnative_L_8_00 = LENGTH ("nhvnative" COINCIDENT INSIDE EDGE diff) == 8.0 |
| "k_136_nhvnative_L_8_00" { |
| @ keep: nhvnative_L_8_00 - nhvnative_L_8_00 |
| COPY nhvnative_L_8_00 |
| } |
| nhvnative_L_8_00_W_1_00_tmp = INTERNAL nhvnative_L_8_00 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| nhvnative_L_8_00_W_1_00 = (WITH TEXT "nhvnative" "dummy_poly" textlabel) OR nhvnative_L_8_00_W_1_00_tmp |
| nhvnative_L_25_00 = LENGTH ("nhvnative" COINCIDENT INSIDE EDGE diff) == 25.0 |
| "k_137_nhvnative_L_25_00" { |
| @ keep: nhvnative_L_25_00 - nhvnative_L_25_00 |
| COPY nhvnative_L_25_00 |
| } |
| nhvnative_L_25_00_W_1_00_tmp = INTERNAL nhvnative_L_25_00 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| nhvnative_L_25_00_W_1_00 = (WITH TEXT "nhvnative" "dummy_poly" textlabel) OR nhvnative_L_25_00_W_1_00_tmp |
| nhvnative_valid = nhvnative_L_25_00_W_1_00 OR |
| (nhvnative_L_8_00_W_1_00 OR |
| (nhvnative_L_4_00_W_10_0 OR |
| (nhvnative_L_4_00_W_1_00 OR |
| (nhvnative_L_2_00_W_10_0 OR |
| (nhvnative_L_2_00_W_1_00 OR |
| (nhvnative_L_1_00_W_0_42 OR |
| (nhvnative_L_0_90_W_10_0 OR |
| (nhvnative_L_0_90_W_1_00 OR |
| (nhvnative_L_0_90_W_0_70 OR nhvnative_L_0_90_W_0_42))))))))) |
| "k_138_nhvnative_valid" { |
| @ keep: nhvnative_valid - nhvnative_valid |
| COPY nhvnative_valid |
| } |
| nhvnative_invalid = nhvnative NOT (exemptDecaps OR nhvnative_valid) |
| "r_581_Poly.X.1" { |
| @ Poly.X.1: This nhvnative device has an invalid W/L. Please see MRGA |
| COPY nhvnative_invalid |
| } |
| s8rf_nshort_W5p0_L0p25_M4_b = rfGate AND (EXTENT CELL "s8rf_nshort_W5p0_L0p25_M4_b") |
| "k_139_s8rf_nshort_W5p0_L0p25_M4_b" { |
| @ keep: s8rf_nshort_W5p0_L0p25_M4_b - s8rf_nshort_W5p0_L0p25_M4_b |
| COPY s8rf_nshort_W5p0_L0p25_M4_b |
| } |
| s8rf_nshort_W5p0_L0p25_M4_b_L_0_25 = LENGTH (s8rf_nshort_W5p0_L0p25_M4_b COINCIDENT INSIDE EDGE diff) == 0.25 |
| "k_140_s8rf_nshort_W5p0_L0p25_M4_b_L_0_25" { |
| @ keep: s8rf_nshort_W5p0_L0p25_M4_b_L_0_25 - s8rf_nshort_W5p0_L0p25_M4_b_L_0_25 |
| COPY s8rf_nshort_W5p0_L0p25_M4_b_L_0_25 |
| } |
| s8rf_nshort_W5p0_L0p25_M4_b_L_0_25_W_5_05_tmp = INTERNAL s8rf_nshort_W5p0_L0p25_M4_b_L_0_25 == 5.05 OPPOSITE PARALLEL ONLY REGION |
| s8rf_nshort_W5p0_L0p25_M4_b_L_0_25_W_5_05 = (WITH TEXT s8rf_nshort_W5p0_L0p25_M4_b "dummy_poly" textlabel) OR s8rf_nshort_W5p0_L0p25_M4_b_L_0_25_W_5_05_tmp |
| s8rf_nshort_W5p0_L0p25_M4_b_valid = COPY s8rf_nshort_W5p0_L0p25_M4_b_L_0_25_W_5_05 |
| "k_141_s8rf_nshort_W5p0_L0p25_M4_b_valid" { |
| @ keep: s8rf_nshort_W5p0_L0p25_M4_b_valid - s8rf_nshort_W5p0_L0p25_M4_b_valid |
| COPY s8rf_nshort_W5p0_L0p25_M4_b_valid |
| } |
| s8rf_nshort_W5p0_L0p25_M4_b_invalid = s8rf_nshort_W5p0_L0p25_M4_b NOT (exemptDecaps OR s8rf_nshort_W5p0_L0p25_M4_b_valid) |
| "r_582_Poly.X.1" { |
| @ Poly.X.1: This s8rf_nshort_W5p0_L0p25_M4_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_nshort_W5p0_L0p25_M4_b_invalid |
| } |
| npass_L_0_15 = LENGTH ("npass" COINCIDENT INSIDE EDGE diff) == 0.15 |
| "k_142_npass_L_0_15" { |
| @ keep: npass_L_0_15 - npass_L_0_15 |
| COPY npass_L_0_15 |
| } |
| npass_L_0_15_W_0_14_tmp = INTERNAL npass_L_0_15 == 0.14 OPPOSITE PARALLEL ONLY REGION |
| npass_L_0_15_W_0_14 = (WITH TEXT "npass" "dummy_poly" textlabel) OR npass_L_0_15_W_0_14_tmp |
| npass_valid = COPY npass_L_0_15_W_0_14 |
| "k_143_npass_valid" { |
| @ keep: npass_valid - npass_valid |
| COPY npass_valid |
| } |
| npass_invalid = npass NOT (exemptDecaps OR npass_valid) |
| "r_583_Poly.X.1" { |
| @ Poly.X.1: This npass device has an invalid W/L. Please see MRGA |
| COPY npass_invalid |
| } |
| s8rf_nlowvt_W1p65_L0p15_M2_b = rfGate AND (EXTENT CELL "s8rf_nlowvt_W1p65_L0p15_M2_b") |
| "k_144_s8rf_nlowvt_W1p65_L0p15_M2_b" { |
| @ keep: s8rf_nlowvt_W1p65_L0p15_M2_b - s8rf_nlowvt_W1p65_L0p15_M2_b |
| COPY s8rf_nlowvt_W1p65_L0p15_M2_b |
| } |
| s8rf_nlowvt_W1p65_L0p15_M2_b_L_0_15 = LENGTH (s8rf_nlowvt_W1p65_L0p15_M2_b COINCIDENT INSIDE EDGE diff) == 0.15 |
| "k_145_s8rf_nlowvt_W1p65_L0p15_M2_b_L_0_15" { |
| @ keep: s8rf_nlowvt_W1p65_L0p15_M2_b_L_0_15 - s8rf_nlowvt_W1p65_L0p15_M2_b_L_0_15 |
| COPY s8rf_nlowvt_W1p65_L0p15_M2_b_L_0_15 |
| } |
| s8rf_nlowvt_W1p65_L0p15_M2_b_L_0_15_W_1_65_tmp = INTERNAL s8rf_nlowvt_W1p65_L0p15_M2_b_L_0_15 == 1.65 OPPOSITE PARALLEL ONLY REGION |
| s8rf_nlowvt_W1p65_L0p15_M2_b_L_0_15_W_1_65 = (WITH TEXT s8rf_nlowvt_W1p65_L0p15_M2_b "dummy_poly" textlabel) OR s8rf_nlowvt_W1p65_L0p15_M2_b_L_0_15_W_1_65_tmp |
| s8rf_nlowvt_W1p65_L0p15_M2_b_valid = COPY s8rf_nlowvt_W1p65_L0p15_M2_b_L_0_15_W_1_65 |
| "k_146_s8rf_nlowvt_W1p65_L0p15_M2_b_valid" { |
| @ keep: s8rf_nlowvt_W1p65_L0p15_M2_b_valid - s8rf_nlowvt_W1p65_L0p15_M2_b_valid |
| COPY s8rf_nlowvt_W1p65_L0p15_M2_b_valid |
| } |
| s8rf_nlowvt_W1p65_L0p15_M2_b_invalid = s8rf_nlowvt_W1p65_L0p15_M2_b NOT (exemptDecaps OR s8rf_nlowvt_W1p65_L0p15_M2_b_valid) |
| "r_584_Poly.X.1" { |
| @ Poly.X.1: This s8rf_nlowvt_W1p65_L0p15_M2_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_nlowvt_W1p65_L0p15_M2_b_invalid |
| } |
| s8rf_nhv_W3p0_L0p5_M10_b = rfGate AND (EXTENT CELL "s8rf_nhv_W3p0_L0p5_M10_b") |
| "k_147_s8rf_nhv_W3p0_L0p5_M10_b" { |
| @ keep: s8rf_nhv_W3p0_L0p5_M10_b - s8rf_nhv_W3p0_L0p5_M10_b |
| COPY s8rf_nhv_W3p0_L0p5_M10_b |
| } |
| s8rf_nhv_W3p0_L0p5_M10_b_L_0_50 = LENGTH (s8rf_nhv_W3p0_L0p5_M10_b COINCIDENT INSIDE EDGE diff) == 0.5 |
| "k_148_s8rf_nhv_W3p0_L0p5_M10_b_L_0_50" { |
| @ keep: s8rf_nhv_W3p0_L0p5_M10_b_L_0_50 - s8rf_nhv_W3p0_L0p5_M10_b_L_0_50 |
| COPY s8rf_nhv_W3p0_L0p5_M10_b_L_0_50 |
| } |
| s8rf_nhv_W3p0_L0p5_M10_b_L_0_50_W_3_01_tmp = INTERNAL s8rf_nhv_W3p0_L0p5_M10_b_L_0_50 == 3.01 OPPOSITE PARALLEL ONLY REGION |
| s8rf_nhv_W3p0_L0p5_M10_b_L_0_50_W_3_01 = (WITH TEXT s8rf_nhv_W3p0_L0p5_M10_b "dummy_poly" textlabel) OR s8rf_nhv_W3p0_L0p5_M10_b_L_0_50_W_3_01_tmp |
| s8rf_nhv_W3p0_L0p5_M10_b_valid = COPY s8rf_nhv_W3p0_L0p5_M10_b_L_0_50_W_3_01 |
| "k_149_s8rf_nhv_W3p0_L0p5_M10_b_valid" { |
| @ keep: s8rf_nhv_W3p0_L0p5_M10_b_valid - s8rf_nhv_W3p0_L0p5_M10_b_valid |
| COPY s8rf_nhv_W3p0_L0p5_M10_b_valid |
| } |
| s8rf_nhv_W3p0_L0p5_M10_b_invalid = s8rf_nhv_W3p0_L0p5_M10_b NOT (exemptDecaps OR s8rf_nhv_W3p0_L0p5_M10_b_valid) |
| "r_585_Poly.X.1" { |
| @ Poly.X.1: This s8rf_nhv_W3p0_L0p5_M10_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_nhv_W3p0_L0p5_M10_b_invalid |
| } |
| |
| //sonos_p_L_0_15 = LENGTH ("sonos_p" COINCIDENT INSIDE EDGE diff) == 0.15 |
| //"k_150_sonos_p_L_0_15" { |
| // @ keep: sonos_p_L_0_15 - sonos_p_L_0_15 |
| // COPY sonos_p_L_0_15 |
| // } |
| //sonos_p_L_0_15_W_0_35_tmp = INTERNAL sonos_p_L_0_15 == 0.35 OPPOSITE PARALLEL ONLY REGION |
| //sonos_p_L_0_15_W_0_35 = (WITH TEXT "sonos_p" "dummy_poly" textlabel) OR sonos_p_L_0_15_W_0_35_tmp |
| |
| |
| sonos_p_L_0_22 = LENGTH ("sonos_p" COINCIDENT INSIDE EDGE diff) == 0.22 |
| "k_150_sonos_p_L_0_22" { |
| @ keep: sonos_p_L_0_22 - sonos_p_L_0_22 |
| COPY sonos_p_L_0_22 |
| } |
| sonos_p_L_0_22_W_0_45_tmp = INTERNAL sonos_p_L_0_22 == 0.45 OPPOSITE PARALLEL ONLY REGION |
| sonos_p_L_0_22_W_0_45 = (WITH TEXT "sonos_p" "dummy_poly" textlabel) OR sonos_p_L_0_22_W_0_45_tmp |
| |
| sonos_p_L_0_50 = LENGTH ("sonos_p" COINCIDENT INSIDE EDGE diff) == 0.5 |
| "k_151_sonos_p_L_0_50" { |
| @ keep: sonos_p_L_0_50 - sonos_p_L_0_50 |
| COPY sonos_p_L_0_50 |
| } |
| sonos_p_L_0_50_W_1_00_tmp = INTERNAL sonos_p_L_0_50 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| sonos_p_L_0_50_W_1_00 = (WITH TEXT "sonos_p" "dummy_poly" textlabel) OR sonos_p_L_0_50_W_1_00_tmp |
| sonos_p_valid = sonos_p_L_0_50_W_1_00 OR sonos_p_L_0_22_W_0_45 |
| "k_152_sonos_p_valid" { |
| @ keep: sonos_p_valid - sonos_p_valid |
| COPY sonos_p_valid |
| } |
| sonos_p_invalid = sonos_p NOT (exemptDecaps OR sonos_p_valid) |
| "r_586_Poly.X.1" { |
| @ Poly.X.1: This sonos_p device has an invalid W/L. Please see MRGA |
| COPY sonos_p_invalid |
| } |
| nhvnativeesd_L_0_90 = LENGTH ("nhvnativeesd" COINCIDENT INSIDE EDGE diff) == 0.9 |
| "k_153_nhvnativeesd_L_0_90" { |
| @ keep: nhvnativeesd_L_0_90 - nhvnativeesd_L_0_90 |
| COPY nhvnativeesd_L_0_90 |
| } |
| nhvnativeesd_L_0_90_W_10_0_tmp = INTERNAL nhvnativeesd_L_0_90 == 10.0 OPPOSITE PARALLEL ONLY REGION |
| nhvnativeesd_L_0_90_W_10_0 = (WITH TEXT "nhvnativeesd" "dummy_poly" textlabel) OR nhvnativeesd_L_0_90_W_10_0_tmp |
| nhvnativeesd_L_2_00 = LENGTH ("nhvnativeesd" COINCIDENT INSIDE EDGE diff) == 2.0 |
| "k_154_nhvnativeesd_L_2_00" { |
| @ keep: nhvnativeesd_L_2_00 - nhvnativeesd_L_2_00 |
| COPY nhvnativeesd_L_2_00 |
| } |
| nhvnativeesd_L_2_00_W_10_0_tmp = INTERNAL nhvnativeesd_L_2_00 == 10.0 OPPOSITE PARALLEL ONLY REGION |
| nhvnativeesd_L_2_00_W_10_0 = (WITH TEXT "nhvnativeesd" "dummy_poly" textlabel) OR nhvnativeesd_L_2_00_W_10_0_tmp |
| nhvnativeesd_L_4_00 = LENGTH ("nhvnativeesd" COINCIDENT INSIDE EDGE diff) == 4.0 |
| "k_155_nhvnativeesd_L_4_00" { |
| @ keep: nhvnativeesd_L_4_00 - nhvnativeesd_L_4_00 |
| COPY nhvnativeesd_L_4_00 |
| } |
| nhvnativeesd_L_4_00_W_10_0_tmp = INTERNAL nhvnativeesd_L_4_00 == 10.0 OPPOSITE PARALLEL ONLY REGION |
| nhvnativeesd_L_4_00_W_10_0 = (WITH TEXT "nhvnativeesd" "dummy_poly" textlabel) OR nhvnativeesd_L_4_00_W_10_0_tmp |
| nhvnativeesd_valid = nhvnativeesd_L_4_00_W_10_0 OR |
| (nhvnativeesd_L_2_00_W_10_0 OR nhvnativeesd_L_0_90_W_10_0) |
| "k_156_nhvnativeesd_valid" { |
| @ keep: nhvnativeesd_valid - nhvnativeesd_valid |
| COPY nhvnativeesd_valid |
| } |
| nhvnativeesd_invalid = nhvnativeesd NOT (exemptDecaps OR nhvnativeesd_valid) |
| "r_587_Poly.X.1" { |
| @ Poly.X.1: This nhvnativeesd device has an invalid W/L. Please see MRGA |
| COPY nhvnativeesd_invalid |
| } |
| npd_L_0_15 = LENGTH ("npd" COINCIDENT INSIDE EDGE diff) == 0.15 |
| "k_157_npd_L_0_15" { |
| @ keep: npd_L_0_15 - npd_L_0_15 |
| COPY npd_L_0_15 |
| } |
| npd_L_0_15_W_0_21_tmp = INTERNAL npd_L_0_15 == 0.21 OPPOSITE PARALLEL ONLY REGION |
| npd_L_0_15_W_0_21 = (WITH TEXT "npd" "dummy_poly" textlabel) OR npd_L_0_15_W_0_21_tmp |
| npd_valid = COPY npd_L_0_15_W_0_21 |
| "k_158_npd_valid" { |
| @ keep: npd_valid - npd_valid |
| COPY npd_valid |
| } |
| npd_invalid = npd NOT (exemptDecaps OR npd_valid) |
| "r_588_Poly.X.1" { |
| @ Poly.X.1: This npd device has an invalid W/L. Please see MRGA |
| COPY npd_invalid |
| } |
| ntvnative_L_0_50 = LENGTH ("ntvnative" COINCIDENT INSIDE EDGE diff) == 0.5 |
| "k_159_ntvnative_L_0_50" { |
| @ keep: ntvnative_L_0_50 - ntvnative_L_0_50 |
| COPY ntvnative_L_0_50 |
| } |
| ntvnative_L_0_50_W_0_42_tmp = INTERNAL ntvnative_L_0_50 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| ntvnative_L_0_50_W_0_42 = (WITH TEXT "ntvnative" "dummy_poly" textlabel) OR ntvnative_L_0_50_W_0_42_tmp |
| ntvnative_L_0_50_W_0_70_tmp = INTERNAL ntvnative_L_0_50 == 0.7 OPPOSITE PARALLEL ONLY REGION |
| ntvnative_L_0_50_W_0_70 = (WITH TEXT "ntvnative" "dummy_poly" textlabel) OR ntvnative_L_0_50_W_0_70_tmp |
| ntvnative_L_0_50_W_1_00_tmp = INTERNAL ntvnative_L_0_50 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| ntvnative_L_0_50_W_1_00 = (WITH TEXT "ntvnative" "dummy_poly" textlabel) OR ntvnative_L_0_50_W_1_00_tmp |
| ntvnative_L_0_50_W_4_00_tmp = INTERNAL ntvnative_L_0_50 == 4.0 OPPOSITE PARALLEL ONLY REGION |
| ntvnative_L_0_50_W_4_00 = (WITH TEXT "ntvnative" "dummy_poly" textlabel) OR ntvnative_L_0_50_W_4_00_tmp |
| ntvnative_L_0_50_W_10_0_tmp = INTERNAL ntvnative_L_0_50 == 10.0 OPPOSITE PARALLEL ONLY REGION |
| ntvnative_L_0_50_W_10_0 = (WITH TEXT "ntvnative" "dummy_poly" textlabel) OR ntvnative_L_0_50_W_10_0_tmp |
| ntvnative_L_0_60 = LENGTH ("ntvnative" COINCIDENT INSIDE EDGE diff) == 0.6 |
| "k_160_ntvnative_L_0_60" { |
| @ keep: ntvnative_L_0_60 - ntvnative_L_0_60 |
| COPY ntvnative_L_0_60 |
| } |
| ntvnative_L_0_60_W_0_42_tmp = INTERNAL ntvnative_L_0_60 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| ntvnative_L_0_60_W_0_42 = (WITH TEXT "ntvnative" "dummy_poly" textlabel) OR ntvnative_L_0_60_W_0_42_tmp |
| ntvnative_L_0_60_W_0_70_tmp = INTERNAL ntvnative_L_0_60 == 0.7 OPPOSITE PARALLEL ONLY REGION |
| ntvnative_L_0_60_W_0_70 = (WITH TEXT "ntvnative" "dummy_poly" textlabel) OR ntvnative_L_0_60_W_0_70_tmp |
| ntvnative_L_0_60_W_1_00_tmp = INTERNAL ntvnative_L_0_60 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| ntvnative_L_0_60_W_1_00 = (WITH TEXT "ntvnative" "dummy_poly" textlabel) OR ntvnative_L_0_60_W_1_00_tmp |
| ntvnative_L_0_80 = LENGTH ("ntvnative" COINCIDENT INSIDE EDGE diff) == 0.8 |
| "k_161_ntvnative_L_0_80" { |
| @ keep: ntvnative_L_0_80 - ntvnative_L_0_80 |
| COPY ntvnative_L_0_80 |
| } |
| ntvnative_L_0_80_W_0_42_tmp = INTERNAL ntvnative_L_0_80 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| ntvnative_L_0_80_W_0_42 = (WITH TEXT "ntvnative" "dummy_poly" textlabel) OR ntvnative_L_0_80_W_0_42_tmp |
| ntvnative_valid = ntvnative_L_0_80_W_0_42 OR |
| (ntvnative_L_0_60_W_1_00 OR |
| (ntvnative_L_0_60_W_0_70 OR |
| (ntvnative_L_0_60_W_0_42 OR |
| (ntvnative_L_0_50_W_10_0 OR |
| (ntvnative_L_0_50_W_4_00 OR |
| (ntvnative_L_0_50_W_1_00 OR |
| (ntvnative_L_0_50_W_0_70 OR ntvnative_L_0_50_W_0_42))))))) |
| "k_162_ntvnative_valid" { |
| @ keep: ntvnative_valid - ntvnative_valid |
| COPY ntvnative_valid |
| } |
| ntvnative_invalid = ntvnative NOT (exemptDecaps OR ntvnative_valid) |
| "r_589_Poly.X.1" { |
| @ Poly.X.1: This ntvnative device has an invalid W/L. Please see MRGA |
| COPY ntvnative_invalid |
| } |
| s8rf_nhv_W5p0_L0p5_M4_b = rfGate AND (EXTENT CELL "s8rf_nhv_W5p0_L0p5_M4_b") |
| "k_163_s8rf_nhv_W5p0_L0p5_M4_b" { |
| @ keep: s8rf_nhv_W5p0_L0p5_M4_b - s8rf_nhv_W5p0_L0p5_M4_b |
| COPY s8rf_nhv_W5p0_L0p5_M4_b |
| } |
| s8rf_nhv_W5p0_L0p5_M4_b_L_0_50 = LENGTH (s8rf_nhv_W5p0_L0p5_M4_b COINCIDENT INSIDE EDGE diff) == 0.5 |
| "k_164_s8rf_nhv_W5p0_L0p5_M4_b_L_0_50" { |
| @ keep: s8rf_nhv_W5p0_L0p5_M4_b_L_0_50 - s8rf_nhv_W5p0_L0p5_M4_b_L_0_50 |
| COPY s8rf_nhv_W5p0_L0p5_M4_b_L_0_50 |
| } |
| s8rf_nhv_W5p0_L0p5_M4_b_L_0_50_W_5_05_tmp = INTERNAL s8rf_nhv_W5p0_L0p5_M4_b_L_0_50 == 5.05 OPPOSITE PARALLEL ONLY REGION |
| s8rf_nhv_W5p0_L0p5_M4_b_L_0_50_W_5_05 = (WITH TEXT s8rf_nhv_W5p0_L0p5_M4_b "dummy_poly" textlabel) OR s8rf_nhv_W5p0_L0p5_M4_b_L_0_50_W_5_05_tmp |
| s8rf_nhv_W5p0_L0p5_M4_b_valid = COPY s8rf_nhv_W5p0_L0p5_M4_b_L_0_50_W_5_05 |
| "k_165_s8rf_nhv_W5p0_L0p5_M4_b_valid" { |
| @ keep: s8rf_nhv_W5p0_L0p5_M4_b_valid - s8rf_nhv_W5p0_L0p5_M4_b_valid |
| COPY s8rf_nhv_W5p0_L0p5_M4_b_valid |
| } |
| s8rf_nhv_W5p0_L0p5_M4_b_invalid = s8rf_nhv_W5p0_L0p5_M4_b NOT (exemptDecaps OR s8rf_nhv_W5p0_L0p5_M4_b_valid) |
| "r_590_Poly.X.1" { |
| @ Poly.X.1: This s8rf_nhv_W5p0_L0p5_M4_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_nhv_W5p0_L0p5_M4_b_invalid |
| } |
| s8rf_nshort_W1p65_L0p18_M4_b = rfGate AND (EXTENT CELL "s8rf_nshort_W1p65_L0p18_M4_b") |
| "k_166_s8rf_nshort_W1p65_L0p18_M4_b" { |
| @ keep: s8rf_nshort_W1p65_L0p18_M4_b - s8rf_nshort_W1p65_L0p18_M4_b |
| COPY s8rf_nshort_W1p65_L0p18_M4_b |
| } |
| s8rf_nshort_W1p65_L0p18_M4_b_L_0_18 = LENGTH (s8rf_nshort_W1p65_L0p18_M4_b COINCIDENT INSIDE EDGE diff) == 0.18 |
| "k_167_s8rf_nshort_W1p65_L0p18_M4_b_L_0_18" { |
| @ keep: s8rf_nshort_W1p65_L0p18_M4_b_L_0_18 - s8rf_nshort_W1p65_L0p18_M4_b_L_0_18 |
| COPY s8rf_nshort_W1p65_L0p18_M4_b_L_0_18 |
| } |
| s8rf_nshort_W1p65_L0p18_M4_b_L_0_18_W_1_65_tmp = INTERNAL s8rf_nshort_W1p65_L0p18_M4_b_L_0_18 == 1.65 OPPOSITE PARALLEL ONLY REGION |
| s8rf_nshort_W1p65_L0p18_M4_b_L_0_18_W_1_65 = (WITH TEXT s8rf_nshort_W1p65_L0p18_M4_b "dummy_poly" textlabel) OR s8rf_nshort_W1p65_L0p18_M4_b_L_0_18_W_1_65_tmp |
| s8rf_nshort_W1p65_L0p18_M4_b_valid = COPY s8rf_nshort_W1p65_L0p18_M4_b_L_0_18_W_1_65 |
| "k_168_s8rf_nshort_W1p65_L0p18_M4_b_valid" { |
| @ keep: s8rf_nshort_W1p65_L0p18_M4_b_valid - s8rf_nshort_W1p65_L0p18_M4_b_valid |
| COPY s8rf_nshort_W1p65_L0p18_M4_b_valid |
| } |
| s8rf_nshort_W1p65_L0p18_M4_b_invalid = s8rf_nshort_W1p65_L0p18_M4_b NOT (exemptDecaps OR s8rf_nshort_W1p65_L0p18_M4_b_valid) |
| "r_591_Poly.X.1" { |
| @ Poly.X.1: This s8rf_nshort_W1p65_L0p18_M4_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_nshort_W1p65_L0p18_M4_b_invalid |
| } |
| s8rf_nlowvt_W3p0_L0p15_4F = rfGate AND (EXTENT CELL "s8rf_nlowvt_W3p0_L0p15_4F") |
| "k_169_s8rf_nlowvt_W3p0_L0p15_4F" { |
| @ keep: s8rf_nlowvt_W3p0_L0p15_4F - s8rf_nlowvt_W3p0_L0p15_4F |
| COPY s8rf_nlowvt_W3p0_L0p15_4F |
| } |
| s8rf_nlowvt_W3p0_L0p15_4F_L_0_15 = LENGTH (s8rf_nlowvt_W3p0_L0p15_4F COINCIDENT INSIDE EDGE diff) == 0.15 |
| "k_170_s8rf_nlowvt_W3p0_L0p15_4F_L_0_15" { |
| @ keep: s8rf_nlowvt_W3p0_L0p15_4F_L_0_15 - s8rf_nlowvt_W3p0_L0p15_4F_L_0_15 |
| COPY s8rf_nlowvt_W3p0_L0p15_4F_L_0_15 |
| } |
| s8rf_nlowvt_W3p0_L0p15_4F_L_0_15_W_3_00_tmp = INTERNAL s8rf_nlowvt_W3p0_L0p15_4F_L_0_15 == 3.0 OPPOSITE PARALLEL ONLY REGION |
| s8rf_nlowvt_W3p0_L0p15_4F_L_0_15_W_3_00 = (WITH TEXT s8rf_nlowvt_W3p0_L0p15_4F "dummy_poly" textlabel) OR s8rf_nlowvt_W3p0_L0p15_4F_L_0_15_W_3_00_tmp |
| s8rf_nlowvt_W3p0_L0p15_4F_valid = COPY s8rf_nlowvt_W3p0_L0p15_4F_L_0_15_W_3_00 |
| "k_171_s8rf_nlowvt_W3p0_L0p15_4F_valid" { |
| @ keep: s8rf_nlowvt_W3p0_L0p15_4F_valid - s8rf_nlowvt_W3p0_L0p15_4F_valid |
| COPY s8rf_nlowvt_W3p0_L0p15_4F_valid |
| } |
| s8rf_nlowvt_W3p0_L0p15_4F_invalid = s8rf_nlowvt_W3p0_L0p15_4F NOT (exemptDecaps OR s8rf_nlowvt_W3p0_L0p15_4F_valid) |
| "r_592_Poly.X.1" { |
| @ Poly.X.1: This s8rf_nlowvt_W3p0_L0p15_4F device has an invalid W/L. Please see MRGA |
| COPY s8rf_nlowvt_W3p0_L0p15_4F_invalid |
| } |
| fnpass_L_0_15 = LENGTH ("fnpass" COINCIDENT INSIDE EDGE diff) == 0.15 |
| "k_172_fnpass_L_0_15" { |
| @ keep: fnpass_L_0_15 - fnpass_L_0_15 |
| COPY fnpass_L_0_15 |
| } |
| //fnpass_L_0_15_W_0_35_tmp = INTERNAL fnpass_L_0_15 == 0.35 OPPOSITE PARALLEL ONLY REGION |
| //fnpass_L_0_15_W_0_35 = (WITH TEXT "fnpass" "dummy_poly" textlabel) OR fnpass_L_0_15_W_0_35_tmp |
| fnpass_L_0_15_W_0_45_tmp = INTERNAL fnpass_L_0_15 == 0.45 OPPOSITE PARALLEL ONLY REGION |
| fnpass_L_0_15_W_0_45 = (WITH TEXT "fnpass" "dummy_poly" textlabel) OR fnpass_L_0_15_W_0_45_tmp |
| fnpass_valid = COPY fnpass_L_0_15_W_0_45 |
| "k_173_fnpass_valid" { |
| @ keep: fnpass_valid - fnpass_valid |
| COPY fnpass_valid |
| } |
| fnpass_invalid = fnpass NOT (exemptDecaps OR fnpass_valid) |
| "r_593_Poly.X.1" { |
| @ Poly.X.1: This fnpass device has an invalid W/L. Please see MRGA |
| COPY fnpass_invalid |
| } |
| s8rf_nlowvt_W1p65_L0p15_M4_b = rfGate AND (EXTENT CELL "s8rf_nlowvt_W1p65_L0p15_M4_b") |
| "k_174_s8rf_nlowvt_W1p65_L0p15_M4_b" { |
| @ keep: s8rf_nlowvt_W1p65_L0p15_M4_b - s8rf_nlowvt_W1p65_L0p15_M4_b |
| COPY s8rf_nlowvt_W1p65_L0p15_M4_b |
| } |
| s8rf_nlowvt_W1p65_L0p15_M4_b_L_0_15 = LENGTH (s8rf_nlowvt_W1p65_L0p15_M4_b COINCIDENT INSIDE EDGE diff) == 0.15 |
| "k_175_s8rf_nlowvt_W1p65_L0p15_M4_b_L_0_15" { |
| @ keep: s8rf_nlowvt_W1p65_L0p15_M4_b_L_0_15 - s8rf_nlowvt_W1p65_L0p15_M4_b_L_0_15 |
| COPY s8rf_nlowvt_W1p65_L0p15_M4_b_L_0_15 |
| } |
| s8rf_nlowvt_W1p65_L0p15_M4_b_L_0_15_W_1_65_tmp = INTERNAL s8rf_nlowvt_W1p65_L0p15_M4_b_L_0_15 == 1.65 OPPOSITE PARALLEL ONLY REGION |
| s8rf_nlowvt_W1p65_L0p15_M4_b_L_0_15_W_1_65 = (WITH TEXT s8rf_nlowvt_W1p65_L0p15_M4_b "dummy_poly" textlabel) OR s8rf_nlowvt_W1p65_L0p15_M4_b_L_0_15_W_1_65_tmp |
| s8rf_nlowvt_W1p65_L0p15_M4_b_valid = COPY s8rf_nlowvt_W1p65_L0p15_M4_b_L_0_15_W_1_65 |
| "k_176_s8rf_nlowvt_W1p65_L0p15_M4_b_valid" { |
| @ keep: s8rf_nlowvt_W1p65_L0p15_M4_b_valid - s8rf_nlowvt_W1p65_L0p15_M4_b_valid |
| COPY s8rf_nlowvt_W1p65_L0p15_M4_b_valid |
| } |
| s8rf_nlowvt_W1p65_L0p15_M4_b_invalid = s8rf_nlowvt_W1p65_L0p15_M4_b NOT (exemptDecaps OR s8rf_nlowvt_W1p65_L0p15_M4_b_valid) |
| "r_594_Poly.X.1" { |
| @ Poly.X.1: This s8rf_nlowvt_W1p65_L0p15_M4_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_nlowvt_W1p65_L0p15_M4_b_invalid |
| } |
| s8rf_nlowvt_W3p0_L0p18_M4_b = rfGate AND (EXTENT CELL "s8rf_nlowvt_W3p0_L0p18_M4_b") |
| "k_177_s8rf_nlowvt_W3p0_L0p18_M4_b" { |
| @ keep: s8rf_nlowvt_W3p0_L0p18_M4_b - s8rf_nlowvt_W3p0_L0p18_M4_b |
| COPY s8rf_nlowvt_W3p0_L0p18_M4_b |
| } |
| s8rf_nlowvt_W3p0_L0p18_M4_b_L_0_18 = LENGTH (s8rf_nlowvt_W3p0_L0p18_M4_b COINCIDENT INSIDE EDGE diff) == 0.18 |
| "k_178_s8rf_nlowvt_W3p0_L0p18_M4_b_L_0_18" { |
| @ keep: s8rf_nlowvt_W3p0_L0p18_M4_b_L_0_18 - s8rf_nlowvt_W3p0_L0p18_M4_b_L_0_18 |
| COPY s8rf_nlowvt_W3p0_L0p18_M4_b_L_0_18 |
| } |
| s8rf_nlowvt_W3p0_L0p18_M4_b_L_0_18_W_3_01_tmp = INTERNAL s8rf_nlowvt_W3p0_L0p18_M4_b_L_0_18 == 3.01 OPPOSITE PARALLEL ONLY REGION |
| s8rf_nlowvt_W3p0_L0p18_M4_b_L_0_18_W_3_01 = (WITH TEXT s8rf_nlowvt_W3p0_L0p18_M4_b "dummy_poly" textlabel) OR s8rf_nlowvt_W3p0_L0p18_M4_b_L_0_18_W_3_01_tmp |
| s8rf_nlowvt_W3p0_L0p18_M4_b_valid = COPY s8rf_nlowvt_W3p0_L0p18_M4_b_L_0_18_W_3_01 |
| "k_179_s8rf_nlowvt_W3p0_L0p18_M4_b_valid" { |
| @ keep: s8rf_nlowvt_W3p0_L0p18_M4_b_valid - s8rf_nlowvt_W3p0_L0p18_M4_b_valid |
| COPY s8rf_nlowvt_W3p0_L0p18_M4_b_valid |
| } |
| s8rf_nlowvt_W3p0_L0p18_M4_b_invalid = s8rf_nlowvt_W3p0_L0p18_M4_b NOT (exemptDecaps OR s8rf_nlowvt_W3p0_L0p18_M4_b_valid) |
| "r_595_Poly.X.1" { |
| @ Poly.X.1: This s8rf_nlowvt_W3p0_L0p18_M4_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_nlowvt_W3p0_L0p18_M4_b_invalid |
| } |
| s8rf_nlowvt_W3p0_L0p15_8F = rfGate AND (EXTENT CELL "s8rf_nlowvt_W3p0_L0p15_8F") |
| "k_180_s8rf_nlowvt_W3p0_L0p15_8F" { |
| @ keep: s8rf_nlowvt_W3p0_L0p15_8F - s8rf_nlowvt_W3p0_L0p15_8F |
| COPY s8rf_nlowvt_W3p0_L0p15_8F |
| } |
| s8rf_nlowvt_W3p0_L0p15_8F_L_0_15 = LENGTH (s8rf_nlowvt_W3p0_L0p15_8F COINCIDENT INSIDE EDGE diff) == 0.15 |
| "k_181_s8rf_nlowvt_W3p0_L0p15_8F_L_0_15" { |
| @ keep: s8rf_nlowvt_W3p0_L0p15_8F_L_0_15 - s8rf_nlowvt_W3p0_L0p15_8F_L_0_15 |
| COPY s8rf_nlowvt_W3p0_L0p15_8F_L_0_15 |
| } |
| s8rf_nlowvt_W3p0_L0p15_8F_L_0_15_W_3_00_tmp = INTERNAL s8rf_nlowvt_W3p0_L0p15_8F_L_0_15 == 3.0 OPPOSITE PARALLEL ONLY REGION |
| s8rf_nlowvt_W3p0_L0p15_8F_L_0_15_W_3_00 = (WITH TEXT s8rf_nlowvt_W3p0_L0p15_8F "dummy_poly" textlabel) OR s8rf_nlowvt_W3p0_L0p15_8F_L_0_15_W_3_00_tmp |
| s8rf_nlowvt_W3p0_L0p15_8F_valid = COPY s8rf_nlowvt_W3p0_L0p15_8F_L_0_15_W_3_00 |
| "k_182_s8rf_nlowvt_W3p0_L0p15_8F_valid" { |
| @ keep: s8rf_nlowvt_W3p0_L0p15_8F_valid - s8rf_nlowvt_W3p0_L0p15_8F_valid |
| COPY s8rf_nlowvt_W3p0_L0p15_8F_valid |
| } |
| s8rf_nlowvt_W3p0_L0p15_8F_invalid = s8rf_nlowvt_W3p0_L0p15_8F NOT (exemptDecaps OR s8rf_nlowvt_W3p0_L0p15_8F_valid) |
| "r_596_Poly.X.1" { |
| @ Poly.X.1: This s8rf_nlowvt_W3p0_L0p15_8F device has an invalid W/L. Please see MRGA |
| COPY s8rf_nlowvt_W3p0_L0p15_8F_invalid |
| } |
| s8rf_nlowvt_W3p0_L0p15_M4_b = rfGate AND (EXTENT CELL "s8rf_nlowvt_W3p0_L0p15_M4_b") |
| "k_183_s8rf_nlowvt_W3p0_L0p15_M4_b" { |
| @ keep: s8rf_nlowvt_W3p0_L0p15_M4_b - s8rf_nlowvt_W3p0_L0p15_M4_b |
| COPY s8rf_nlowvt_W3p0_L0p15_M4_b |
| } |
| s8rf_nlowvt_W3p0_L0p15_M4_b_L_0_15 = LENGTH (s8rf_nlowvt_W3p0_L0p15_M4_b COINCIDENT INSIDE EDGE diff) == 0.15 |
| "k_184_s8rf_nlowvt_W3p0_L0p15_M4_b_L_0_15" { |
| @ keep: s8rf_nlowvt_W3p0_L0p15_M4_b_L_0_15 - s8rf_nlowvt_W3p0_L0p15_M4_b_L_0_15 |
| COPY s8rf_nlowvt_W3p0_L0p15_M4_b_L_0_15 |
| } |
| s8rf_nlowvt_W3p0_L0p15_M4_b_L_0_15_W_3_01_tmp = INTERNAL s8rf_nlowvt_W3p0_L0p15_M4_b_L_0_15 == 3.01 OPPOSITE PARALLEL ONLY REGION |
| s8rf_nlowvt_W3p0_L0p15_M4_b_L_0_15_W_3_01 = (WITH TEXT s8rf_nlowvt_W3p0_L0p15_M4_b "dummy_poly" textlabel) OR s8rf_nlowvt_W3p0_L0p15_M4_b_L_0_15_W_3_01_tmp |
| s8rf_nlowvt_W3p0_L0p15_M4_b_valid = COPY s8rf_nlowvt_W3p0_L0p15_M4_b_L_0_15_W_3_01 |
| "k_185_s8rf_nlowvt_W3p0_L0p15_M4_b_valid" { |
| @ keep: s8rf_nlowvt_W3p0_L0p15_M4_b_valid - s8rf_nlowvt_W3p0_L0p15_M4_b_valid |
| COPY s8rf_nlowvt_W3p0_L0p15_M4_b_valid |
| } |
| s8rf_nlowvt_W3p0_L0p15_M4_b_invalid = s8rf_nlowvt_W3p0_L0p15_M4_b NOT (exemptDecaps OR s8rf_nlowvt_W3p0_L0p15_M4_b_valid) |
| "r_597_Poly.X.1" { |
| @ Poly.X.1: This s8rf_nlowvt_W3p0_L0p15_M4_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_nlowvt_W3p0_L0p15_M4_b_invalid |
| } |
| s8rf_nlowvt_W3p0_L0p25_M4_b = rfGate AND (EXTENT CELL "s8rf_nlowvt_W3p0_L0p25_M4_b") |
| "k_186_s8rf_nlowvt_W3p0_L0p25_M4_b" { |
| @ keep: s8rf_nlowvt_W3p0_L0p25_M4_b - s8rf_nlowvt_W3p0_L0p25_M4_b |
| COPY s8rf_nlowvt_W3p0_L0p25_M4_b |
| } |
| s8rf_nlowvt_W3p0_L0p25_M4_b_L_0_25 = LENGTH (s8rf_nlowvt_W3p0_L0p25_M4_b COINCIDENT INSIDE EDGE diff) == 0.25 |
| "k_187_s8rf_nlowvt_W3p0_L0p25_M4_b_L_0_25" { |
| @ keep: s8rf_nlowvt_W3p0_L0p25_M4_b_L_0_25 - s8rf_nlowvt_W3p0_L0p25_M4_b_L_0_25 |
| COPY s8rf_nlowvt_W3p0_L0p25_M4_b_L_0_25 |
| } |
| s8rf_nlowvt_W3p0_L0p25_M4_b_L_0_25_W_3_01_tmp = INTERNAL s8rf_nlowvt_W3p0_L0p25_M4_b_L_0_25 == 3.01 OPPOSITE PARALLEL ONLY REGION |
| s8rf_nlowvt_W3p0_L0p25_M4_b_L_0_25_W_3_01 = (WITH TEXT s8rf_nlowvt_W3p0_L0p25_M4_b "dummy_poly" textlabel) OR s8rf_nlowvt_W3p0_L0p25_M4_b_L_0_25_W_3_01_tmp |
| s8rf_nlowvt_W3p0_L0p25_M4_b_valid = COPY s8rf_nlowvt_W3p0_L0p25_M4_b_L_0_25_W_3_01 |
| "k_188_s8rf_nlowvt_W3p0_L0p25_M4_b_valid" { |
| @ keep: s8rf_nlowvt_W3p0_L0p25_M4_b_valid - s8rf_nlowvt_W3p0_L0p25_M4_b_valid |
| COPY s8rf_nlowvt_W3p0_L0p25_M4_b_valid |
| } |
| s8rf_nlowvt_W3p0_L0p25_M4_b_invalid = s8rf_nlowvt_W3p0_L0p25_M4_b NOT (exemptDecaps OR s8rf_nlowvt_W3p0_L0p25_M4_b_valid) |
| "r_598_Poly.X.1" { |
| @ Poly.X.1: This s8rf_nlowvt_W3p0_L0p25_M4_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_nlowvt_W3p0_L0p25_M4_b_invalid |
| } |
| s8rf_nlowvt_W3p0_L0p15_M2_b = rfGate AND (EXTENT CELL "s8rf_nlowvt_W3p0_L0p15_M2_b") |
| "k_189_s8rf_nlowvt_W3p0_L0p15_M2_b" { |
| @ keep: s8rf_nlowvt_W3p0_L0p15_M2_b - s8rf_nlowvt_W3p0_L0p15_M2_b |
| COPY s8rf_nlowvt_W3p0_L0p15_M2_b |
| } |
| s8rf_nlowvt_W3p0_L0p15_M2_b_L_0_15 = LENGTH (s8rf_nlowvt_W3p0_L0p15_M2_b COINCIDENT INSIDE EDGE diff) == 0.15 |
| "k_190_s8rf_nlowvt_W3p0_L0p15_M2_b_L_0_15" { |
| @ keep: s8rf_nlowvt_W3p0_L0p15_M2_b_L_0_15 - s8rf_nlowvt_W3p0_L0p15_M2_b_L_0_15 |
| COPY s8rf_nlowvt_W3p0_L0p15_M2_b_L_0_15 |
| } |
| s8rf_nlowvt_W3p0_L0p15_M2_b_L_0_15_W_3_01_tmp = INTERNAL s8rf_nlowvt_W3p0_L0p15_M2_b_L_0_15 == 3.01 OPPOSITE PARALLEL ONLY REGION |
| s8rf_nlowvt_W3p0_L0p15_M2_b_L_0_15_W_3_01 = (WITH TEXT s8rf_nlowvt_W3p0_L0p15_M2_b "dummy_poly" textlabel) OR s8rf_nlowvt_W3p0_L0p15_M2_b_L_0_15_W_3_01_tmp |
| s8rf_nlowvt_W3p0_L0p15_M2_b_valid = COPY s8rf_nlowvt_W3p0_L0p15_M2_b_L_0_15_W_3_01 |
| "k_191_s8rf_nlowvt_W3p0_L0p15_M2_b_valid" { |
| @ keep: s8rf_nlowvt_W3p0_L0p15_M2_b_valid - s8rf_nlowvt_W3p0_L0p15_M2_b_valid |
| COPY s8rf_nlowvt_W3p0_L0p15_M2_b_valid |
| } |
| s8rf_nlowvt_W3p0_L0p15_M2_b_invalid = s8rf_nlowvt_W3p0_L0p15_M2_b NOT (exemptDecaps OR s8rf_nlowvt_W3p0_L0p15_M2_b_valid) |
| "r_599_Poly.X.1" { |
| @ Poly.X.1: This s8rf_nlowvt_W3p0_L0p15_M2_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_nlowvt_W3p0_L0p15_M2_b_invalid |
| } |
| s8rf_nlowvt_W5p0_L0p15_M2_b = rfGate AND (EXTENT CELL "s8rf_nlowvt_W5p0_L0p15_M2_b") |
| "k_192_s8rf_nlowvt_W5p0_L0p15_M2_b" { |
| @ keep: s8rf_nlowvt_W5p0_L0p15_M2_b - s8rf_nlowvt_W5p0_L0p15_M2_b |
| COPY s8rf_nlowvt_W5p0_L0p15_M2_b |
| } |
| s8rf_nlowvt_W5p0_L0p15_M2_b_L_0_15 = LENGTH (s8rf_nlowvt_W5p0_L0p15_M2_b COINCIDENT INSIDE EDGE diff) == 0.15 |
| "k_193_s8rf_nlowvt_W5p0_L0p15_M2_b_L_0_15" { |
| @ keep: s8rf_nlowvt_W5p0_L0p15_M2_b_L_0_15 - s8rf_nlowvt_W5p0_L0p15_M2_b_L_0_15 |
| COPY s8rf_nlowvt_W5p0_L0p15_M2_b_L_0_15 |
| } |
| s8rf_nlowvt_W5p0_L0p15_M2_b_L_0_15_W_5_05_tmp = INTERNAL s8rf_nlowvt_W5p0_L0p15_M2_b_L_0_15 == 5.05 OPPOSITE PARALLEL ONLY REGION |
| s8rf_nlowvt_W5p0_L0p15_M2_b_L_0_15_W_5_05 = (WITH TEXT s8rf_nlowvt_W5p0_L0p15_M2_b "dummy_poly" textlabel) OR s8rf_nlowvt_W5p0_L0p15_M2_b_L_0_15_W_5_05_tmp |
| s8rf_nlowvt_W5p0_L0p15_M2_b_valid = COPY s8rf_nlowvt_W5p0_L0p15_M2_b_L_0_15_W_5_05 |
| "k_194_s8rf_nlowvt_W5p0_L0p15_M2_b_valid" { |
| @ keep: s8rf_nlowvt_W5p0_L0p15_M2_b_valid - s8rf_nlowvt_W5p0_L0p15_M2_b_valid |
| COPY s8rf_nlowvt_W5p0_L0p15_M2_b_valid |
| } |
| s8rf_nlowvt_W5p0_L0p15_M2_b_invalid = s8rf_nlowvt_W5p0_L0p15_M2_b NOT (exemptDecaps OR s8rf_nlowvt_W5p0_L0p15_M2_b_valid) |
| "r_600_Poly.X.1" { |
| @ Poly.X.1: This s8rf_nlowvt_W5p0_L0p15_M2_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_nlowvt_W5p0_L0p15_M2_b_invalid |
| } |
| s8rf_nlowvt_W0p84_L0p15_4F = rfGate AND (EXTENT CELL "s8rf_nlowvt_W0p84_L0p15_4F") |
| "k_195_s8rf_nlowvt_W0p84_L0p15_4F" { |
| @ keep: s8rf_nlowvt_W0p84_L0p15_4F - s8rf_nlowvt_W0p84_L0p15_4F |
| COPY s8rf_nlowvt_W0p84_L0p15_4F |
| } |
| s8rf_nlowvt_W0p84_L0p15_4F_L_0_15 = LENGTH (s8rf_nlowvt_W0p84_L0p15_4F COINCIDENT INSIDE EDGE diff) == 0.15 |
| "k_196_s8rf_nlowvt_W0p84_L0p15_4F_L_0_15" { |
| @ keep: s8rf_nlowvt_W0p84_L0p15_4F_L_0_15 - s8rf_nlowvt_W0p84_L0p15_4F_L_0_15 |
| COPY s8rf_nlowvt_W0p84_L0p15_4F_L_0_15 |
| } |
| s8rf_nlowvt_W0p84_L0p15_4F_L_0_15_W_0_84_tmp = INTERNAL s8rf_nlowvt_W0p84_L0p15_4F_L_0_15 == 0.84 OPPOSITE PARALLEL ONLY REGION |
| s8rf_nlowvt_W0p84_L0p15_4F_L_0_15_W_0_84 = (WITH TEXT s8rf_nlowvt_W0p84_L0p15_4F "dummy_poly" textlabel) OR s8rf_nlowvt_W0p84_L0p15_4F_L_0_15_W_0_84_tmp |
| s8rf_nlowvt_W0p84_L0p15_4F_valid = COPY s8rf_nlowvt_W0p84_L0p15_4F_L_0_15_W_0_84 |
| "k_197_s8rf_nlowvt_W0p84_L0p15_4F_valid" { |
| @ keep: s8rf_nlowvt_W0p84_L0p15_4F_valid - s8rf_nlowvt_W0p84_L0p15_4F_valid |
| COPY s8rf_nlowvt_W0p84_L0p15_4F_valid |
| } |
| s8rf_nlowvt_W0p84_L0p15_4F_invalid = s8rf_nlowvt_W0p84_L0p15_4F NOT (exemptDecaps OR s8rf_nlowvt_W0p84_L0p15_4F_valid) |
| "r_601_Poly.X.1" { |
| @ Poly.X.1: This s8rf_nlowvt_W0p84_L0p15_4F device has an invalid W/L. Please see MRGA |
| COPY s8rf_nlowvt_W0p84_L0p15_4F_invalid |
| } |
| s8rf_nshort_W3p0_L0p18_M4_b = rfGate AND (EXTENT CELL "s8rf_nshort_W3p0_L0p18_M4_b") |
| "k_198_s8rf_nshort_W3p0_L0p18_M4_b" { |
| @ keep: s8rf_nshort_W3p0_L0p18_M4_b - s8rf_nshort_W3p0_L0p18_M4_b |
| COPY s8rf_nshort_W3p0_L0p18_M4_b |
| } |
| s8rf_nshort_W3p0_L0p18_M4_b_L_0_18 = LENGTH (s8rf_nshort_W3p0_L0p18_M4_b COINCIDENT INSIDE EDGE diff) == 0.18 |
| "k_199_s8rf_nshort_W3p0_L0p18_M4_b_L_0_18" { |
| @ keep: s8rf_nshort_W3p0_L0p18_M4_b_L_0_18 - s8rf_nshort_W3p0_L0p18_M4_b_L_0_18 |
| COPY s8rf_nshort_W3p0_L0p18_M4_b_L_0_18 |
| } |
| s8rf_nshort_W3p0_L0p18_M4_b_L_0_18_W_3_01_tmp = INTERNAL s8rf_nshort_W3p0_L0p18_M4_b_L_0_18 == 3.01 OPPOSITE PARALLEL ONLY REGION |
| s8rf_nshort_W3p0_L0p18_M4_b_L_0_18_W_3_01 = (WITH TEXT s8rf_nshort_W3p0_L0p18_M4_b "dummy_poly" textlabel) OR s8rf_nshort_W3p0_L0p18_M4_b_L_0_18_W_3_01_tmp |
| s8rf_nshort_W3p0_L0p18_M4_b_valid = COPY s8rf_nshort_W3p0_L0p18_M4_b_L_0_18_W_3_01 |
| "k_200_s8rf_nshort_W3p0_L0p18_M4_b_valid" { |
| @ keep: s8rf_nshort_W3p0_L0p18_M4_b_valid - s8rf_nshort_W3p0_L0p18_M4_b_valid |
| COPY s8rf_nshort_W3p0_L0p18_M4_b_valid |
| } |
| s8rf_nshort_W3p0_L0p18_M4_b_invalid = s8rf_nshort_W3p0_L0p18_M4_b NOT (exemptDecaps OR s8rf_nshort_W3p0_L0p18_M4_b_valid) |
| "r_602_Poly.X.1" { |
| @ Poly.X.1: This s8rf_nshort_W3p0_L0p18_M4_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_nshort_W3p0_L0p18_M4_b_invalid |
| } |
| s8rf_nshort_W5p0_L0p18_M2_b = rfGate AND (EXTENT CELL "s8rf_nshort_W5p0_L0p18_M2_b") |
| "k_201_s8rf_nshort_W5p0_L0p18_M2_b" { |
| @ keep: s8rf_nshort_W5p0_L0p18_M2_b - s8rf_nshort_W5p0_L0p18_M2_b |
| COPY s8rf_nshort_W5p0_L0p18_M2_b |
| } |
| s8rf_nshort_W5p0_L0p18_M2_b_L_0_18 = LENGTH (s8rf_nshort_W5p0_L0p18_M2_b COINCIDENT INSIDE EDGE diff) == 0.18 |
| "k_202_s8rf_nshort_W5p0_L0p18_M2_b_L_0_18" { |
| @ keep: s8rf_nshort_W5p0_L0p18_M2_b_L_0_18 - s8rf_nshort_W5p0_L0p18_M2_b_L_0_18 |
| COPY s8rf_nshort_W5p0_L0p18_M2_b_L_0_18 |
| } |
| s8rf_nshort_W5p0_L0p18_M2_b_L_0_18_W_5_05_tmp = INTERNAL s8rf_nshort_W5p0_L0p18_M2_b_L_0_18 == 5.05 OPPOSITE PARALLEL ONLY REGION |
| s8rf_nshort_W5p0_L0p18_M2_b_L_0_18_W_5_05 = (WITH TEXT s8rf_nshort_W5p0_L0p18_M2_b "dummy_poly" textlabel) OR s8rf_nshort_W5p0_L0p18_M2_b_L_0_18_W_5_05_tmp |
| s8rf_nshort_W5p0_L0p18_M2_b_valid = COPY s8rf_nshort_W5p0_L0p18_M2_b_L_0_18_W_5_05 |
| "k_203_s8rf_nshort_W5p0_L0p18_M2_b_valid" { |
| @ keep: s8rf_nshort_W5p0_L0p18_M2_b_valid - s8rf_nshort_W5p0_L0p18_M2_b_valid |
| COPY s8rf_nshort_W5p0_L0p18_M2_b_valid |
| } |
| s8rf_nshort_W5p0_L0p18_M2_b_invalid = s8rf_nshort_W5p0_L0p18_M2_b NOT (exemptDecaps OR s8rf_nshort_W5p0_L0p18_M2_b_valid) |
| "r_603_Poly.X.1" { |
| @ Poly.X.1: This s8rf_nshort_W5p0_L0p18_M2_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_nshort_W5p0_L0p18_M2_b_invalid |
| } |
| s8rf_nshort_W5p0_L0p25_M2_b = rfGate AND (EXTENT CELL "s8rf_nshort_W5p0_L0p25_M2_b") |
| "k_204_s8rf_nshort_W5p0_L0p25_M2_b" { |
| @ keep: s8rf_nshort_W5p0_L0p25_M2_b - s8rf_nshort_W5p0_L0p25_M2_b |
| COPY s8rf_nshort_W5p0_L0p25_M2_b |
| } |
| s8rf_nshort_W5p0_L0p25_M2_b_L_0_25 = LENGTH (s8rf_nshort_W5p0_L0p25_M2_b COINCIDENT INSIDE EDGE diff) == 0.25 |
| "k_205_s8rf_nshort_W5p0_L0p25_M2_b_L_0_25" { |
| @ keep: s8rf_nshort_W5p0_L0p25_M2_b_L_0_25 - s8rf_nshort_W5p0_L0p25_M2_b_L_0_25 |
| COPY s8rf_nshort_W5p0_L0p25_M2_b_L_0_25 |
| } |
| s8rf_nshort_W5p0_L0p25_M2_b_L_0_25_W_5_05_tmp = INTERNAL s8rf_nshort_W5p0_L0p25_M2_b_L_0_25 == 5.05 OPPOSITE PARALLEL ONLY REGION |
| s8rf_nshort_W5p0_L0p25_M2_b_L_0_25_W_5_05 = (WITH TEXT s8rf_nshort_W5p0_L0p25_M2_b "dummy_poly" textlabel) OR s8rf_nshort_W5p0_L0p25_M2_b_L_0_25_W_5_05_tmp |
| s8rf_nshort_W5p0_L0p25_M2_b_valid = COPY s8rf_nshort_W5p0_L0p25_M2_b_L_0_25_W_5_05 |
| "k_206_s8rf_nshort_W5p0_L0p25_M2_b_valid" { |
| @ keep: s8rf_nshort_W5p0_L0p25_M2_b_valid - s8rf_nshort_W5p0_L0p25_M2_b_valid |
| COPY s8rf_nshort_W5p0_L0p25_M2_b_valid |
| } |
| s8rf_nshort_W5p0_L0p25_M2_b_invalid = s8rf_nshort_W5p0_L0p25_M2_b NOT (exemptDecaps OR s8rf_nshort_W5p0_L0p25_M2_b_valid) |
| "r_604_Poly.X.1" { |
| @ Poly.X.1: This s8rf_nshort_W5p0_L0p25_M2_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_nshort_W5p0_L0p25_M2_b_invalid |
| } |
| nlowvt_L_0_15 = LENGTH ("nlowvt" COINCIDENT INSIDE EDGE diff) == 0.15 |
| "k_207_nlowvt_L_0_15" { |
| @ keep: nlowvt_L_0_15 - nlowvt_L_0_15 |
| COPY nlowvt_L_0_15 |
| } |
| nlowvt_L_0_15_W_0_42_tmp = INTERNAL nlowvt_L_0_15 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| nlowvt_L_0_15_W_0_42 = (WITH TEXT "nlowvt" "dummy_poly" textlabel) OR nlowvt_L_0_15_W_0_42_tmp |
| nlowvt_L_0_15_W_0_55_tmp = INTERNAL nlowvt_L_0_15 == 0.55 OPPOSITE PARALLEL ONLY REGION |
| nlowvt_L_0_15_W_0_55 = (WITH TEXT "nlowvt" "dummy_poly" textlabel) OR nlowvt_L_0_15_W_0_55_tmp |
| nlowvt_L_0_15_W_0_64_tmp = INTERNAL nlowvt_L_0_15 == 0.64 OPPOSITE PARALLEL ONLY REGION |
| nlowvt_L_0_15_W_0_64 = (WITH TEXT "nlowvt" "dummy_poly" textlabel) OR nlowvt_L_0_15_W_0_64_tmp |
| nlowvt_L_0_15_W_0_74_tmp = INTERNAL nlowvt_L_0_15 == 0.74 OPPOSITE PARALLEL ONLY REGION |
| nlowvt_L_0_15_W_0_74 = (WITH TEXT "nlowvt" "dummy_poly" textlabel) OR nlowvt_L_0_15_W_0_74_tmp |
| nlowvt_L_0_15_W_0_84_tmp = INTERNAL nlowvt_L_0_15 == 0.84 OPPOSITE PARALLEL ONLY REGION |
| nlowvt_L_0_15_W_0_84 = (WITH TEXT "nlowvt" "dummy_poly" textlabel) OR nlowvt_L_0_15_W_0_84_tmp |
| nlowvt_L_0_15_W_1_00_tmp = INTERNAL nlowvt_L_0_15 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| nlowvt_L_0_15_W_1_00 = (WITH TEXT "nlowvt" "dummy_poly" textlabel) OR nlowvt_L_0_15_W_1_00_tmp |
| nlowvt_L_0_15_W_1_65_tmp = INTERNAL nlowvt_L_0_15 == 1.65 OPPOSITE PARALLEL ONLY REGION |
| nlowvt_L_0_15_W_1_65 = (WITH TEXT "nlowvt" "dummy_poly" textlabel) OR nlowvt_L_0_15_W_1_65_tmp |
| nlowvt_L_0_15_W_3_00_tmp = INTERNAL nlowvt_L_0_15 == 3.0 OPPOSITE PARALLEL ONLY REGION |
| nlowvt_L_0_15_W_3_00 = (WITH TEXT "nlowvt" "dummy_poly" textlabel) OR nlowvt_L_0_15_W_3_00_tmp |
| nlowvt_L_0_15_W_3_01_tmp = INTERNAL nlowvt_L_0_15 == 3.01 OPPOSITE PARALLEL ONLY REGION |
| nlowvt_L_0_15_W_3_01 = (WITH TEXT "nlowvt" "dummy_poly" textlabel) OR nlowvt_L_0_15_W_3_01_tmp |
| nlowvt_L_0_15_W_5_00_tmp = INTERNAL nlowvt_L_0_15 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| nlowvt_L_0_15_W_5_00 = (WITH TEXT "nlowvt" "dummy_poly" textlabel) OR nlowvt_L_0_15_W_5_00_tmp |
| nlowvt_L_0_15_W_5_05_tmp = INTERNAL nlowvt_L_0_15 == 5.05 OPPOSITE PARALLEL ONLY REGION |
| nlowvt_L_0_15_W_5_05 = (WITH TEXT "nlowvt" "dummy_poly" textlabel) OR nlowvt_L_0_15_W_5_05_tmp |
| nlowvt_L_0_15_W_7_00_tmp = INTERNAL nlowvt_L_0_15 == 7.0 OPPOSITE PARALLEL ONLY REGION |
| nlowvt_L_0_15_W_7_00 = (WITH TEXT "nlowvt" "dummy_poly" textlabel) OR nlowvt_L_0_15_W_7_00_tmp |
| nlowvt_L_0_18 = LENGTH ("nlowvt" COINCIDENT INSIDE EDGE diff) == 0.18 |
| "k_208_nlowvt_L_0_18" { |
| @ keep: nlowvt_L_0_18 - nlowvt_L_0_18 |
| COPY nlowvt_L_0_18 |
| } |
| nlowvt_L_0_18_W_0_42_tmp = INTERNAL nlowvt_L_0_18 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| nlowvt_L_0_18_W_0_42 = (WITH TEXT "nlowvt" "dummy_poly" textlabel) OR nlowvt_L_0_18_W_0_42_tmp |
| nlowvt_L_0_18_W_1_00_tmp = INTERNAL nlowvt_L_0_18 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| nlowvt_L_0_18_W_1_00 = (WITH TEXT "nlowvt" "dummy_poly" textlabel) OR nlowvt_L_0_18_W_1_00_tmp |
| nlowvt_L_0_18_W_3_00_tmp = INTERNAL nlowvt_L_0_18 == 3.0 OPPOSITE PARALLEL ONLY REGION |
| nlowvt_L_0_18_W_3_00 = (WITH TEXT "nlowvt" "dummy_poly" textlabel) OR nlowvt_L_0_18_W_3_00_tmp |
| nlowvt_L_0_18_W_5_00_tmp = INTERNAL nlowvt_L_0_18 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| nlowvt_L_0_18_W_5_00 = (WITH TEXT "nlowvt" "dummy_poly" textlabel) OR nlowvt_L_0_18_W_5_00_tmp |
| nlowvt_L_0_18_W_7_00_tmp = INTERNAL nlowvt_L_0_18 == 7.0 OPPOSITE PARALLEL ONLY REGION |
| nlowvt_L_0_18_W_7_00 = (WITH TEXT "nlowvt" "dummy_poly" textlabel) OR nlowvt_L_0_18_W_7_00_tmp |
| nlowvt_L_0_25 = LENGTH ("nlowvt" COINCIDENT INSIDE EDGE diff) == 0.25 |
| "k_209_nlowvt_L_0_25" { |
| @ keep: nlowvt_L_0_25 - nlowvt_L_0_25 |
| COPY nlowvt_L_0_25 |
| } |
| nlowvt_L_0_25_W_1_00_tmp = INTERNAL nlowvt_L_0_25 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| nlowvt_L_0_25_W_1_00 = (WITH TEXT "nlowvt" "dummy_poly" textlabel) OR nlowvt_L_0_25_W_1_00_tmp |
| nlowvt_L_0_25_W_3_00_tmp = INTERNAL nlowvt_L_0_25 == 3.0 OPPOSITE PARALLEL ONLY REGION |
| nlowvt_L_0_25_W_3_00 = (WITH TEXT "nlowvt" "dummy_poly" textlabel) OR nlowvt_L_0_25_W_3_00_tmp |
| nlowvt_L_0_25_W_5_00_tmp = INTERNAL nlowvt_L_0_25 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| nlowvt_L_0_25_W_5_00 = (WITH TEXT "nlowvt" "dummy_poly" textlabel) OR nlowvt_L_0_25_W_5_00_tmp |
| nlowvt_L_0_25_W_5_05_tmp = INTERNAL nlowvt_L_0_25 == 5.05 OPPOSITE PARALLEL ONLY REGION |
| nlowvt_L_0_25_W_5_05 = (WITH TEXT "nlowvt" "dummy_poly" textlabel) OR nlowvt_L_0_25_W_5_05_tmp |
| nlowvt_L_0_25_W_7_00_tmp = INTERNAL nlowvt_L_0_25 == 7.0 OPPOSITE PARALLEL ONLY REGION |
| nlowvt_L_0_25_W_7_00 = (WITH TEXT "nlowvt" "dummy_poly" textlabel) OR nlowvt_L_0_25_W_7_00_tmp |
| nlowvt_L_0_50 = LENGTH ("nlowvt" COINCIDENT INSIDE EDGE diff) == 0.5 |
| "k_210_nlowvt_L_0_50" { |
| @ keep: nlowvt_L_0_50 - nlowvt_L_0_50 |
| COPY nlowvt_L_0_50 |
| } |
| nlowvt_L_0_50_W_1_00_tmp = INTERNAL nlowvt_L_0_50 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| nlowvt_L_0_50_W_1_00 = (WITH TEXT "nlowvt" "dummy_poly" textlabel) OR nlowvt_L_0_50_W_1_00_tmp |
| nlowvt_L_0_50_W_3_00_tmp = INTERNAL nlowvt_L_0_50 == 3.0 OPPOSITE PARALLEL ONLY REGION |
| nlowvt_L_0_50_W_3_00 = (WITH TEXT "nlowvt" "dummy_poly" textlabel) OR nlowvt_L_0_50_W_3_00_tmp |
| nlowvt_L_0_50_W_5_00_tmp = INTERNAL nlowvt_L_0_50 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| nlowvt_L_0_50_W_5_00 = (WITH TEXT "nlowvt" "dummy_poly" textlabel) OR nlowvt_L_0_50_W_5_00_tmp |
| nlowvt_L_0_50_W_7_00_tmp = INTERNAL nlowvt_L_0_50 == 7.0 OPPOSITE PARALLEL ONLY REGION |
| nlowvt_L_0_50_W_7_00 = (WITH TEXT "nlowvt" "dummy_poly" textlabel) OR nlowvt_L_0_50_W_7_00_tmp |
| nlowvt_L_1_00 = LENGTH ("nlowvt" COINCIDENT INSIDE EDGE diff) == 1.0 |
| "k_211_nlowvt_L_1_00" { |
| @ keep: nlowvt_L_1_00 - nlowvt_L_1_00 |
| COPY nlowvt_L_1_00 |
| } |
| nlowvt_L_1_00_W_0_42_tmp = INTERNAL nlowvt_L_1_00 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| nlowvt_L_1_00_W_0_42 = (WITH TEXT "nlowvt" "dummy_poly" textlabel) OR nlowvt_L_1_00_W_0_42_tmp |
| nlowvt_L_1_00_W_1_00_tmp = INTERNAL nlowvt_L_1_00 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| nlowvt_L_1_00_W_1_00 = (WITH TEXT "nlowvt" "dummy_poly" textlabel) OR nlowvt_L_1_00_W_1_00_tmp |
| nlowvt_L_1_00_W_3_00_tmp = INTERNAL nlowvt_L_1_00 == 3.0 OPPOSITE PARALLEL ONLY REGION |
| nlowvt_L_1_00_W_3_00 = (WITH TEXT "nlowvt" "dummy_poly" textlabel) OR nlowvt_L_1_00_W_3_00_tmp |
| nlowvt_L_1_00_W_5_00_tmp = INTERNAL nlowvt_L_1_00 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| nlowvt_L_1_00_W_5_00 = (WITH TEXT "nlowvt" "dummy_poly" textlabel) OR nlowvt_L_1_00_W_5_00_tmp |
| nlowvt_L_1_00_W_7_00_tmp = INTERNAL nlowvt_L_1_00 == 7.0 OPPOSITE PARALLEL ONLY REGION |
| nlowvt_L_1_00_W_7_00 = (WITH TEXT "nlowvt" "dummy_poly" textlabel) OR nlowvt_L_1_00_W_7_00_tmp |
| nlowvt_L_2_00 = LENGTH ("nlowvt" COINCIDENT INSIDE EDGE diff) == 2.0 |
| "k_212_nlowvt_L_2_00" { |
| @ keep: nlowvt_L_2_00 - nlowvt_L_2_00 |
| COPY nlowvt_L_2_00 |
| } |
| nlowvt_L_2_00_W_1_00_tmp = INTERNAL nlowvt_L_2_00 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| nlowvt_L_2_00_W_1_00 = (WITH TEXT "nlowvt" "dummy_poly" textlabel) OR nlowvt_L_2_00_W_1_00_tmp |
| nlowvt_L_2_00_W_3_00_tmp = INTERNAL nlowvt_L_2_00 == 3.0 OPPOSITE PARALLEL ONLY REGION |
| nlowvt_L_2_00_W_3_00 = (WITH TEXT "nlowvt" "dummy_poly" textlabel) OR nlowvt_L_2_00_W_3_00_tmp |
| nlowvt_L_2_00_W_5_00_tmp = INTERNAL nlowvt_L_2_00 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| nlowvt_L_2_00_W_5_00 = (WITH TEXT "nlowvt" "dummy_poly" textlabel) OR nlowvt_L_2_00_W_5_00_tmp |
| nlowvt_L_2_00_W_7_00_tmp = INTERNAL nlowvt_L_2_00 == 7.0 OPPOSITE PARALLEL ONLY REGION |
| nlowvt_L_2_00_W_7_00 = (WITH TEXT "nlowvt" "dummy_poly" textlabel) OR nlowvt_L_2_00_W_7_00_tmp |
| nlowvt_L_4_00 = LENGTH ("nlowvt" COINCIDENT INSIDE EDGE diff) == 4.0 |
| "k_213_nlowvt_L_4_00" { |
| @ keep: nlowvt_L_4_00 - nlowvt_L_4_00 |
| COPY nlowvt_L_4_00 |
| } |
| nlowvt_L_4_00_W_1_00_tmp = INTERNAL nlowvt_L_4_00 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| nlowvt_L_4_00_W_1_00 = (WITH TEXT "nlowvt" "dummy_poly" textlabel) OR nlowvt_L_4_00_W_1_00_tmp |
| nlowvt_L_4_00_W_3_00_tmp = INTERNAL nlowvt_L_4_00 == 3.0 OPPOSITE PARALLEL ONLY REGION |
| nlowvt_L_4_00_W_3_00 = (WITH TEXT "nlowvt" "dummy_poly" textlabel) OR nlowvt_L_4_00_W_3_00_tmp |
| nlowvt_L_4_00_W_5_00_tmp = INTERNAL nlowvt_L_4_00 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| nlowvt_L_4_00_W_5_00 = (WITH TEXT "nlowvt" "dummy_poly" textlabel) OR nlowvt_L_4_00_W_5_00_tmp |
| nlowvt_L_6_00 = LENGTH ("nlowvt" COINCIDENT INSIDE EDGE diff) == 6.0 |
| "k_214_nlowvt_L_6_00" { |
| @ keep: nlowvt_L_6_00 - nlowvt_L_6_00 |
| COPY nlowvt_L_6_00 |
| } |
| nlowvt_L_6_00_W_1_600_tmp = INTERNAL nlowvt_L_6_00 == 1.6 OPPOSITE PARALLEL ONLY REGION |
| nlowvt_L_6_00_W_1_600 = (WITH TEXT "nlowvt" "dummy_poly" textlabel) OR nlowvt_L_6_00_W_1_600_tmp |
| nlowvt_L_6_00_W_1_635_tmp = INTERNAL nlowvt_L_6_00 == 1.635 OPPOSITE PARALLEL ONLY REGION |
| nlowvt_L_6_00_W_1_635 = (WITH TEXT "nlowvt" "dummy_poly" textlabel) OR nlowvt_L_6_00_W_1_635_tmp |
| nlowvt_L_6_00_W_1_795_tmp = INTERNAL nlowvt_L_6_00 == 1.795 OPPOSITE PARALLEL ONLY REGION |
| nlowvt_L_6_00_W_1_795 = (WITH TEXT "nlowvt" "dummy_poly" textlabel) OR nlowvt_L_6_00_W_1_795_tmp |
| nlowvt_L_6_00_W_1_840_tmp = INTERNAL nlowvt_L_6_00 == 1.84 OPPOSITE PARALLEL ONLY REGION |
| nlowvt_L_6_00_W_1_840 = (WITH TEXT "nlowvt" "dummy_poly" textlabel) OR nlowvt_L_6_00_W_1_840_tmp |
| nlowvt_L_6_00_W_1_925_tmp = INTERNAL nlowvt_L_6_00 == 1.925 OPPOSITE PARALLEL ONLY REGION |
| nlowvt_L_6_00_W_1_925 = (WITH TEXT "nlowvt" "dummy_poly" textlabel) OR nlowvt_L_6_00_W_1_925_tmp |
| nlowvt_L_6_00_W_1_935_tmp = INTERNAL nlowvt_L_6_00 == 1.935 OPPOSITE PARALLEL ONLY REGION |
| nlowvt_L_6_00_W_1_935 = (WITH TEXT "nlowvt" "dummy_poly" textlabel) OR nlowvt_L_6_00_W_1_935_tmp |
| nlowvt_L_6_00_W_2_040_tmp = INTERNAL nlowvt_L_6_00 == 2.04 OPPOSITE PARALLEL ONLY REGION |
| nlowvt_L_6_00_W_2_040 = (WITH TEXT "nlowvt" "dummy_poly" textlabel) OR nlowvt_L_6_00_W_2_040_tmp |
| nlowvt_L_6_00_W_2_080_tmp = INTERNAL nlowvt_L_6_00 == 2.08 OPPOSITE PARALLEL ONLY REGION |
| nlowvt_L_6_00_W_2_080 = (WITH TEXT "nlowvt" "dummy_poly" textlabel) OR nlowvt_L_6_00_W_2_080_tmp |
| nlowvt_L_6_00_W_2_210_tmp = INTERNAL nlowvt_L_6_00 == 2.21 OPPOSITE PARALLEL ONLY REGION |
| nlowvt_L_6_00_W_2_210 = (WITH TEXT "nlowvt" "dummy_poly" textlabel) OR nlowvt_L_6_00_W_2_210_tmp |
| nlowvt_L_6_00_W_2_425_tmp = INTERNAL nlowvt_L_6_00 == 2.425 OPPOSITE PARALLEL ONLY REGION |
| nlowvt_L_6_00_W_2_425 = (WITH TEXT "nlowvt" "dummy_poly" textlabel) OR nlowvt_L_6_00_W_2_425_tmp |
| nlowvt_L_6_00_W_2_440_tmp = INTERNAL nlowvt_L_6_00 == 2.44 OPPOSITE PARALLEL ONLY REGION |
| nlowvt_L_6_00_W_2_440 = (WITH TEXT "nlowvt" "dummy_poly" textlabel) OR nlowvt_L_6_00_W_2_440_tmp |
| nlowvt_L_6_00_W_2_505_tmp = INTERNAL nlowvt_L_6_00 == 2.505 OPPOSITE PARALLEL ONLY REGION |
| nlowvt_L_6_00_W_2_505 = (WITH TEXT "nlowvt" "dummy_poly" textlabel) OR nlowvt_L_6_00_W_2_505_tmp |
| nlowvt_L_6_00_W_2_540_tmp = INTERNAL nlowvt_L_6_00 == 2.54 OPPOSITE PARALLEL ONLY REGION |
| nlowvt_L_6_00_W_2_540 = (WITH TEXT "nlowvt" "dummy_poly" textlabel) OR nlowvt_L_6_00_W_2_540_tmp |
| nlowvt_L_6_00_W_3_670_tmp = INTERNAL nlowvt_L_6_00 == 3.67 OPPOSITE PARALLEL ONLY REGION |
| nlowvt_L_6_00_W_3_670 = (WITH TEXT "nlowvt" "dummy_poly" textlabel) OR nlowvt_L_6_00_W_3_670_tmp |
| nlowvt_L_6_00_W_4_200_tmp = INTERNAL nlowvt_L_6_00 == 4.2 OPPOSITE PARALLEL ONLY REGION |
| nlowvt_L_6_00_W_4_200 = (WITH TEXT "nlowvt" "dummy_poly" textlabel) OR nlowvt_L_6_00_W_4_200_tmp |
| nlowvt_L_6_00_W_4_430_tmp = INTERNAL nlowvt_L_6_00 == 4.43 OPPOSITE PARALLEL ONLY REGION |
| nlowvt_L_6_00_W_4_430 = (WITH TEXT "nlowvt" "dummy_poly" textlabel) OR nlowvt_L_6_00_W_4_430_tmp |
| nlowvt_L_6_00_W_5_00_tmp = INTERNAL nlowvt_L_6_00 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| nlowvt_L_6_00_W_5_00 = (WITH TEXT "nlowvt" "dummy_poly" textlabel) OR nlowvt_L_6_00_W_5_00_tmp |
| nlowvt_L_8_00 = LENGTH ("nlowvt" COINCIDENT INSIDE EDGE diff) == 8.0 |
| "k_215_nlowvt_L_8_00" { |
| @ keep: nlowvt_L_8_00 - nlowvt_L_8_00 |
| COPY nlowvt_L_8_00 |
| } |
| nlowvt_L_8_00_W_7_00_tmp = INTERNAL nlowvt_L_8_00 == 7.0 OPPOSITE PARALLEL ONLY REGION |
| nlowvt_L_8_00_W_7_00 = (WITH TEXT "nlowvt" "dummy_poly" textlabel) OR nlowvt_L_8_00_W_7_00_tmp |
| nlowvt_valid = nlowvt_L_8_00_W_7_00 OR |
| (nlowvt_L_6_00_W_5_00 OR |
| (nlowvt_L_6_00_W_4_430 OR |
| (nlowvt_L_6_00_W_4_200 OR |
| (nlowvt_L_6_00_W_3_670 OR |
| (nlowvt_L_6_00_W_2_540 OR |
| (nlowvt_L_6_00_W_2_505 OR |
| (nlowvt_L_6_00_W_2_440 OR |
| (nlowvt_L_6_00_W_2_425 OR |
| (nlowvt_L_6_00_W_2_210 OR |
| (nlowvt_L_6_00_W_2_080 OR |
| (nlowvt_L_6_00_W_2_040 OR |
| (nlowvt_L_6_00_W_1_935 OR |
| (nlowvt_L_6_00_W_1_925 OR |
| (nlowvt_L_6_00_W_1_840 OR |
| (nlowvt_L_6_00_W_1_795 OR |
| (nlowvt_L_6_00_W_1_635 OR |
| (nlowvt_L_6_00_W_1_600 OR |
| (nlowvt_L_4_00_W_5_00 OR |
| (nlowvt_L_4_00_W_3_00 OR |
| (nlowvt_L_4_00_W_1_00 OR |
| (nlowvt_L_2_00_W_7_00 OR |
| (nlowvt_L_2_00_W_5_00 OR |
| (nlowvt_L_2_00_W_3_00 OR |
| (nlowvt_L_2_00_W_1_00 OR |
| (nlowvt_L_1_00_W_7_00 OR |
| (nlowvt_L_1_00_W_5_00 OR |
| (nlowvt_L_1_00_W_3_00 OR |
| (nlowvt_L_1_00_W_1_00 OR |
| (nlowvt_L_1_00_W_0_42 OR |
| (nlowvt_L_0_50_W_7_00 OR |
| (nlowvt_L_0_50_W_5_00 OR |
| (nlowvt_L_0_50_W_3_00 OR |
| (nlowvt_L_0_50_W_1_00 OR |
| (nlowvt_L_0_25_W_7_00 OR |
| (nlowvt_L_0_25_W_5_05 OR |
| (nlowvt_L_0_25_W_5_00 OR |
| (nlowvt_L_0_25_W_3_00 OR |
| (nlowvt_L_0_25_W_1_00 OR |
| (nlowvt_L_0_18_W_7_00 OR |
| (nlowvt_L_0_18_W_5_00 OR |
| (nlowvt_L_0_18_W_3_00 OR |
| (nlowvt_L_0_18_W_1_00 OR |
| (nlowvt_L_0_18_W_0_42 OR |
| (nlowvt_L_0_15_W_7_00 OR |
| (nlowvt_L_0_15_W_5_05 OR |
| (nlowvt_L_0_15_W_5_00 OR |
| (nlowvt_L_0_15_W_3_01 OR |
| (nlowvt_L_0_15_W_3_00 OR |
| (nlowvt_L_0_15_W_1_65 OR |
| (nlowvt_L_0_15_W_1_00 OR |
| (nlowvt_L_0_15_W_0_84 OR |
| (nlowvt_L_0_15_W_0_74 OR |
| (nlowvt_L_0_15_W_0_64 OR |
| (nlowvt_L_0_15_W_0_55 OR nlowvt_L_0_15_W_0_42)))))))))))))))))))))))))))))))))))))))))))))))))))))) |
| "k_216_nlowvt_valid" { |
| @ keep: nlowvt_valid - nlowvt_valid |
| COPY nlowvt_valid |
| } |
| nlowvt_invalid = nlowvt NOT (exemptDecaps OR nlowvt_valid) |
| "r_605_Poly.X.1" { |
| @ Poly.X.1: This nlowvt device has an invalid W/L. Please see MRGA |
| COPY nlowvt_invalid |
| } |
| s8rf_nshort_W3p0_L0p25_M2_b = rfGate AND (EXTENT CELL "s8rf_nshort_W3p0_L0p25_M2_b") |
| "k_217_s8rf_nshort_W3p0_L0p25_M2_b" { |
| @ keep: s8rf_nshort_W3p0_L0p25_M2_b - s8rf_nshort_W3p0_L0p25_M2_b |
| COPY s8rf_nshort_W3p0_L0p25_M2_b |
| } |
| s8rf_nshort_W3p0_L0p25_M2_b_L_0_25 = LENGTH (s8rf_nshort_W3p0_L0p25_M2_b COINCIDENT INSIDE EDGE diff) == 0.25 |
| "k_218_s8rf_nshort_W3p0_L0p25_M2_b_L_0_25" { |
| @ keep: s8rf_nshort_W3p0_L0p25_M2_b_L_0_25 - s8rf_nshort_W3p0_L0p25_M2_b_L_0_25 |
| COPY s8rf_nshort_W3p0_L0p25_M2_b_L_0_25 |
| } |
| s8rf_nshort_W3p0_L0p25_M2_b_L_0_25_W_3_01_tmp = INTERNAL s8rf_nshort_W3p0_L0p25_M2_b_L_0_25 == 3.01 OPPOSITE PARALLEL ONLY REGION |
| s8rf_nshort_W3p0_L0p25_M2_b_L_0_25_W_3_01 = (WITH TEXT s8rf_nshort_W3p0_L0p25_M2_b "dummy_poly" textlabel) OR s8rf_nshort_W3p0_L0p25_M2_b_L_0_25_W_3_01_tmp |
| s8rf_nshort_W3p0_L0p25_M2_b_valid = COPY s8rf_nshort_W3p0_L0p25_M2_b_L_0_25_W_3_01 |
| "k_219_s8rf_nshort_W3p0_L0p25_M2_b_valid" { |
| @ keep: s8rf_nshort_W3p0_L0p25_M2_b_valid - s8rf_nshort_W3p0_L0p25_M2_b_valid |
| COPY s8rf_nshort_W3p0_L0p25_M2_b_valid |
| } |
| s8rf_nshort_W3p0_L0p25_M2_b_invalid = s8rf_nshort_W3p0_L0p25_M2_b NOT (exemptDecaps OR s8rf_nshort_W3p0_L0p25_M2_b_valid) |
| "r_606_Poly.X.1" { |
| @ Poly.X.1: This s8rf_nshort_W3p0_L0p25_M2_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_nshort_W3p0_L0p25_M2_b_invalid |
| } |
| |
| //sonos_e_L_0_15 = LENGTH ("sonos_e" COINCIDENT INSIDE EDGE diff) == 0.15 |
| //"k_220_sonos_e_L_0_15" { |
| // @ keep: sonos_e_L_0_15 - sonos_e_L_0_15 |
| // COPY sonos_e_L_0_15 |
| // } |
| //sonos_e_L_0_15_W_0_35_tmp = INTERNAL sonos_e_L_0_15 == 0.35 OPPOSITE PARALLEL ONLY REGION |
| //sonos_e_L_0_15_W_0_35 = (WITH TEXT "sonos_e" "dummy_poly" textlabel) OR sonos_e_L_0_15_W_0_35_tmp |
| |
| sonos_e_L_0_22 = LENGTH ("sonos_e" COINCIDENT INSIDE EDGE diff) == 0.22 |
| "k_220_sonos_e_L_0_22" { |
| @ keep: sonos_e_L_0_22 - sonos_e_L_0_22 |
| COPY sonos_e_L_0_22 |
| } |
| sonos_e_L_0_22_W_0_45_tmp = INTERNAL sonos_e_L_0_22 == 0.45 OPPOSITE PARALLEL ONLY REGION |
| sonos_e_L_0_22_W_0_45 = (WITH TEXT "sonos_e" "dummy_poly" textlabel) OR sonos_e_L_0_22_W_0_45_tmp |
| |
| sonos_e_L_0_50 = LENGTH ("sonos_e" COINCIDENT INSIDE EDGE diff) == 0.5 |
| "k_221_sonos_e_L_0_50" { |
| @ keep: sonos_e_L_0_50 - sonos_e_L_0_50 |
| COPY sonos_e_L_0_50 |
| } |
| sonos_e_L_0_50_W_1_00_tmp = INTERNAL sonos_e_L_0_50 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| sonos_e_L_0_50_W_1_00 = (WITH TEXT "sonos_e" "dummy_poly" textlabel) OR sonos_e_L_0_50_W_1_00_tmp |
| sonos_e_valid = sonos_e_L_0_50_W_1_00 OR sonos_e_L_0_22_W_0_45 |
| "k_222_sonos_e_valid" { |
| @ keep: sonos_e_valid - sonos_e_valid |
| COPY sonos_e_valid |
| } |
| sonos_e_invalid = sonos_e NOT (exemptDecaps OR sonos_e_valid) |
| "r_607_Poly.X.1" { |
| @ Poly.X.1: This sonos_e device has an invalid W/L. Please see MRGA |
| COPY sonos_e_invalid |
| } |
| s8rf_nshort_W5p0_L0p15_M4_b = rfGate AND (EXTENT CELL "s8rf_nshort_W5p0_L0p15_M4_b") |
| "k_223_s8rf_nshort_W5p0_L0p15_M4_b" { |
| @ keep: s8rf_nshort_W5p0_L0p15_M4_b - s8rf_nshort_W5p0_L0p15_M4_b |
| COPY s8rf_nshort_W5p0_L0p15_M4_b |
| } |
| s8rf_nshort_W5p0_L0p15_M4_b_L_0_15 = LENGTH (s8rf_nshort_W5p0_L0p15_M4_b COINCIDENT INSIDE EDGE diff) == 0.15 |
| "k_224_s8rf_nshort_W5p0_L0p15_M4_b_L_0_15" { |
| @ keep: s8rf_nshort_W5p0_L0p15_M4_b_L_0_15 - s8rf_nshort_W5p0_L0p15_M4_b_L_0_15 |
| COPY s8rf_nshort_W5p0_L0p15_M4_b_L_0_15 |
| } |
| s8rf_nshort_W5p0_L0p15_M4_b_L_0_15_W_5_05_tmp = INTERNAL s8rf_nshort_W5p0_L0p15_M4_b_L_0_15 == 5.05 OPPOSITE PARALLEL ONLY REGION |
| s8rf_nshort_W5p0_L0p15_M4_b_L_0_15_W_5_05 = (WITH TEXT s8rf_nshort_W5p0_L0p15_M4_b "dummy_poly" textlabel) OR s8rf_nshort_W5p0_L0p15_M4_b_L_0_15_W_5_05_tmp |
| s8rf_nshort_W5p0_L0p15_M4_b_valid = COPY s8rf_nshort_W5p0_L0p15_M4_b_L_0_15_W_5_05 |
| "k_225_s8rf_nshort_W5p0_L0p15_M4_b_valid" { |
| @ keep: s8rf_nshort_W5p0_L0p15_M4_b_valid - s8rf_nshort_W5p0_L0p15_M4_b_valid |
| COPY s8rf_nshort_W5p0_L0p15_M4_b_valid |
| } |
| s8rf_nshort_W5p0_L0p15_M4_b_invalid = s8rf_nshort_W5p0_L0p15_M4_b NOT (exemptDecaps OR s8rf_nshort_W5p0_L0p15_M4_b_valid) |
| "r_608_Poly.X.1" { |
| @ Poly.X.1: This s8rf_nshort_W5p0_L0p15_M4_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_nshort_W5p0_L0p15_M4_b_invalid |
| } |
| s8rf_nhv_W3p0_L0p5_M4_b = rfGate AND (EXTENT CELL "s8rf_nhv_W3p0_L0p5_M4_b") |
| "k_226_s8rf_nhv_W3p0_L0p5_M4_b" { |
| @ keep: s8rf_nhv_W3p0_L0p5_M4_b - s8rf_nhv_W3p0_L0p5_M4_b |
| COPY s8rf_nhv_W3p0_L0p5_M4_b |
| } |
| s8rf_nhv_W3p0_L0p5_M4_b_L_0_50 = LENGTH (s8rf_nhv_W3p0_L0p5_M4_b COINCIDENT INSIDE EDGE diff) == 0.5 |
| "k_227_s8rf_nhv_W3p0_L0p5_M4_b_L_0_50" { |
| @ keep: s8rf_nhv_W3p0_L0p5_M4_b_L_0_50 - s8rf_nhv_W3p0_L0p5_M4_b_L_0_50 |
| COPY s8rf_nhv_W3p0_L0p5_M4_b_L_0_50 |
| } |
| s8rf_nhv_W3p0_L0p5_M4_b_L_0_50_W_3_01_tmp = INTERNAL s8rf_nhv_W3p0_L0p5_M4_b_L_0_50 == 3.01 OPPOSITE PARALLEL ONLY REGION |
| s8rf_nhv_W3p0_L0p5_M4_b_L_0_50_W_3_01 = (WITH TEXT s8rf_nhv_W3p0_L0p5_M4_b "dummy_poly" textlabel) OR s8rf_nhv_W3p0_L0p5_M4_b_L_0_50_W_3_01_tmp |
| s8rf_nhv_W3p0_L0p5_M4_b_valid = COPY s8rf_nhv_W3p0_L0p5_M4_b_L_0_50_W_3_01 |
| "k_228_s8rf_nhv_W3p0_L0p5_M4_b_valid" { |
| @ keep: s8rf_nhv_W3p0_L0p5_M4_b_valid - s8rf_nhv_W3p0_L0p5_M4_b_valid |
| COPY s8rf_nhv_W3p0_L0p5_M4_b_valid |
| } |
| s8rf_nhv_W3p0_L0p5_M4_b_invalid = s8rf_nhv_W3p0_L0p5_M4_b NOT (exemptDecaps OR s8rf_nhv_W3p0_L0p5_M4_b_valid) |
| "r_609_Poly.X.1" { |
| @ Poly.X.1: This s8rf_nhv_W3p0_L0p5_M4_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_nhv_W3p0_L0p5_M4_b_invalid |
| } |
| s8rf_nlowvt_W3p0_L0p18_M2_b = rfGate AND (EXTENT CELL "s8rf_nlowvt_W3p0_L0p18_M2_b") |
| "k_229_s8rf_nlowvt_W3p0_L0p18_M2_b" { |
| @ keep: s8rf_nlowvt_W3p0_L0p18_M2_b - s8rf_nlowvt_W3p0_L0p18_M2_b |
| COPY s8rf_nlowvt_W3p0_L0p18_M2_b |
| } |
| s8rf_nlowvt_W3p0_L0p18_M2_b_L_0_18 = LENGTH (s8rf_nlowvt_W3p0_L0p18_M2_b COINCIDENT INSIDE EDGE diff) == 0.18 |
| "k_230_s8rf_nlowvt_W3p0_L0p18_M2_b_L_0_18" { |
| @ keep: s8rf_nlowvt_W3p0_L0p18_M2_b_L_0_18 - s8rf_nlowvt_W3p0_L0p18_M2_b_L_0_18 |
| COPY s8rf_nlowvt_W3p0_L0p18_M2_b_L_0_18 |
| } |
| s8rf_nlowvt_W3p0_L0p18_M2_b_L_0_18_W_3_01_tmp = INTERNAL s8rf_nlowvt_W3p0_L0p18_M2_b_L_0_18 == 3.01 OPPOSITE PARALLEL ONLY REGION |
| s8rf_nlowvt_W3p0_L0p18_M2_b_L_0_18_W_3_01 = (WITH TEXT s8rf_nlowvt_W3p0_L0p18_M2_b "dummy_poly" textlabel) OR s8rf_nlowvt_W3p0_L0p18_M2_b_L_0_18_W_3_01_tmp |
| s8rf_nlowvt_W3p0_L0p18_M2_b_valid = COPY s8rf_nlowvt_W3p0_L0p18_M2_b_L_0_18_W_3_01 |
| "k_231_s8rf_nlowvt_W3p0_L0p18_M2_b_valid" { |
| @ keep: s8rf_nlowvt_W3p0_L0p18_M2_b_valid - s8rf_nlowvt_W3p0_L0p18_M2_b_valid |
| COPY s8rf_nlowvt_W3p0_L0p18_M2_b_valid |
| } |
| s8rf_nlowvt_W3p0_L0p18_M2_b_invalid = s8rf_nlowvt_W3p0_L0p18_M2_b NOT (exemptDecaps OR s8rf_nlowvt_W3p0_L0p18_M2_b_valid) |
| "r_610_Poly.X.1" { |
| @ Poly.X.1: This s8rf_nlowvt_W3p0_L0p18_M2_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_nlowvt_W3p0_L0p18_M2_b_invalid |
| } |
| s8rf_nshort_W1p65_L0p25_M4_b = rfGate AND (EXTENT CELL "s8rf_nshort_W1p65_L0p25_M4_b") |
| "k_232_s8rf_nshort_W1p65_L0p25_M4_b" { |
| @ keep: s8rf_nshort_W1p65_L0p25_M4_b - s8rf_nshort_W1p65_L0p25_M4_b |
| COPY s8rf_nshort_W1p65_L0p25_M4_b |
| } |
| s8rf_nshort_W1p65_L0p25_M4_b_L_0_25 = LENGTH (s8rf_nshort_W1p65_L0p25_M4_b COINCIDENT INSIDE EDGE diff) == 0.25 |
| "k_233_s8rf_nshort_W1p65_L0p25_M4_b_L_0_25" { |
| @ keep: s8rf_nshort_W1p65_L0p25_M4_b_L_0_25 - s8rf_nshort_W1p65_L0p25_M4_b_L_0_25 |
| COPY s8rf_nshort_W1p65_L0p25_M4_b_L_0_25 |
| } |
| s8rf_nshort_W1p65_L0p25_M4_b_L_0_25_W_1_65_tmp = INTERNAL s8rf_nshort_W1p65_L0p25_M4_b_L_0_25 == 1.65 OPPOSITE PARALLEL ONLY REGION |
| s8rf_nshort_W1p65_L0p25_M4_b_L_0_25_W_1_65 = (WITH TEXT s8rf_nshort_W1p65_L0p25_M4_b "dummy_poly" textlabel) OR s8rf_nshort_W1p65_L0p25_M4_b_L_0_25_W_1_65_tmp |
| s8rf_nshort_W1p65_L0p25_M4_b_valid = COPY s8rf_nshort_W1p65_L0p25_M4_b_L_0_25_W_1_65 |
| "k_234_s8rf_nshort_W1p65_L0p25_M4_b_valid" { |
| @ keep: s8rf_nshort_W1p65_L0p25_M4_b_valid - s8rf_nshort_W1p65_L0p25_M4_b_valid |
| COPY s8rf_nshort_W1p65_L0p25_M4_b_valid |
| } |
| s8rf_nshort_W1p65_L0p25_M4_b_invalid = s8rf_nshort_W1p65_L0p25_M4_b NOT (exemptDecaps OR s8rf_nshort_W1p65_L0p25_M4_b_valid) |
| "r_611_Poly.X.1" { |
| @ Poly.X.1: This s8rf_nshort_W1p65_L0p25_M4_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_nshort_W1p65_L0p25_M4_b_invalid |
| } |
| s8rf_nshort_W3p0_L0p15_M2_b = rfGate AND (EXTENT CELL "s8rf_nshort_W3p0_L0p15_M2_b") |
| "k_235_s8rf_nshort_W3p0_L0p15_M2_b" { |
| @ keep: s8rf_nshort_W3p0_L0p15_M2_b - s8rf_nshort_W3p0_L0p15_M2_b |
| COPY s8rf_nshort_W3p0_L0p15_M2_b |
| } |
| s8rf_nshort_W3p0_L0p15_M2_b_L_0_15 = LENGTH (s8rf_nshort_W3p0_L0p15_M2_b COINCIDENT INSIDE EDGE diff) == 0.15 |
| "k_236_s8rf_nshort_W3p0_L0p15_M2_b_L_0_15" { |
| @ keep: s8rf_nshort_W3p0_L0p15_M2_b_L_0_15 - s8rf_nshort_W3p0_L0p15_M2_b_L_0_15 |
| COPY s8rf_nshort_W3p0_L0p15_M2_b_L_0_15 |
| } |
| s8rf_nshort_W3p0_L0p15_M2_b_L_0_15_W_3_01_tmp = INTERNAL s8rf_nshort_W3p0_L0p15_M2_b_L_0_15 == 3.01 OPPOSITE PARALLEL ONLY REGION |
| s8rf_nshort_W3p0_L0p15_M2_b_L_0_15_W_3_01 = (WITH TEXT s8rf_nshort_W3p0_L0p15_M2_b "dummy_poly" textlabel) OR s8rf_nshort_W3p0_L0p15_M2_b_L_0_15_W_3_01_tmp |
| s8rf_nshort_W3p0_L0p15_M2_b_valid = COPY s8rf_nshort_W3p0_L0p15_M2_b_L_0_15_W_3_01 |
| "k_237_s8rf_nshort_W3p0_L0p15_M2_b_valid" { |
| @ keep: s8rf_nshort_W3p0_L0p15_M2_b_valid - s8rf_nshort_W3p0_L0p15_M2_b_valid |
| COPY s8rf_nshort_W3p0_L0p15_M2_b_valid |
| } |
| s8rf_nshort_W3p0_L0p15_M2_b_invalid = s8rf_nshort_W3p0_L0p15_M2_b NOT (exemptDecaps OR s8rf_nshort_W3p0_L0p15_M2_b_valid) |
| "r_612_Poly.X.1" { |
| @ Poly.X.1: This s8rf_nshort_W3p0_L0p15_M2_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_nshort_W3p0_L0p15_M2_b_invalid |
| } |
| nhv_L_0_50 = LENGTH ("nhv" COINCIDENT INSIDE EDGE diff) == 0.5 |
| "k_238_nhv_L_0_50" { |
| @ keep: nhv_L_0_50 - nhv_L_0_50 |
| COPY nhv_L_0_50 |
| } |
| nhv_L_0_50_W_0_42_tmp = INTERNAL nhv_L_0_50 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| nhv_L_0_50_W_0_42 = (WITH TEXT "nhv" "dummy_poly" textlabel) OR nhv_L_0_50_W_0_42_tmp |
| nhv_L_0_50_W_0_75_tmp = INTERNAL nhv_L_0_50 == 0.75 OPPOSITE PARALLEL ONLY REGION |
| nhv_L_0_50_W_0_75 = (WITH TEXT "nhv" "dummy_poly" textlabel) OR nhv_L_0_50_W_0_75_tmp |
| nhv_L_0_50_W_1_00_tmp = INTERNAL nhv_L_0_50 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| nhv_L_0_50_W_1_00 = (WITH TEXT "nhv" "dummy_poly" textlabel) OR nhv_L_0_50_W_1_00_tmp |
| nhv_L_0_50_W_1_50_tmp = INTERNAL nhv_L_0_50 == 1.5 OPPOSITE PARALLEL ONLY REGION |
| nhv_L_0_50_W_1_50 = (WITH TEXT "nhv" "dummy_poly" textlabel) OR nhv_L_0_50_W_1_50_tmp |
| nhv_L_0_50_W_3_00_tmp = INTERNAL nhv_L_0_50 == 3.0 OPPOSITE PARALLEL ONLY REGION |
| nhv_L_0_50_W_3_00 = (WITH TEXT "nhv" "dummy_poly" textlabel) OR nhv_L_0_50_W_3_00_tmp |
| nhv_L_0_50_W_5_00_tmp = INTERNAL nhv_L_0_50 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| nhv_L_0_50_W_5_00 = (WITH TEXT "nhv" "dummy_poly" textlabel) OR nhv_L_0_50_W_5_00_tmp |
| nhv_L_0_50_W_7_00_tmp = INTERNAL nhv_L_0_50 == 7.0 OPPOSITE PARALLEL ONLY REGION |
| nhv_L_0_50_W_7_00 = (WITH TEXT "nhv" "dummy_poly" textlabel) OR nhv_L_0_50_W_7_00_tmp |
| nhv_L_0_50_W_10_0_tmp = INTERNAL nhv_L_0_50 == 10.0 OPPOSITE PARALLEL ONLY REGION |
| nhv_L_0_50_W_10_0 = (WITH TEXT "nhv" "dummy_poly" textlabel) OR nhv_L_0_50_W_10_0_tmp |
| nhv_L_0_50_W_15_0_tmp = INTERNAL nhv_L_0_50 == 15.0 OPPOSITE PARALLEL ONLY REGION |
| nhv_L_0_50_W_15_0 = (WITH TEXT "nhv" "dummy_poly" textlabel) OR nhv_L_0_50_W_15_0_tmp |
| nhv_L_0_50_W_20_0_tmp = INTERNAL nhv_L_0_50 == 20.0 OPPOSITE PARALLEL ONLY REGION |
| nhv_L_0_50_W_20_0 = (WITH TEXT "nhv" "dummy_poly" textlabel) OR nhv_L_0_50_W_20_0_tmp |
| nhv_L_0_60 = LENGTH ("nhv" COINCIDENT INSIDE EDGE diff) == 0.6 |
| "k_239_nhv_L_0_60" { |
| @ keep: nhv_L_0_60 - nhv_L_0_60 |
| COPY nhv_L_0_60 |
| } |
| nhv_L_0_60_W_0_42_tmp = INTERNAL nhv_L_0_60 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| nhv_L_0_60_W_0_42 = (WITH TEXT "nhv" "dummy_poly" textlabel) OR nhv_L_0_60_W_0_42_tmp |
| nhv_L_0_60_W_0_70_tmp = INTERNAL nhv_L_0_60 == 0.7 OPPOSITE PARALLEL ONLY REGION |
| nhv_L_0_60_W_0_70 = (WITH TEXT "nhv" "dummy_poly" textlabel) OR nhv_L_0_60_W_0_70_tmp |
| nhv_L_0_60_W_1_00_tmp = INTERNAL nhv_L_0_60 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| nhv_L_0_60_W_1_00 = (WITH TEXT "nhv" "dummy_poly" textlabel) OR nhv_L_0_60_W_1_00_tmp |
| nhv_L_0_60_W_3_00_tmp = INTERNAL nhv_L_0_60 == 3.0 OPPOSITE PARALLEL ONLY REGION |
| nhv_L_0_60_W_3_00 = (WITH TEXT "nhv" "dummy_poly" textlabel) OR nhv_L_0_60_W_3_00_tmp |
| nhv_L_0_60_W_5_00_tmp = INTERNAL nhv_L_0_60 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| nhv_L_0_60_W_5_00 = (WITH TEXT "nhv" "dummy_poly" textlabel) OR nhv_L_0_60_W_5_00_tmp |
| nhv_L_0_80 = LENGTH ("nhv" COINCIDENT INSIDE EDGE diff) == 0.8 |
| "k_240_nhv_L_0_80" { |
| @ keep: nhv_L_0_80 - nhv_L_0_80 |
| COPY nhv_L_0_80 |
| } |
| nhv_L_0_80_W_0_42_tmp = INTERNAL nhv_L_0_80 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| nhv_L_0_80_W_0_42 = (WITH TEXT "nhv" "dummy_poly" textlabel) OR nhv_L_0_80_W_0_42_tmp |
| nhv_L_0_80_W_0_75_tmp = INTERNAL nhv_L_0_80 == 0.75 OPPOSITE PARALLEL ONLY REGION |
| nhv_L_0_80_W_0_75 = (WITH TEXT "nhv" "dummy_poly" textlabel) OR nhv_L_0_80_W_0_75_tmp |
| nhv_L_0_80_W_1_00_tmp = INTERNAL nhv_L_0_80 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| nhv_L_0_80_W_1_00 = (WITH TEXT "nhv" "dummy_poly" textlabel) OR nhv_L_0_80_W_1_00_tmp |
| nhv_L_0_80_W_5_00_tmp = INTERNAL nhv_L_0_80 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| nhv_L_0_80_W_5_00 = (WITH TEXT "nhv" "dummy_poly" textlabel) OR nhv_L_0_80_W_5_00_tmp |
| nhv_L_0_80_W_7_00_tmp = INTERNAL nhv_L_0_80 == 7.0 OPPOSITE PARALLEL ONLY REGION |
| nhv_L_0_80_W_7_00 = (WITH TEXT "nhv" "dummy_poly" textlabel) OR nhv_L_0_80_W_7_00_tmp |
| nhv_L_1_00 = LENGTH ("nhv" COINCIDENT INSIDE EDGE diff) == 1.0 |
| "k_241_nhv_L_1_00" { |
| @ keep: nhv_L_1_00 - nhv_L_1_00 |
| COPY nhv_L_1_00 |
| } |
| nhv_L_1_00_W_0_42_tmp = INTERNAL nhv_L_1_00 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| nhv_L_1_00_W_0_42 = (WITH TEXT "nhv" "dummy_poly" textlabel) OR nhv_L_1_00_W_0_42_tmp |
| nhv_L_1_00_W_0_75_tmp = INTERNAL nhv_L_1_00 == 0.75 OPPOSITE PARALLEL ONLY REGION |
| nhv_L_1_00_W_0_75 = (WITH TEXT "nhv" "dummy_poly" textlabel) OR nhv_L_1_00_W_0_75_tmp |
| nhv_L_1_00_W_1_00_tmp = INTERNAL nhv_L_1_00 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| nhv_L_1_00_W_1_00 = (WITH TEXT "nhv" "dummy_poly" textlabel) OR nhv_L_1_00_W_1_00_tmp |
| nhv_L_1_00_W_1_50_tmp = INTERNAL nhv_L_1_00 == 1.5 OPPOSITE PARALLEL ONLY REGION |
| nhv_L_1_00_W_1_50 = (WITH TEXT "nhv" "dummy_poly" textlabel) OR nhv_L_1_00_W_1_50_tmp |
| nhv_L_1_00_W_3_00_tmp = INTERNAL nhv_L_1_00 == 3.0 OPPOSITE PARALLEL ONLY REGION |
| nhv_L_1_00_W_3_00 = (WITH TEXT "nhv" "dummy_poly" textlabel) OR nhv_L_1_00_W_3_00_tmp |
| nhv_L_1_00_W_5_00_tmp = INTERNAL nhv_L_1_00 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| nhv_L_1_00_W_5_00 = (WITH TEXT "nhv" "dummy_poly" textlabel) OR nhv_L_1_00_W_5_00_tmp |
| nhv_L_1_00_W_7_00_tmp = INTERNAL nhv_L_1_00 == 7.0 OPPOSITE PARALLEL ONLY REGION |
| nhv_L_1_00_W_7_00 = (WITH TEXT "nhv" "dummy_poly" textlabel) OR nhv_L_1_00_W_7_00_tmp |
| nhv_L_1_00_W_15_0_tmp = INTERNAL nhv_L_1_00 == 15.0 OPPOSITE PARALLEL ONLY REGION |
| nhv_L_1_00_W_15_0 = (WITH TEXT "nhv" "dummy_poly" textlabel) OR nhv_L_1_00_W_15_0_tmp |
| nhv_L_1_00_W_20_0_tmp = INTERNAL nhv_L_1_00 == 20.0 OPPOSITE PARALLEL ONLY REGION |
| nhv_L_1_00_W_20_0 = (WITH TEXT "nhv" "dummy_poly" textlabel) OR nhv_L_1_00_W_20_0_tmp |
| nhv_L_2_00 = LENGTH ("nhv" COINCIDENT INSIDE EDGE diff) == 2.0 |
| "k_242_nhv_L_2_00" { |
| @ keep: nhv_L_2_00 - nhv_L_2_00 |
| COPY nhv_L_2_00 |
| } |
| nhv_L_2_00_W_0_42_tmp = INTERNAL nhv_L_2_00 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| nhv_L_2_00_W_0_42 = (WITH TEXT "nhv" "dummy_poly" textlabel) OR nhv_L_2_00_W_0_42_tmp |
| nhv_L_2_00_W_0_75_tmp = INTERNAL nhv_L_2_00 == 0.75 OPPOSITE PARALLEL ONLY REGION |
| nhv_L_2_00_W_0_75 = (WITH TEXT "nhv" "dummy_poly" textlabel) OR nhv_L_2_00_W_0_75_tmp |
| nhv_L_2_00_W_1_00_tmp = INTERNAL nhv_L_2_00 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| nhv_L_2_00_W_1_00 = (WITH TEXT "nhv" "dummy_poly" textlabel) OR nhv_L_2_00_W_1_00_tmp |
| nhv_L_2_00_W_1_50_tmp = INTERNAL nhv_L_2_00 == 1.5 OPPOSITE PARALLEL ONLY REGION |
| nhv_L_2_00_W_1_50 = (WITH TEXT "nhv" "dummy_poly" textlabel) OR nhv_L_2_00_W_1_50_tmp |
| nhv_L_2_00_W_3_00_tmp = INTERNAL nhv_L_2_00 == 3.0 OPPOSITE PARALLEL ONLY REGION |
| nhv_L_2_00_W_3_00 = (WITH TEXT "nhv" "dummy_poly" textlabel) OR nhv_L_2_00_W_3_00_tmp |
| nhv_L_2_00_W_5_00_tmp = INTERNAL nhv_L_2_00 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| nhv_L_2_00_W_5_00 = (WITH TEXT "nhv" "dummy_poly" textlabel) OR nhv_L_2_00_W_5_00_tmp |
| nhv_L_2_00_W_7_00_tmp = INTERNAL nhv_L_2_00 == 7.0 OPPOSITE PARALLEL ONLY REGION |
| nhv_L_2_00_W_7_00 = (WITH TEXT "nhv" "dummy_poly" textlabel) OR nhv_L_2_00_W_7_00_tmp |
| nhv_L_4_00 = LENGTH ("nhv" COINCIDENT INSIDE EDGE diff) == 4.0 |
| "k_243_nhv_L_4_00" { |
| @ keep: nhv_L_4_00 - nhv_L_4_00 |
| COPY nhv_L_4_00 |
| } |
| nhv_L_4_00_W_0_42_tmp = INTERNAL nhv_L_4_00 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| nhv_L_4_00_W_0_42 = (WITH TEXT "nhv" "dummy_poly" textlabel) OR nhv_L_4_00_W_0_42_tmp |
| nhv_L_4_00_W_0_75_tmp = INTERNAL nhv_L_4_00 == 0.75 OPPOSITE PARALLEL ONLY REGION |
| nhv_L_4_00_W_0_75 = (WITH TEXT "nhv" "dummy_poly" textlabel) OR nhv_L_4_00_W_0_75_tmp |
| nhv_L_4_00_W_1_00_tmp = INTERNAL nhv_L_4_00 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| nhv_L_4_00_W_1_00 = (WITH TEXT "nhv" "dummy_poly" textlabel) OR nhv_L_4_00_W_1_00_tmp |
| nhv_L_4_00_W_1_50_tmp = INTERNAL nhv_L_4_00 == 1.5 OPPOSITE PARALLEL ONLY REGION |
| nhv_L_4_00_W_1_50 = (WITH TEXT "nhv" "dummy_poly" textlabel) OR nhv_L_4_00_W_1_50_tmp |
| nhv_L_4_00_W_3_00_tmp = INTERNAL nhv_L_4_00 == 3.0 OPPOSITE PARALLEL ONLY REGION |
| nhv_L_4_00_W_3_00 = (WITH TEXT "nhv" "dummy_poly" textlabel) OR nhv_L_4_00_W_3_00_tmp |
| nhv_L_4_00_W_5_00_tmp = INTERNAL nhv_L_4_00 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| nhv_L_4_00_W_5_00 = (WITH TEXT "nhv" "dummy_poly" textlabel) OR nhv_L_4_00_W_5_00_tmp |
| nhv_L_4_00_W_7_00_tmp = INTERNAL nhv_L_4_00 == 7.0 OPPOSITE PARALLEL ONLY REGION |
| nhv_L_4_00_W_7_00 = (WITH TEXT "nhv" "dummy_poly" textlabel) OR nhv_L_4_00_W_7_00_tmp |
| nhv_L_8_00 = LENGTH ("nhv" COINCIDENT INSIDE EDGE diff) == 8.0 |
| "k_244_nhv_L_8_00" { |
| @ keep: nhv_L_8_00 - nhv_L_8_00 |
| COPY nhv_L_8_00 |
| } |
| nhv_L_8_00_W_0_42_tmp = INTERNAL nhv_L_8_00 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| nhv_L_8_00_W_0_42 = (WITH TEXT "nhv" "dummy_poly" textlabel) OR nhv_L_8_00_W_0_42_tmp |
| nhv_L_8_00_W_1_00_tmp = INTERNAL nhv_L_8_00 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| nhv_L_8_00_W_1_00 = (WITH TEXT "nhv" "dummy_poly" textlabel) OR nhv_L_8_00_W_1_00_tmp |
| nhv_L_8_00_W_3_00_tmp = INTERNAL nhv_L_8_00 == 3.0 OPPOSITE PARALLEL ONLY REGION |
| nhv_L_8_00_W_3_00 = (WITH TEXT "nhv" "dummy_poly" textlabel) OR nhv_L_8_00_W_3_00_tmp |
| nhv_L_8_00_W_5_00_tmp = INTERNAL nhv_L_8_00 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| nhv_L_8_00_W_5_00 = (WITH TEXT "nhv" "dummy_poly" textlabel) OR nhv_L_8_00_W_5_00_tmp |
| nhv_L_8_00_W_7_00_tmp = INTERNAL nhv_L_8_00 == 7.0 OPPOSITE PARALLEL ONLY REGION |
| nhv_L_8_00_W_7_00 = (WITH TEXT "nhv" "dummy_poly" textlabel) OR nhv_L_8_00_W_7_00_tmp |
| nhv_L_20_0 = LENGTH ("nhv" COINCIDENT INSIDE EDGE diff) == 20.0 |
| "k_245_nhv_L_20_0" { |
| @ keep: nhv_L_20_0 - nhv_L_20_0 |
| COPY nhv_L_20_0 |
| } |
| nhv_L_20_0_W_0_42_tmp = INTERNAL nhv_L_20_0 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| nhv_L_20_0_W_0_42 = (WITH TEXT "nhv" "dummy_poly" textlabel) OR nhv_L_20_0_W_0_42_tmp |
| nhv_valid = nhv_L_20_0_W_0_42 OR |
| (nhv_L_8_00_W_7_00 OR |
| (nhv_L_8_00_W_5_00 OR |
| (nhv_L_8_00_W_3_00 OR |
| (nhv_L_8_00_W_1_00 OR |
| (nhv_L_8_00_W_0_42 OR |
| (nhv_L_4_00_W_7_00 OR |
| (nhv_L_4_00_W_5_00 OR |
| (nhv_L_4_00_W_3_00 OR |
| (nhv_L_4_00_W_1_50 OR |
| (nhv_L_4_00_W_1_00 OR |
| (nhv_L_4_00_W_0_75 OR |
| (nhv_L_4_00_W_0_42 OR |
| (nhv_L_2_00_W_7_00 OR |
| (nhv_L_2_00_W_5_00 OR |
| (nhv_L_2_00_W_3_00 OR |
| (nhv_L_2_00_W_1_50 OR |
| (nhv_L_2_00_W_1_00 OR |
| (nhv_L_2_00_W_0_75 OR |
| (nhv_L_2_00_W_0_42 OR |
| (nhv_L_1_00_W_20_0 OR |
| (nhv_L_1_00_W_15_0 OR |
| (nhv_L_1_00_W_7_00 OR |
| (nhv_L_1_00_W_5_00 OR |
| (nhv_L_1_00_W_3_00 OR |
| (nhv_L_1_00_W_1_50 OR |
| (nhv_L_1_00_W_1_00 OR |
| (nhv_L_1_00_W_0_75 OR |
| (nhv_L_1_00_W_0_42 OR |
| (nhv_L_0_80_W_7_00 OR |
| (nhv_L_0_80_W_5_00 OR |
| (nhv_L_0_80_W_1_00 OR |
| (nhv_L_0_80_W_0_75 OR |
| (nhv_L_0_80_W_0_42 OR |
| (nhv_L_0_60_W_5_00 OR |
| (nhv_L_0_60_W_3_00 OR |
| (nhv_L_0_60_W_1_00 OR |
| (nhv_L_0_60_W_0_70 OR |
| (nhv_L_0_60_W_0_42 OR |
| (nhv_L_0_50_W_20_0 OR |
| (nhv_L_0_50_W_15_0 OR |
| (nhv_L_0_50_W_10_0 OR |
| (nhv_L_0_50_W_7_00 OR |
| (nhv_L_0_50_W_5_00 OR |
| (nhv_L_0_50_W_3_00 OR |
| (nhv_L_0_50_W_1_50 OR |
| (nhv_L_0_50_W_1_00 OR |
| (nhv_L_0_50_W_0_75 OR nhv_L_0_50_W_0_42))))))))))))))))))))))))))))))))))))))))))))))) |
| "k_246_nhv_valid" { |
| @ keep: nhv_valid - nhv_valid |
| COPY nhv_valid |
| } |
| nhv_invalid = nhv NOT (exemptDecaps OR nhv_valid) |
| "r_613_Poly.X.1" { |
| @ Poly.X.1: This nhv device has an invalid W/L. Please see MRGA |
| COPY nhv_invalid |
| } |
| s8rf_nshort_W5p0_L0p15_M2_b = rfGate AND (EXTENT CELL "s8rf_nshort_W5p0_L0p15_M2_b") |
| "k_247_s8rf_nshort_W5p0_L0p15_M2_b" { |
| @ keep: s8rf_nshort_W5p0_L0p15_M2_b - s8rf_nshort_W5p0_L0p15_M2_b |
| COPY s8rf_nshort_W5p0_L0p15_M2_b |
| } |
| s8rf_nshort_W5p0_L0p15_M2_b_L_0_15 = LENGTH (s8rf_nshort_W5p0_L0p15_M2_b COINCIDENT INSIDE EDGE diff) == 0.15 |
| "k_248_s8rf_nshort_W5p0_L0p15_M2_b_L_0_15" { |
| @ keep: s8rf_nshort_W5p0_L0p15_M2_b_L_0_15 - s8rf_nshort_W5p0_L0p15_M2_b_L_0_15 |
| COPY s8rf_nshort_W5p0_L0p15_M2_b_L_0_15 |
| } |
| s8rf_nshort_W5p0_L0p15_M2_b_L_0_15_W_5_05_tmp = INTERNAL s8rf_nshort_W5p0_L0p15_M2_b_L_0_15 == 5.05 OPPOSITE PARALLEL ONLY REGION |
| s8rf_nshort_W5p0_L0p15_M2_b_L_0_15_W_5_05 = (WITH TEXT s8rf_nshort_W5p0_L0p15_M2_b "dummy_poly" textlabel) OR s8rf_nshort_W5p0_L0p15_M2_b_L_0_15_W_5_05_tmp |
| s8rf_nshort_W5p0_L0p15_M2_b_valid = COPY s8rf_nshort_W5p0_L0p15_M2_b_L_0_15_W_5_05 |
| "k_249_s8rf_nshort_W5p0_L0p15_M2_b_valid" { |
| @ keep: s8rf_nshort_W5p0_L0p15_M2_b_valid - s8rf_nshort_W5p0_L0p15_M2_b_valid |
| COPY s8rf_nshort_W5p0_L0p15_M2_b_valid |
| } |
| s8rf_nshort_W5p0_L0p15_M2_b_invalid = s8rf_nshort_W5p0_L0p15_M2_b NOT (exemptDecaps OR s8rf_nshort_W5p0_L0p15_M2_b_valid) |
| "r_614_Poly.X.1" { |
| @ Poly.X.1: This s8rf_nshort_W5p0_L0p15_M2_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_nshort_W5p0_L0p15_M2_b_invalid |
| } |
| s8rf_nhv_W5p0_L0p5_M2_b = rfGate AND (EXTENT CELL "s8rf_nhv_W5p0_L0p5_M2_b") |
| "k_250_s8rf_nhv_W5p0_L0p5_M2_b" { |
| @ keep: s8rf_nhv_W5p0_L0p5_M2_b - s8rf_nhv_W5p0_L0p5_M2_b |
| COPY s8rf_nhv_W5p0_L0p5_M2_b |
| } |
| s8rf_nhv_W5p0_L0p5_M2_b_L_0_50 = LENGTH (s8rf_nhv_W5p0_L0p5_M2_b COINCIDENT INSIDE EDGE diff) == 0.5 |
| "k_251_s8rf_nhv_W5p0_L0p5_M2_b_L_0_50" { |
| @ keep: s8rf_nhv_W5p0_L0p5_M2_b_L_0_50 - s8rf_nhv_W5p0_L0p5_M2_b_L_0_50 |
| COPY s8rf_nhv_W5p0_L0p5_M2_b_L_0_50 |
| } |
| s8rf_nhv_W5p0_L0p5_M2_b_L_0_50_W_5_05_tmp = INTERNAL s8rf_nhv_W5p0_L0p5_M2_b_L_0_50 == 5.05 OPPOSITE PARALLEL ONLY REGION |
| s8rf_nhv_W5p0_L0p5_M2_b_L_0_50_W_5_05 = (WITH TEXT s8rf_nhv_W5p0_L0p5_M2_b "dummy_poly" textlabel) OR s8rf_nhv_W5p0_L0p5_M2_b_L_0_50_W_5_05_tmp |
| s8rf_nhv_W5p0_L0p5_M2_b_valid = COPY s8rf_nhv_W5p0_L0p5_M2_b_L_0_50_W_5_05 |
| "k_252_s8rf_nhv_W5p0_L0p5_M2_b_valid" { |
| @ keep: s8rf_nhv_W5p0_L0p5_M2_b_valid - s8rf_nhv_W5p0_L0p5_M2_b_valid |
| COPY s8rf_nhv_W5p0_L0p5_M2_b_valid |
| } |
| s8rf_nhv_W5p0_L0p5_M2_b_invalid = s8rf_nhv_W5p0_L0p5_M2_b NOT (exemptDecaps OR s8rf_nhv_W5p0_L0p5_M2_b_valid) |
| "r_615_Poly.X.1" { |
| @ Poly.X.1: This s8rf_nhv_W5p0_L0p5_M2_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_nhv_W5p0_L0p5_M2_b_invalid |
| } |
| s8rf_nlowvt_W0p84_L0p15_8F = rfGate AND (EXTENT CELL "s8rf_nlowvt_W0p84_L0p15_8F") |
| "k_253_s8rf_nlowvt_W0p84_L0p15_8F" { |
| @ keep: s8rf_nlowvt_W0p84_L0p15_8F - s8rf_nlowvt_W0p84_L0p15_8F |
| COPY s8rf_nlowvt_W0p84_L0p15_8F |
| } |
| s8rf_nlowvt_W0p84_L0p15_8F_L_0_15 = LENGTH (s8rf_nlowvt_W0p84_L0p15_8F COINCIDENT INSIDE EDGE diff) == 0.15 |
| "k_254_s8rf_nlowvt_W0p84_L0p15_8F_L_0_15" { |
| @ keep: s8rf_nlowvt_W0p84_L0p15_8F_L_0_15 - s8rf_nlowvt_W0p84_L0p15_8F_L_0_15 |
| COPY s8rf_nlowvt_W0p84_L0p15_8F_L_0_15 |
| } |
| s8rf_nlowvt_W0p84_L0p15_8F_L_0_15_W_0_84_tmp = INTERNAL s8rf_nlowvt_W0p84_L0p15_8F_L_0_15 == 0.84 OPPOSITE PARALLEL ONLY REGION |
| s8rf_nlowvt_W0p84_L0p15_8F_L_0_15_W_0_84 = (WITH TEXT s8rf_nlowvt_W0p84_L0p15_8F "dummy_poly" textlabel) OR s8rf_nlowvt_W0p84_L0p15_8F_L_0_15_W_0_84_tmp |
| s8rf_nlowvt_W0p84_L0p15_8F_valid = COPY s8rf_nlowvt_W0p84_L0p15_8F_L_0_15_W_0_84 |
| "k_255_s8rf_nlowvt_W0p84_L0p15_8F_valid" { |
| @ keep: s8rf_nlowvt_W0p84_L0p15_8F_valid - s8rf_nlowvt_W0p84_L0p15_8F_valid |
| COPY s8rf_nlowvt_W0p84_L0p15_8F_valid |
| } |
| s8rf_nlowvt_W0p84_L0p15_8F_invalid = s8rf_nlowvt_W0p84_L0p15_8F NOT (exemptDecaps OR s8rf_nlowvt_W0p84_L0p15_8F_valid) |
| "r_616_Poly.X.1" { |
| @ Poly.X.1: This s8rf_nlowvt_W0p84_L0p15_8F device has an invalid W/L. Please see MRGA |
| COPY s8rf_nlowvt_W0p84_L0p15_8F_invalid |
| } |
| s8rf_nshort_W1p65_L0p15_M4_b = rfGate AND (EXTENT CELL "s8rf_nshort_W1p65_L0p15_M4_b") |
| "k_256_s8rf_nshort_W1p65_L0p15_M4_b" { |
| @ keep: s8rf_nshort_W1p65_L0p15_M4_b - s8rf_nshort_W1p65_L0p15_M4_b |
| COPY s8rf_nshort_W1p65_L0p15_M4_b |
| } |
| s8rf_nshort_W1p65_L0p15_M4_b_L_0_15 = LENGTH (s8rf_nshort_W1p65_L0p15_M4_b COINCIDENT INSIDE EDGE diff) == 0.15 |
| "k_257_s8rf_nshort_W1p65_L0p15_M4_b_L_0_15" { |
| @ keep: s8rf_nshort_W1p65_L0p15_M4_b_L_0_15 - s8rf_nshort_W1p65_L0p15_M4_b_L_0_15 |
| COPY s8rf_nshort_W1p65_L0p15_M4_b_L_0_15 |
| } |
| s8rf_nshort_W1p65_L0p15_M4_b_L_0_15_W_1_65_tmp = INTERNAL s8rf_nshort_W1p65_L0p15_M4_b_L_0_15 == 1.65 OPPOSITE PARALLEL ONLY REGION |
| s8rf_nshort_W1p65_L0p15_M4_b_L_0_15_W_1_65 = (WITH TEXT s8rf_nshort_W1p65_L0p15_M4_b "dummy_poly" textlabel) OR s8rf_nshort_W1p65_L0p15_M4_b_L_0_15_W_1_65_tmp |
| s8rf_nshort_W1p65_L0p15_M4_b_valid = COPY s8rf_nshort_W1p65_L0p15_M4_b_L_0_15_W_1_65 |
| "k_258_s8rf_nshort_W1p65_L0p15_M4_b_valid" { |
| @ keep: s8rf_nshort_W1p65_L0p15_M4_b_valid - s8rf_nshort_W1p65_L0p15_M4_b_valid |
| COPY s8rf_nshort_W1p65_L0p15_M4_b_valid |
| } |
| s8rf_nshort_W1p65_L0p15_M4_b_invalid = s8rf_nshort_W1p65_L0p15_M4_b NOT (exemptDecaps OR s8rf_nshort_W1p65_L0p15_M4_b_valid) |
| "r_617_Poly.X.1" { |
| @ Poly.X.1: This s8rf_nshort_W1p65_L0p15_M4_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_nshort_W1p65_L0p15_M4_b_invalid |
| } |
| s8rf_nlowvt_W3p0_L0p25_M2_b = rfGate AND (EXTENT CELL "s8rf_nlowvt_W3p0_L0p25_M2_b") |
| "k_259_s8rf_nlowvt_W3p0_L0p25_M2_b" { |
| @ keep: s8rf_nlowvt_W3p0_L0p25_M2_b - s8rf_nlowvt_W3p0_L0p25_M2_b |
| COPY s8rf_nlowvt_W3p0_L0p25_M2_b |
| } |
| s8rf_nlowvt_W3p0_L0p25_M2_b_L_0_25 = LENGTH (s8rf_nlowvt_W3p0_L0p25_M2_b COINCIDENT INSIDE EDGE diff) == 0.25 |
| "k_260_s8rf_nlowvt_W3p0_L0p25_M2_b_L_0_25" { |
| @ keep: s8rf_nlowvt_W3p0_L0p25_M2_b_L_0_25 - s8rf_nlowvt_W3p0_L0p25_M2_b_L_0_25 |
| COPY s8rf_nlowvt_W3p0_L0p25_M2_b_L_0_25 |
| } |
| s8rf_nlowvt_W3p0_L0p25_M2_b_L_0_25_W_3_01_tmp = INTERNAL s8rf_nlowvt_W3p0_L0p25_M2_b_L_0_25 == 3.01 OPPOSITE PARALLEL ONLY REGION |
| s8rf_nlowvt_W3p0_L0p25_M2_b_L_0_25_W_3_01 = (WITH TEXT s8rf_nlowvt_W3p0_L0p25_M2_b "dummy_poly" textlabel) OR s8rf_nlowvt_W3p0_L0p25_M2_b_L_0_25_W_3_01_tmp |
| s8rf_nlowvt_W3p0_L0p25_M2_b_valid = COPY s8rf_nlowvt_W3p0_L0p25_M2_b_L_0_25_W_3_01 |
| "k_261_s8rf_nlowvt_W3p0_L0p25_M2_b_valid" { |
| @ keep: s8rf_nlowvt_W3p0_L0p25_M2_b_valid - s8rf_nlowvt_W3p0_L0p25_M2_b_valid |
| COPY s8rf_nlowvt_W3p0_L0p25_M2_b_valid |
| } |
| s8rf_nlowvt_W3p0_L0p25_M2_b_invalid = s8rf_nlowvt_W3p0_L0p25_M2_b NOT (exemptDecaps OR s8rf_nlowvt_W3p0_L0p25_M2_b_valid) |
| "r_618_Poly.X.1" { |
| @ Poly.X.1: This s8rf_nlowvt_W3p0_L0p25_M2_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_nlowvt_W3p0_L0p25_M2_b_invalid |
| } |
| s8rf_nlowvt_W5p0_L0p25_M4_b = rfGate AND (EXTENT CELL "s8rf_nlowvt_W5p0_L0p25_M4_b") |
| "k_262_s8rf_nlowvt_W5p0_L0p25_M4_b" { |
| @ keep: s8rf_nlowvt_W5p0_L0p25_M4_b - s8rf_nlowvt_W5p0_L0p25_M4_b |
| COPY s8rf_nlowvt_W5p0_L0p25_M4_b |
| } |
| s8rf_nlowvt_W5p0_L0p25_M4_b_L_0_25 = LENGTH (s8rf_nlowvt_W5p0_L0p25_M4_b COINCIDENT INSIDE EDGE diff) == 0.25 |
| "k_263_s8rf_nlowvt_W5p0_L0p25_M4_b_L_0_25" { |
| @ keep: s8rf_nlowvt_W5p0_L0p25_M4_b_L_0_25 - s8rf_nlowvt_W5p0_L0p25_M4_b_L_0_25 |
| COPY s8rf_nlowvt_W5p0_L0p25_M4_b_L_0_25 |
| } |
| s8rf_nlowvt_W5p0_L0p25_M4_b_L_0_25_W_5_05_tmp = INTERNAL s8rf_nlowvt_W5p0_L0p25_M4_b_L_0_25 == 5.05 OPPOSITE PARALLEL ONLY REGION |
| s8rf_nlowvt_W5p0_L0p25_M4_b_L_0_25_W_5_05 = (WITH TEXT s8rf_nlowvt_W5p0_L0p25_M4_b "dummy_poly" textlabel) OR s8rf_nlowvt_W5p0_L0p25_M4_b_L_0_25_W_5_05_tmp |
| s8rf_nlowvt_W5p0_L0p25_M4_b_valid = COPY s8rf_nlowvt_W5p0_L0p25_M4_b_L_0_25_W_5_05 |
| "k_264_s8rf_nlowvt_W5p0_L0p25_M4_b_valid" { |
| @ keep: s8rf_nlowvt_W5p0_L0p25_M4_b_valid - s8rf_nlowvt_W5p0_L0p25_M4_b_valid |
| COPY s8rf_nlowvt_W5p0_L0p25_M4_b_valid |
| } |
| s8rf_nlowvt_W5p0_L0p25_M4_b_invalid = s8rf_nlowvt_W5p0_L0p25_M4_b NOT (exemptDecaps OR s8rf_nlowvt_W5p0_L0p25_M4_b_valid) |
| "r_619_Poly.X.1" { |
| @ Poly.X.1: This s8rf_nlowvt_W5p0_L0p25_M4_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_nlowvt_W5p0_L0p25_M4_b_invalid |
| } |
| nshortesd_L_0_165 = LENGTH ("nshortesd" COINCIDENT INSIDE EDGE diff) == 0.165 |
| "k_265_nshortesd_L_0_165" { |
| @ keep: nshortesd_L_0_165 - nshortesd_L_0_165 |
| COPY nshortesd_L_0_165 |
| } |
| nshortesd_L_0_165_W_20_35_tmp = INTERNAL nshortesd_L_0_165 == 20.35 OPPOSITE PARALLEL ONLY REGION |
| nshortesd_L_0_165_W_20_35 = (WITH TEXT "nshortesd" "dummy_poly" textlabel) OR nshortesd_L_0_165_W_20_35_tmp |
| nshortesd_L_0_165_W_40_31_tmp = INTERNAL nshortesd_L_0_165 == 40.31 OPPOSITE PARALLEL ONLY REGION |
| nshortesd_L_0_165_W_40_31 = (WITH TEXT "nshortesd" "dummy_poly" textlabel) OR nshortesd_L_0_165_W_40_31_tmp |
| nshortesd_L_0_18 = LENGTH ("nshortesd" COINCIDENT INSIDE EDGE diff) == 0.18 |
| "k_266_nshortesd_L_0_18" { |
| @ keep: nshortesd_L_0_18 - nshortesd_L_0_18 |
| COPY nshortesd_L_0_18 |
| } |
| nshortesd_L_0_18_W_5_40_tmp = INTERNAL nshortesd_L_0_18 == 5.4 OPPOSITE PARALLEL ONLY REGION |
| nshortesd_L_0_18_W_5_40 = (WITH TEXT "nshortesd" "dummy_poly" textlabel) OR nshortesd_L_0_18_W_5_40_tmp |
| nshortesd_valid = nshortesd_L_0_18_W_5_40 OR |
| (nshortesd_L_0_165_W_40_31 OR nshortesd_L_0_165_W_20_35) |
| "k_267_nshortesd_valid" { |
| @ keep: nshortesd_valid - nshortesd_valid |
| COPY nshortesd_valid |
| } |
| nshortesd_invalid = nshortesd NOT (exemptDecaps OR nshortesd_valid) |
| "r_620_Poly.X.1" { |
| @ Poly.X.1: This nshortesd device has an invalid W/L. Please see MRGA |
| COPY nshortesd_invalid |
| } |
| s8rf_nlowvt_W5p0_L0p25_M2_b = rfGate AND (EXTENT CELL "s8rf_nlowvt_W5p0_L0p25_M2_b") |
| "k_268_s8rf_nlowvt_W5p0_L0p25_M2_b" { |
| @ keep: s8rf_nlowvt_W5p0_L0p25_M2_b - s8rf_nlowvt_W5p0_L0p25_M2_b |
| COPY s8rf_nlowvt_W5p0_L0p25_M2_b |
| } |
| s8rf_nlowvt_W5p0_L0p25_M2_b_L_0_25 = LENGTH (s8rf_nlowvt_W5p0_L0p25_M2_b COINCIDENT INSIDE EDGE diff) == 0.25 |
| "k_269_s8rf_nlowvt_W5p0_L0p25_M2_b_L_0_25" { |
| @ keep: s8rf_nlowvt_W5p0_L0p25_M2_b_L_0_25 - s8rf_nlowvt_W5p0_L0p25_M2_b_L_0_25 |
| COPY s8rf_nlowvt_W5p0_L0p25_M2_b_L_0_25 |
| } |
| s8rf_nlowvt_W5p0_L0p25_M2_b_L_0_25_W_5_05_tmp = INTERNAL s8rf_nlowvt_W5p0_L0p25_M2_b_L_0_25 == 5.05 OPPOSITE PARALLEL ONLY REGION |
| s8rf_nlowvt_W5p0_L0p25_M2_b_L_0_25_W_5_05 = (WITH TEXT s8rf_nlowvt_W5p0_L0p25_M2_b "dummy_poly" textlabel) OR s8rf_nlowvt_W5p0_L0p25_M2_b_L_0_25_W_5_05_tmp |
| s8rf_nlowvt_W5p0_L0p25_M2_b_valid = COPY s8rf_nlowvt_W5p0_L0p25_M2_b_L_0_25_W_5_05 |
| "k_270_s8rf_nlowvt_W5p0_L0p25_M2_b_valid" { |
| @ keep: s8rf_nlowvt_W5p0_L0p25_M2_b_valid - s8rf_nlowvt_W5p0_L0p25_M2_b_valid |
| COPY s8rf_nlowvt_W5p0_L0p25_M2_b_valid |
| } |
| s8rf_nlowvt_W5p0_L0p25_M2_b_invalid = s8rf_nlowvt_W5p0_L0p25_M2_b NOT (exemptDecaps OR s8rf_nlowvt_W5p0_L0p25_M2_b_valid) |
| "r_621_Poly.X.1" { |
| @ Poly.X.1: This s8rf_nlowvt_W5p0_L0p25_M2_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_nlowvt_W5p0_L0p25_M2_b_invalid |
| } |
| s8rf_nshort_W3p0_L0p15_M4_b = rfGate AND (EXTENT CELL "s8rf_nshort_W3p0_L0p15_M4_b") |
| "k_271_s8rf_nshort_W3p0_L0p15_M4_b" { |
| @ keep: s8rf_nshort_W3p0_L0p15_M4_b - s8rf_nshort_W3p0_L0p15_M4_b |
| COPY s8rf_nshort_W3p0_L0p15_M4_b |
| } |
| s8rf_nshort_W3p0_L0p15_M4_b_L_0_15 = LENGTH (s8rf_nshort_W3p0_L0p15_M4_b COINCIDENT INSIDE EDGE diff) == 0.15 |
| "k_272_s8rf_nshort_W3p0_L0p15_M4_b_L_0_15" { |
| @ keep: s8rf_nshort_W3p0_L0p15_M4_b_L_0_15 - s8rf_nshort_W3p0_L0p15_M4_b_L_0_15 |
| COPY s8rf_nshort_W3p0_L0p15_M4_b_L_0_15 |
| } |
| s8rf_nshort_W3p0_L0p15_M4_b_L_0_15_W_3_01_tmp = INTERNAL s8rf_nshort_W3p0_L0p15_M4_b_L_0_15 == 3.01 OPPOSITE PARALLEL ONLY REGION |
| s8rf_nshort_W3p0_L0p15_M4_b_L_0_15_W_3_01 = (WITH TEXT s8rf_nshort_W3p0_L0p15_M4_b "dummy_poly" textlabel) OR s8rf_nshort_W3p0_L0p15_M4_b_L_0_15_W_3_01_tmp |
| s8rf_nshort_W3p0_L0p15_M4_b_valid = COPY s8rf_nshort_W3p0_L0p15_M4_b_L_0_15_W_3_01 |
| "k_273_s8rf_nshort_W3p0_L0p15_M4_b_valid" { |
| @ keep: s8rf_nshort_W3p0_L0p15_M4_b_valid - s8rf_nshort_W3p0_L0p15_M4_b_valid |
| COPY s8rf_nshort_W3p0_L0p15_M4_b_valid |
| } |
| s8rf_nshort_W3p0_L0p15_M4_b_invalid = s8rf_nshort_W3p0_L0p15_M4_b NOT (exemptDecaps OR s8rf_nshort_W3p0_L0p15_M4_b_valid) |
| "r_622_Poly.X.1" { |
| @ Poly.X.1: This s8rf_nshort_W3p0_L0p15_M4_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_nshort_W3p0_L0p15_M4_b_invalid |
| } |
| nshort_L_0_15 = LENGTH ("nshort" COINCIDENT INSIDE EDGE diff) == 0.15 |
| "k_274_nshort_L_0_15" { |
| @ keep: nshort_L_0_15 - nshort_L_0_15 |
| COPY nshort_L_0_15 |
| } |
| nshort_L_0_15_W_0_36_tmp = INTERNAL nshort_L_0_15 == 0.36 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_0_15_W_0_36 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_0_15_W_0_36_tmp |
| nshort_L_0_15_W_0_39_tmp = INTERNAL nshort_L_0_15 == 0.39 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_0_15_W_0_39 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_0_15_W_0_39_tmp |
| nshort_L_0_15_W_0_42_tmp = INTERNAL nshort_L_0_15 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_0_15_W_0_42 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_0_15_W_0_42_tmp |
| nshort_L_0_15_W_0_52_tmp = INTERNAL nshort_L_0_15 == 0.52 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_0_15_W_0_52 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_0_15_W_0_52_tmp |
| nshort_L_0_15_W_0_54_tmp = INTERNAL nshort_L_0_15 == 0.54 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_0_15_W_0_54 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_0_15_W_0_54_tmp |
| nshort_L_0_15_W_0_55_tmp = INTERNAL nshort_L_0_15 == 0.55 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_0_15_W_0_55 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_0_15_W_0_55_tmp |
| nshort_L_0_15_W_0_58_tmp = INTERNAL nshort_L_0_15 == 0.58 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_0_15_W_0_58 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_0_15_W_0_58_tmp |
| nshort_L_0_15_W_0_60_tmp = INTERNAL nshort_L_0_15 == 0.6 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_0_15_W_0_60 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_0_15_W_0_60_tmp |
| nshort_L_0_15_W_0_61_tmp = INTERNAL nshort_L_0_15 == 0.61 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_0_15_W_0_61 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_0_15_W_0_61_tmp |
| nshort_L_0_15_W_0_64_tmp = INTERNAL nshort_L_0_15 == 0.64 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_0_15_W_0_64 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_0_15_W_0_64_tmp |
| nshort_L_0_15_W_0_65_tmp = INTERNAL nshort_L_0_15 == 0.65 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_0_15_W_0_65 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_0_15_W_0_65_tmp |
| nshort_L_0_15_W_0_74_tmp = INTERNAL nshort_L_0_15 == 0.74 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_0_15_W_0_74 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_0_15_W_0_74_tmp |
| nshort_L_0_15_W_0_84_tmp = INTERNAL nshort_L_0_15 == 0.84 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_0_15_W_0_84 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_0_15_W_0_84_tmp |
| nshort_L_0_15_W_1_00_tmp = INTERNAL nshort_L_0_15 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_0_15_W_1_00 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_0_15_W_1_00_tmp |
| nshort_L_0_15_W_1_26_tmp = INTERNAL nshort_L_0_15 == 1.26 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_0_15_W_1_26 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_0_15_W_1_26_tmp |
| nshort_L_0_15_W_1_68_tmp = INTERNAL nshort_L_0_15 == 1.68 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_0_15_W_1_68 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_0_15_W_1_68_tmp |
| nshort_L_0_15_W_2_00_tmp = INTERNAL nshort_L_0_15 == 2.0 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_0_15_W_2_00 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_0_15_W_2_00_tmp |
| nshort_L_0_15_W_3_00_tmp = INTERNAL nshort_L_0_15 == 3.0 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_0_15_W_3_00 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_0_15_W_3_00_tmp |
| nshort_L_0_15_W_5_00_tmp = INTERNAL nshort_L_0_15 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_0_15_W_5_00 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_0_15_W_5_00_tmp |
| nshort_L_0_15_W_7_00_tmp = INTERNAL nshort_L_0_15 == 7.0 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_0_15_W_7_00 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_0_15_W_7_00_tmp |
| nshort_L_0_18 = LENGTH ("nshort" COINCIDENT INSIDE EDGE diff) == 0.18 |
| "k_275_nshort_L_0_18" { |
| @ keep: nshort_L_0_18 - nshort_L_0_18 |
| COPY nshort_L_0_18 |
| } |
| nshort_L_0_18_W_0_42_tmp = INTERNAL nshort_L_0_18 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_0_18_W_0_42 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_0_18_W_0_42_tmp |
| nshort_L_0_18_W_0_65_tmp = INTERNAL nshort_L_0_18 == 0.65 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_0_18_W_0_65 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_0_18_W_0_65_tmp |
| nshort_L_0_18_W_1_00_tmp = INTERNAL nshort_L_0_18 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_0_18_W_1_00 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_0_18_W_1_00_tmp |
| nshort_L_0_18_W_3_00_tmp = INTERNAL nshort_L_0_18 == 3.0 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_0_18_W_3_00 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_0_18_W_3_00_tmp |
| nshort_L_0_18_W_5_00_tmp = INTERNAL nshort_L_0_18 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_0_18_W_5_00 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_0_18_W_5_00_tmp |
| nshort_L_0_18_W_7_00_tmp = INTERNAL nshort_L_0_18 == 7.0 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_0_18_W_7_00 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_0_18_W_7_00_tmp |
| nshort_L_0_25 = LENGTH ("nshort" COINCIDENT INSIDE EDGE diff) == 0.25 |
| "k_276_nshort_L_0_25" { |
| @ keep: nshort_L_0_25 - nshort_L_0_25 |
| COPY nshort_L_0_25 |
| } |
| nshort_L_0_25_W_0_65_tmp = INTERNAL nshort_L_0_25 == 0.65 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_0_25_W_0_65 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_0_25_W_0_65_tmp |
| nshort_L_0_25_W_1_00_tmp = INTERNAL nshort_L_0_25 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_0_25_W_1_00 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_0_25_W_1_00_tmp |
| nshort_L_0_25_W_3_00_tmp = INTERNAL nshort_L_0_25 == 3.0 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_0_25_W_3_00 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_0_25_W_3_00_tmp |
| nshort_L_0_25_W_5_00_tmp = INTERNAL nshort_L_0_25 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_0_25_W_5_00 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_0_25_W_5_00_tmp |
| nshort_L_0_25_W_7_00_tmp = INTERNAL nshort_L_0_25 == 7.0 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_0_25_W_7_00 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_0_25_W_7_00_tmp |
| nshort_L_0_50 = LENGTH ("nshort" COINCIDENT INSIDE EDGE diff) == 0.5 |
| "k_277_nshort_L_0_50" { |
| @ keep: nshort_L_0_50 - nshort_L_0_50 |
| COPY nshort_L_0_50 |
| } |
| nshort_L_0_50_W_0_42_tmp = INTERNAL nshort_L_0_50 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_0_50_W_0_42 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_0_50_W_0_42_tmp |
| nshort_L_0_50_W_0_55_tmp = INTERNAL nshort_L_0_50 == 0.55 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_0_50_W_0_55 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_0_50_W_0_55_tmp |
| nshort_L_0_50_W_0_65_tmp = INTERNAL nshort_L_0_50 == 0.65 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_0_50_W_0_65 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_0_50_W_0_65_tmp |
| nshort_L_0_50_W_1_00_tmp = INTERNAL nshort_L_0_50 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_0_50_W_1_00 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_0_50_W_1_00_tmp |
| nshort_L_0_50_W_3_00_tmp = INTERNAL nshort_L_0_50 == 3.0 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_0_50_W_3_00 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_0_50_W_3_00_tmp |
| nshort_L_0_50_W_5_00_tmp = INTERNAL nshort_L_0_50 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_0_50_W_5_00 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_0_50_W_5_00_tmp |
| nshort_L_0_50_W_7_00_tmp = INTERNAL nshort_L_0_50 == 7.0 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_0_50_W_7_00 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_0_50_W_7_00_tmp |
| nshort_L_1_00 = LENGTH ("nshort" COINCIDENT INSIDE EDGE diff) == 1.0 |
| "k_278_nshort_L_1_00" { |
| @ keep: nshort_L_1_00 - nshort_L_1_00 |
| COPY nshort_L_1_00 |
| } |
| nshort_L_1_00_W_0_42_tmp = INTERNAL nshort_L_1_00 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_1_00_W_0_42 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_1_00_W_0_42_tmp |
| nshort_L_1_00_W_0_55_tmp = INTERNAL nshort_L_1_00 == 0.55 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_1_00_W_0_55 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_1_00_W_0_55_tmp |
| nshort_L_1_00_W_1_00_tmp = INTERNAL nshort_L_1_00 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_1_00_W_1_00 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_1_00_W_1_00_tmp |
| nshort_L_1_00_W_3_00_tmp = INTERNAL nshort_L_1_00 == 3.0 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_1_00_W_3_00 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_1_00_W_3_00_tmp |
| nshort_L_1_00_W_5_00_tmp = INTERNAL nshort_L_1_00 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_1_00_W_5_00 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_1_00_W_5_00_tmp |
| nshort_L_1_00_W_7_00_tmp = INTERNAL nshort_L_1_00 == 7.0 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_1_00_W_7_00 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_1_00_W_7_00_tmp |
| nshort_L_2_00 = LENGTH ("nshort" COINCIDENT INSIDE EDGE diff) == 2.0 |
| "k_279_nshort_L_2_00" { |
| @ keep: nshort_L_2_00 - nshort_L_2_00 |
| COPY nshort_L_2_00 |
| } |
| nshort_L_2_00_W_0_42_tmp = INTERNAL nshort_L_2_00 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_2_00_W_0_42 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_2_00_W_0_42_tmp |
| nshort_L_2_00_W_0_55_tmp = INTERNAL nshort_L_2_00 == 0.55 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_2_00_W_0_55 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_2_00_W_0_55_tmp |
| nshort_L_2_00_W_1_00_tmp = INTERNAL nshort_L_2_00 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_2_00_W_1_00 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_2_00_W_1_00_tmp |
| nshort_L_2_00_W_3_00_tmp = INTERNAL nshort_L_2_00 == 3.0 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_2_00_W_3_00 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_2_00_W_3_00_tmp |
| nshort_L_2_00_W_5_00_tmp = INTERNAL nshort_L_2_00 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_2_00_W_5_00 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_2_00_W_5_00_tmp |
| nshort_L_2_00_W_7_00_tmp = INTERNAL nshort_L_2_00 == 7.0 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_2_00_W_7_00 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_2_00_W_7_00_tmp |
| nshort_L_4_00 = LENGTH ("nshort" COINCIDENT INSIDE EDGE diff) == 4.0 |
| "k_280_nshort_L_4_00" { |
| @ keep: nshort_L_4_00 - nshort_L_4_00 |
| COPY nshort_L_4_00 |
| } |
| nshort_L_4_00_W_0_42_tmp = INTERNAL nshort_L_4_00 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_4_00_W_0_42 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_4_00_W_0_42_tmp |
| nshort_L_4_00_W_0_55_tmp = INTERNAL nshort_L_4_00 == 0.55 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_4_00_W_0_55 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_4_00_W_0_55_tmp |
| nshort_L_4_00_W_1_00_tmp = INTERNAL nshort_L_4_00 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_4_00_W_1_00 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_4_00_W_1_00_tmp |
| nshort_L_4_00_W_3_00_tmp = INTERNAL nshort_L_4_00 == 3.0 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_4_00_W_3_00 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_4_00_W_3_00_tmp |
| nshort_L_4_00_W_5_00_tmp = INTERNAL nshort_L_4_00 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_4_00_W_5_00 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_4_00_W_5_00_tmp |
| nshort_L_4_00_W_7_00_tmp = INTERNAL nshort_L_4_00 == 7.0 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_4_00_W_7_00 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_4_00_W_7_00_tmp |
| nshort_L_8_00 = LENGTH ("nshort" COINCIDENT INSIDE EDGE diff) == 8.0 |
| "k_281_nshort_L_8_00" { |
| @ keep: nshort_L_8_00 - nshort_L_8_00 |
| COPY nshort_L_8_00 |
| } |
| nshort_L_8_00_W_0_42_tmp = INTERNAL nshort_L_8_00 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_8_00_W_0_42 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_8_00_W_0_42_tmp |
| nshort_L_8_00_W_0_55_tmp = INTERNAL nshort_L_8_00 == 0.55 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_8_00_W_0_55 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_8_00_W_0_55_tmp |
| nshort_L_8_00_W_1_00_tmp = INTERNAL nshort_L_8_00 == 1.0 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_8_00_W_1_00 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_8_00_W_1_00_tmp |
| nshort_L_8_00_W_3_00_tmp = INTERNAL nshort_L_8_00 == 3.0 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_8_00_W_3_00 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_8_00_W_3_00_tmp |
| nshort_L_8_00_W_5_00_tmp = INTERNAL nshort_L_8_00 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_8_00_W_5_00 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_8_00_W_5_00_tmp |
| nshort_L_8_00_W_7_00_tmp = INTERNAL nshort_L_8_00 == 7.0 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_8_00_W_7_00 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_8_00_W_7_00_tmp |
| nshort_L_20_0 = LENGTH ("nshort" COINCIDENT INSIDE EDGE diff) == 20.0 |
| "k_282_nshort_L_20_0" { |
| @ keep: nshort_L_20_0 - nshort_L_20_0 |
| COPY nshort_L_20_0 |
| } |
| nshort_L_20_0_W_0_42_tmp = INTERNAL nshort_L_20_0 == 0.42 OPPOSITE PARALLEL ONLY REGION |
| nshort_L_20_0_W_0_42 = (WITH TEXT "nshort" "dummy_poly" textlabel) OR nshort_L_20_0_W_0_42_tmp |
| nshort_valid = nshort_L_20_0_W_0_42 OR |
| (nshort_L_8_00_W_7_00 OR |
| (nshort_L_8_00_W_5_00 OR |
| (nshort_L_8_00_W_3_00 OR |
| (nshort_L_8_00_W_1_00 OR |
| (nshort_L_8_00_W_0_55 OR |
| (nshort_L_8_00_W_0_42 OR |
| (nshort_L_4_00_W_7_00 OR |
| (nshort_L_4_00_W_5_00 OR |
| (nshort_L_4_00_W_3_00 OR |
| (nshort_L_4_00_W_1_00 OR |
| (nshort_L_4_00_W_0_55 OR |
| (nshort_L_4_00_W_0_42 OR |
| (nshort_L_2_00_W_7_00 OR |
| (nshort_L_2_00_W_5_00 OR |
| (nshort_L_2_00_W_3_00 OR |
| (nshort_L_2_00_W_1_00 OR |
| (nshort_L_2_00_W_0_55 OR |
| (nshort_L_2_00_W_0_42 OR |
| (nshort_L_1_00_W_7_00 OR |
| (nshort_L_1_00_W_5_00 OR |
| (nshort_L_1_00_W_3_00 OR |
| (nshort_L_1_00_W_1_00 OR |
| (nshort_L_1_00_W_0_55 OR |
| (nshort_L_1_00_W_0_42 OR |
| (nshort_L_0_50_W_7_00 OR |
| (nshort_L_0_50_W_5_00 OR |
| (nshort_L_0_50_W_3_00 OR |
| (nshort_L_0_50_W_1_00 OR |
| (nshort_L_0_50_W_0_65 OR |
| (nshort_L_0_50_W_0_55 OR |
| (nshort_L_0_50_W_0_42 OR |
| (nshort_L_0_25_W_7_00 OR |
| (nshort_L_0_25_W_5_00 OR |
| (nshort_L_0_25_W_3_00 OR |
| (nshort_L_0_25_W_1_00 OR |
| (nshort_L_0_25_W_0_65 OR |
| (nshort_L_0_18_W_7_00 OR |
| (nshort_L_0_18_W_5_00 OR |
| (nshort_L_0_18_W_3_00 OR |
| (nshort_L_0_18_W_1_00 OR |
| (nshort_L_0_18_W_0_65 OR |
| (nshort_L_0_18_W_0_42 OR |
| (nshort_L_0_15_W_7_00 OR |
| (nshort_L_0_15_W_5_00 OR |
| (nshort_L_0_15_W_3_00 OR |
| (nshort_L_0_15_W_2_00 OR |
| (nshort_L_0_15_W_1_68 OR |
| (nshort_L_0_15_W_1_26 OR |
| (nshort_L_0_15_W_1_00 OR |
| (nshort_L_0_15_W_0_84 OR |
| (nshort_L_0_15_W_0_74 OR |
| (nshort_L_0_15_W_0_65 OR |
| (nshort_L_0_15_W_0_64 OR |
| (nshort_L_0_15_W_0_61 OR |
| (nshort_L_0_15_W_0_60 OR |
| (nshort_L_0_15_W_0_58 OR |
| (nshort_L_0_15_W_0_55 OR |
| (nshort_L_0_15_W_0_54 OR |
| (nshort_L_0_15_W_0_52 OR |
| (nshort_L_0_15_W_0_42 OR |
| (nshort_L_0_15_W_0_39 OR nshort_L_0_15_W_0_36))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
| "k_283_nshort_valid" { |
| @ keep: nshort_valid - nshort_valid |
| COPY nshort_valid |
| } |
| nshort_invalid = nshort NOT (exemptDecaps OR nshort_valid) |
| "r_623_Poly.X.1" { |
| @ Poly.X.1: This nshort device has an invalid W/L. Please see MRGA |
| COPY nshort_invalid |
| } |
| s8rf_nshort_W5p0_L0p18_M4_b = rfGate AND (EXTENT CELL "s8rf_nshort_W5p0_L0p18_M4_b") |
| "k_284_s8rf_nshort_W5p0_L0p18_M4_b" { |
| @ keep: s8rf_nshort_W5p0_L0p18_M4_b - s8rf_nshort_W5p0_L0p18_M4_b |
| COPY s8rf_nshort_W5p0_L0p18_M4_b |
| } |
| s8rf_nshort_W5p0_L0p18_M4_b_L_0_18 = LENGTH (s8rf_nshort_W5p0_L0p18_M4_b COINCIDENT INSIDE EDGE diff) == 0.18 |
| "k_285_s8rf_nshort_W5p0_L0p18_M4_b_L_0_18" { |
| @ keep: s8rf_nshort_W5p0_L0p18_M4_b_L_0_18 - s8rf_nshort_W5p0_L0p18_M4_b_L_0_18 |
| COPY s8rf_nshort_W5p0_L0p18_M4_b_L_0_18 |
| } |
| s8rf_nshort_W5p0_L0p18_M4_b_L_0_18_W_5_05_tmp = INTERNAL s8rf_nshort_W5p0_L0p18_M4_b_L_0_18 == 5.05 OPPOSITE PARALLEL ONLY REGION |
| s8rf_nshort_W5p0_L0p18_M4_b_L_0_18_W_5_05 = (WITH TEXT s8rf_nshort_W5p0_L0p18_M4_b "dummy_poly" textlabel) OR s8rf_nshort_W5p0_L0p18_M4_b_L_0_18_W_5_05_tmp |
| s8rf_nshort_W5p0_L0p18_M4_b_valid = COPY s8rf_nshort_W5p0_L0p18_M4_b_L_0_18_W_5_05 |
| "k_286_s8rf_nshort_W5p0_L0p18_M4_b_valid" { |
| @ keep: s8rf_nshort_W5p0_L0p18_M4_b_valid - s8rf_nshort_W5p0_L0p18_M4_b_valid |
| COPY s8rf_nshort_W5p0_L0p18_M4_b_valid |
| } |
| s8rf_nshort_W5p0_L0p18_M4_b_invalid = s8rf_nshort_W5p0_L0p18_M4_b NOT (exemptDecaps OR s8rf_nshort_W5p0_L0p18_M4_b_valid) |
| "r_624_Poly.X.1" { |
| @ Poly.X.1: This s8rf_nshort_W5p0_L0p18_M4_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_nshort_W5p0_L0p18_M4_b_invalid |
| } |
| s8rf_nlowvt_W1p65_L0p25_M2_b = rfGate AND (EXTENT CELL "s8rf_nlowvt_W1p65_L0p25_M2_b") |
| "k_287_s8rf_nlowvt_W1p65_L0p25_M2_b" { |
| @ keep: s8rf_nlowvt_W1p65_L0p25_M2_b - s8rf_nlowvt_W1p65_L0p25_M2_b |
| COPY s8rf_nlowvt_W1p65_L0p25_M2_b |
| } |
| s8rf_nlowvt_W1p65_L0p25_M2_b_L_0_25 = LENGTH (s8rf_nlowvt_W1p65_L0p25_M2_b COINCIDENT INSIDE EDGE diff) == 0.25 |
| "k_288_s8rf_nlowvt_W1p65_L0p25_M2_b_L_0_25" { |
| @ keep: s8rf_nlowvt_W1p65_L0p25_M2_b_L_0_25 - s8rf_nlowvt_W1p65_L0p25_M2_b_L_0_25 |
| COPY s8rf_nlowvt_W1p65_L0p25_M2_b_L_0_25 |
| } |
| s8rf_nlowvt_W1p65_L0p25_M2_b_L_0_25_W_1_65_tmp = INTERNAL s8rf_nlowvt_W1p65_L0p25_M2_b_L_0_25 == 1.65 OPPOSITE PARALLEL ONLY REGION |
| s8rf_nlowvt_W1p65_L0p25_M2_b_L_0_25_W_1_65 = (WITH TEXT s8rf_nlowvt_W1p65_L0p25_M2_b "dummy_poly" textlabel) OR s8rf_nlowvt_W1p65_L0p25_M2_b_L_0_25_W_1_65_tmp |
| s8rf_nlowvt_W1p65_L0p25_M2_b_valid = COPY s8rf_nlowvt_W1p65_L0p25_M2_b_L_0_25_W_1_65 |
| "k_289_s8rf_nlowvt_W1p65_L0p25_M2_b_valid" { |
| @ keep: s8rf_nlowvt_W1p65_L0p25_M2_b_valid - s8rf_nlowvt_W1p65_L0p25_M2_b_valid |
| COPY s8rf_nlowvt_W1p65_L0p25_M2_b_valid |
| } |
| s8rf_nlowvt_W1p65_L0p25_M2_b_invalid = s8rf_nlowvt_W1p65_L0p25_M2_b NOT (exemptDecaps OR s8rf_nlowvt_W1p65_L0p25_M2_b_valid) |
| "r_625_Poly.X.1" { |
| @ Poly.X.1: This s8rf_nlowvt_W1p65_L0p25_M2_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_nlowvt_W1p65_L0p25_M2_b_invalid |
| } |
| s8rf_nhv_W5p0_L0p5_M10_b = rfGate AND (EXTENT CELL "s8rf_nhv_W5p0_L0p5_M10_b") |
| "k_290_s8rf_nhv_W5p0_L0p5_M10_b" { |
| @ keep: s8rf_nhv_W5p0_L0p5_M10_b - s8rf_nhv_W5p0_L0p5_M10_b |
| COPY s8rf_nhv_W5p0_L0p5_M10_b |
| } |
| s8rf_nhv_W5p0_L0p5_M10_b_L_0_50 = LENGTH (s8rf_nhv_W5p0_L0p5_M10_b COINCIDENT INSIDE EDGE diff) == 0.5 |
| "k_291_s8rf_nhv_W5p0_L0p5_M10_b_L_0_50" { |
| @ keep: s8rf_nhv_W5p0_L0p5_M10_b_L_0_50 - s8rf_nhv_W5p0_L0p5_M10_b_L_0_50 |
| COPY s8rf_nhv_W5p0_L0p5_M10_b_L_0_50 |
| } |
| s8rf_nhv_W5p0_L0p5_M10_b_L_0_50_W_5_05_tmp = INTERNAL s8rf_nhv_W5p0_L0p5_M10_b_L_0_50 == 5.05 OPPOSITE PARALLEL ONLY REGION |
| s8rf_nhv_W5p0_L0p5_M10_b_L_0_50_W_5_05 = (WITH TEXT s8rf_nhv_W5p0_L0p5_M10_b "dummy_poly" textlabel) OR s8rf_nhv_W5p0_L0p5_M10_b_L_0_50_W_5_05_tmp |
| s8rf_nhv_W5p0_L0p5_M10_b_valid = COPY s8rf_nhv_W5p0_L0p5_M10_b_L_0_50_W_5_05 |
| "k_292_s8rf_nhv_W5p0_L0p5_M10_b_valid" { |
| @ keep: s8rf_nhv_W5p0_L0p5_M10_b_valid - s8rf_nhv_W5p0_L0p5_M10_b_valid |
| COPY s8rf_nhv_W5p0_L0p5_M10_b_valid |
| } |
| s8rf_nhv_W5p0_L0p5_M10_b_invalid = s8rf_nhv_W5p0_L0p5_M10_b NOT (exemptDecaps OR s8rf_nhv_W5p0_L0p5_M10_b_valid) |
| "r_626_Poly.X.1" { |
| @ Poly.X.1: This s8rf_nhv_W5p0_L0p5_M10_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_nhv_W5p0_L0p5_M10_b_invalid |
| } |
| s8rf_nshort_W3p0_L0p25_M4_b = rfGate AND (EXTENT CELL "s8rf_nshort_W3p0_L0p25_M4_b") |
| "k_293_s8rf_nshort_W3p0_L0p25_M4_b" { |
| @ keep: s8rf_nshort_W3p0_L0p25_M4_b - s8rf_nshort_W3p0_L0p25_M4_b |
| COPY s8rf_nshort_W3p0_L0p25_M4_b |
| } |
| s8rf_nshort_W3p0_L0p25_M4_b_L_0_25 = LENGTH (s8rf_nshort_W3p0_L0p25_M4_b COINCIDENT INSIDE EDGE diff) == 0.25 |
| "k_294_s8rf_nshort_W3p0_L0p25_M4_b_L_0_25" { |
| @ keep: s8rf_nshort_W3p0_L0p25_M4_b_L_0_25 - s8rf_nshort_W3p0_L0p25_M4_b_L_0_25 |
| COPY s8rf_nshort_W3p0_L0p25_M4_b_L_0_25 |
| } |
| s8rf_nshort_W3p0_L0p25_M4_b_L_0_25_W_3_01_tmp = INTERNAL s8rf_nshort_W3p0_L0p25_M4_b_L_0_25 == 3.01 OPPOSITE PARALLEL ONLY REGION |
| s8rf_nshort_W3p0_L0p25_M4_b_L_0_25_W_3_01 = (WITH TEXT s8rf_nshort_W3p0_L0p25_M4_b "dummy_poly" textlabel) OR s8rf_nshort_W3p0_L0p25_M4_b_L_0_25_W_3_01_tmp |
| s8rf_nshort_W3p0_L0p25_M4_b_valid = COPY s8rf_nshort_W3p0_L0p25_M4_b_L_0_25_W_3_01 |
| "k_295_s8rf_nshort_W3p0_L0p25_M4_b_valid" { |
| @ keep: s8rf_nshort_W3p0_L0p25_M4_b_valid - s8rf_nshort_W3p0_L0p25_M4_b_valid |
| COPY s8rf_nshort_W3p0_L0p25_M4_b_valid |
| } |
| s8rf_nshort_W3p0_L0p25_M4_b_invalid = s8rf_nshort_W3p0_L0p25_M4_b NOT (exemptDecaps OR s8rf_nshort_W3p0_L0p25_M4_b_valid) |
| "r_627_Poly.X.1" { |
| @ Poly.X.1: This s8rf_nshort_W3p0_L0p25_M4_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_nshort_W3p0_L0p25_M4_b_invalid |
| } |
| s8rf_nhv_W3p0_L0p5_M2_b = rfGate AND (EXTENT CELL "s8rf_nhv_W3p0_L0p5_M2_b") |
| "k_296_s8rf_nhv_W3p0_L0p5_M2_b" { |
| @ keep: s8rf_nhv_W3p0_L0p5_M2_b - s8rf_nhv_W3p0_L0p5_M2_b |
| COPY s8rf_nhv_W3p0_L0p5_M2_b |
| } |
| s8rf_nhv_W3p0_L0p5_M2_b_L_0_50 = LENGTH (s8rf_nhv_W3p0_L0p5_M2_b COINCIDENT INSIDE EDGE diff) == 0.5 |
| "k_297_s8rf_nhv_W3p0_L0p5_M2_b_L_0_50" { |
| @ keep: s8rf_nhv_W3p0_L0p5_M2_b_L_0_50 - s8rf_nhv_W3p0_L0p5_M2_b_L_0_50 |
| COPY s8rf_nhv_W3p0_L0p5_M2_b_L_0_50 |
| } |
| s8rf_nhv_W3p0_L0p5_M2_b_L_0_50_W_3_01_tmp = INTERNAL s8rf_nhv_W3p0_L0p5_M2_b_L_0_50 == 3.01 OPPOSITE PARALLEL ONLY REGION |
| s8rf_nhv_W3p0_L0p5_M2_b_L_0_50_W_3_01 = (WITH TEXT s8rf_nhv_W3p0_L0p5_M2_b "dummy_poly" textlabel) OR s8rf_nhv_W3p0_L0p5_M2_b_L_0_50_W_3_01_tmp |
| s8rf_nhv_W3p0_L0p5_M2_b_valid = COPY s8rf_nhv_W3p0_L0p5_M2_b_L_0_50_W_3_01 |
| "k_298_s8rf_nhv_W3p0_L0p5_M2_b_valid" { |
| @ keep: s8rf_nhv_W3p0_L0p5_M2_b_valid - s8rf_nhv_W3p0_L0p5_M2_b_valid |
| COPY s8rf_nhv_W3p0_L0p5_M2_b_valid |
| } |
| s8rf_nhv_W3p0_L0p5_M2_b_invalid = s8rf_nhv_W3p0_L0p5_M2_b NOT (exemptDecaps OR s8rf_nhv_W3p0_L0p5_M2_b_valid) |
| "r_628_Poly.X.1" { |
| @ Poly.X.1: This s8rf_nhv_W3p0_L0p5_M2_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_nhv_W3p0_L0p5_M2_b_invalid |
| } |
| s8rf_nlowvt_W1p65_L0p18_M2_b = rfGate AND (EXTENT CELL "s8rf_nlowvt_W1p65_L0p18_M2_b") |
| "k_299_s8rf_nlowvt_W1p65_L0p18_M2_b" { |
| @ keep: s8rf_nlowvt_W1p65_L0p18_M2_b - s8rf_nlowvt_W1p65_L0p18_M2_b |
| COPY s8rf_nlowvt_W1p65_L0p18_M2_b |
| } |
| s8rf_nlowvt_W1p65_L0p18_M2_b_L_0_18 = LENGTH (s8rf_nlowvt_W1p65_L0p18_M2_b COINCIDENT INSIDE EDGE diff) == 0.18 |
| "k_300_s8rf_nlowvt_W1p65_L0p18_M2_b_L_0_18" { |
| @ keep: s8rf_nlowvt_W1p65_L0p18_M2_b_L_0_18 - s8rf_nlowvt_W1p65_L0p18_M2_b_L_0_18 |
| COPY s8rf_nlowvt_W1p65_L0p18_M2_b_L_0_18 |
| } |
| s8rf_nlowvt_W1p65_L0p18_M2_b_L_0_18_W_1_65_tmp = INTERNAL s8rf_nlowvt_W1p65_L0p18_M2_b_L_0_18 == 1.65 OPPOSITE PARALLEL ONLY REGION |
| s8rf_nlowvt_W1p65_L0p18_M2_b_L_0_18_W_1_65 = (WITH TEXT s8rf_nlowvt_W1p65_L0p18_M2_b "dummy_poly" textlabel) OR s8rf_nlowvt_W1p65_L0p18_M2_b_L_0_18_W_1_65_tmp |
| s8rf_nlowvt_W1p65_L0p18_M2_b_valid = COPY s8rf_nlowvt_W1p65_L0p18_M2_b_L_0_18_W_1_65 |
| "k_301_s8rf_nlowvt_W1p65_L0p18_M2_b_valid" { |
| @ keep: s8rf_nlowvt_W1p65_L0p18_M2_b_valid - s8rf_nlowvt_W1p65_L0p18_M2_b_valid |
| COPY s8rf_nlowvt_W1p65_L0p18_M2_b_valid |
| } |
| s8rf_nlowvt_W1p65_L0p18_M2_b_invalid = s8rf_nlowvt_W1p65_L0p18_M2_b NOT (exemptDecaps OR s8rf_nlowvt_W1p65_L0p18_M2_b_valid) |
| "r_629_Poly.X.1" { |
| @ Poly.X.1: This s8rf_nlowvt_W1p65_L0p18_M2_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_nlowvt_W1p65_L0p18_M2_b_invalid |
| } |
| nlvtpass_L_0_15 = LENGTH ("nlvtpass" COINCIDENT INSIDE EDGE diff) == 0.15 |
| "k_302_nlvtpass_L_0_15" { |
| @ keep: nlvtpass_L_0_15 - nlvtpass_L_0_15 |
| COPY nlvtpass_L_0_15 |
| } |
| nlvtpass_L_0_15_W_0_30_tmp = INTERNAL nlvtpass_L_0_15 == 0.3 OPPOSITE PARALLEL ONLY REGION |
| nlvtpass_L_0_15_W_0_30 = (WITH TEXT "nlvtpass" "dummy_poly" textlabel) OR nlvtpass_L_0_15_W_0_30_tmp |
| nlvtpass_valid = COPY nlvtpass_L_0_15_W_0_30 |
| "k_303_nlvtpass_valid" { |
| @ keep: nlvtpass_valid - nlvtpass_valid |
| COPY nlvtpass_valid |
| } |
| nlvtpass_invalid = nlvtpass NOT (exemptDecaps OR nlvtpass_valid) |
| "r_630_Poly.X.1" { |
| @ Poly.X.1: This nlvtpass device has an invalid W/L. Please see MRGA |
| COPY nlvtpass_invalid |
| } |
| s8rf_nshort_W1p65_L0p18_M2_b = rfGate AND (EXTENT CELL "s8rf_nshort_W1p65_L0p18_M2_b") |
| "k_304_s8rf_nshort_W1p65_L0p18_M2_b" { |
| @ keep: s8rf_nshort_W1p65_L0p18_M2_b - s8rf_nshort_W1p65_L0p18_M2_b |
| COPY s8rf_nshort_W1p65_L0p18_M2_b |
| } |
| s8rf_nshort_W1p65_L0p18_M2_b_L_0_18 = LENGTH (s8rf_nshort_W1p65_L0p18_M2_b COINCIDENT INSIDE EDGE diff) == 0.18 |
| "k_305_s8rf_nshort_W1p65_L0p18_M2_b_L_0_18" { |
| @ keep: s8rf_nshort_W1p65_L0p18_M2_b_L_0_18 - s8rf_nshort_W1p65_L0p18_M2_b_L_0_18 |
| COPY s8rf_nshort_W1p65_L0p18_M2_b_L_0_18 |
| } |
| s8rf_nshort_W1p65_L0p18_M2_b_L_0_18_W_1_65_tmp = INTERNAL s8rf_nshort_W1p65_L0p18_M2_b_L_0_18 == 1.65 OPPOSITE PARALLEL ONLY REGION |
| s8rf_nshort_W1p65_L0p18_M2_b_L_0_18_W_1_65 = (WITH TEXT s8rf_nshort_W1p65_L0p18_M2_b "dummy_poly" textlabel) OR s8rf_nshort_W1p65_L0p18_M2_b_L_0_18_W_1_65_tmp |
| s8rf_nshort_W1p65_L0p18_M2_b_valid = COPY s8rf_nshort_W1p65_L0p18_M2_b_L_0_18_W_1_65 |
| "k_306_s8rf_nshort_W1p65_L0p18_M2_b_valid" { |
| @ keep: s8rf_nshort_W1p65_L0p18_M2_b_valid - s8rf_nshort_W1p65_L0p18_M2_b_valid |
| COPY s8rf_nshort_W1p65_L0p18_M2_b_valid |
| } |
| s8rf_nshort_W1p65_L0p18_M2_b_invalid = s8rf_nshort_W1p65_L0p18_M2_b NOT (exemptDecaps OR s8rf_nshort_W1p65_L0p18_M2_b_valid) |
| "r_631_Poly.X.1" { |
| @ Poly.X.1: This s8rf_nshort_W1p65_L0p18_M2_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_nshort_W1p65_L0p18_M2_b_invalid |
| } |
| s8rf_nlowvt_W5p0_L0p15_M4_b = rfGate AND (EXTENT CELL "s8rf_nlowvt_W5p0_L0p15_M4_b") |
| "k_307_s8rf_nlowvt_W5p0_L0p15_M4_b" { |
| @ keep: s8rf_nlowvt_W5p0_L0p15_M4_b - s8rf_nlowvt_W5p0_L0p15_M4_b |
| COPY s8rf_nlowvt_W5p0_L0p15_M4_b |
| } |
| s8rf_nlowvt_W5p0_L0p15_M4_b_L_0_15 = LENGTH (s8rf_nlowvt_W5p0_L0p15_M4_b COINCIDENT INSIDE EDGE diff) == 0.15 |
| "k_308_s8rf_nlowvt_W5p0_L0p15_M4_b_L_0_15" { |
| @ keep: s8rf_nlowvt_W5p0_L0p15_M4_b_L_0_15 - s8rf_nlowvt_W5p0_L0p15_M4_b_L_0_15 |
| COPY s8rf_nlowvt_W5p0_L0p15_M4_b_L_0_15 |
| } |
| s8rf_nlowvt_W5p0_L0p15_M4_b_L_0_15_W_5_05_tmp = INTERNAL s8rf_nlowvt_W5p0_L0p15_M4_b_L_0_15 == 5.05 OPPOSITE PARALLEL ONLY REGION |
| s8rf_nlowvt_W5p0_L0p15_M4_b_L_0_15_W_5_05 = (WITH TEXT s8rf_nlowvt_W5p0_L0p15_M4_b "dummy_poly" textlabel) OR s8rf_nlowvt_W5p0_L0p15_M4_b_L_0_15_W_5_05_tmp |
| s8rf_nlowvt_W5p0_L0p15_M4_b_valid = COPY s8rf_nlowvt_W5p0_L0p15_M4_b_L_0_15_W_5_05 |
| "k_309_s8rf_nlowvt_W5p0_L0p15_M4_b_valid" { |
| @ keep: s8rf_nlowvt_W5p0_L0p15_M4_b_valid - s8rf_nlowvt_W5p0_L0p15_M4_b_valid |
| COPY s8rf_nlowvt_W5p0_L0p15_M4_b_valid |
| } |
| s8rf_nlowvt_W5p0_L0p15_M4_b_invalid = s8rf_nlowvt_W5p0_L0p15_M4_b NOT (exemptDecaps OR s8rf_nlowvt_W5p0_L0p15_M4_b_valid) |
| "r_632_Poly.X.1" { |
| @ Poly.X.1: This s8rf_nlowvt_W5p0_L0p15_M4_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_nlowvt_W5p0_L0p15_M4_b_invalid |
| } |
| s8rf_nlowvt_W1p65_L0p18_M4_b = rfGate AND (EXTENT CELL "s8rf_nlowvt_W1p65_L0p18_M4_b") |
| "k_310_s8rf_nlowvt_W1p65_L0p18_M4_b" { |
| @ keep: s8rf_nlowvt_W1p65_L0p18_M4_b - s8rf_nlowvt_W1p65_L0p18_M4_b |
| COPY s8rf_nlowvt_W1p65_L0p18_M4_b |
| } |
| s8rf_nlowvt_W1p65_L0p18_M4_b_L_0_18 = LENGTH (s8rf_nlowvt_W1p65_L0p18_M4_b COINCIDENT INSIDE EDGE diff) == 0.18 |
| "k_311_s8rf_nlowvt_W1p65_L0p18_M4_b_L_0_18" { |
| @ keep: s8rf_nlowvt_W1p65_L0p18_M4_b_L_0_18 - s8rf_nlowvt_W1p65_L0p18_M4_b_L_0_18 |
| COPY s8rf_nlowvt_W1p65_L0p18_M4_b_L_0_18 |
| } |
| s8rf_nlowvt_W1p65_L0p18_M4_b_L_0_18_W_1_65_tmp = INTERNAL s8rf_nlowvt_W1p65_L0p18_M4_b_L_0_18 == 1.65 OPPOSITE PARALLEL ONLY REGION |
| s8rf_nlowvt_W1p65_L0p18_M4_b_L_0_18_W_1_65 = (WITH TEXT s8rf_nlowvt_W1p65_L0p18_M4_b "dummy_poly" textlabel) OR s8rf_nlowvt_W1p65_L0p18_M4_b_L_0_18_W_1_65_tmp |
| s8rf_nlowvt_W1p65_L0p18_M4_b_valid = COPY s8rf_nlowvt_W1p65_L0p18_M4_b_L_0_18_W_1_65 |
| "k_312_s8rf_nlowvt_W1p65_L0p18_M4_b_valid" { |
| @ keep: s8rf_nlowvt_W1p65_L0p18_M4_b_valid - s8rf_nlowvt_W1p65_L0p18_M4_b_valid |
| COPY s8rf_nlowvt_W1p65_L0p18_M4_b_valid |
| } |
| s8rf_nlowvt_W1p65_L0p18_M4_b_invalid = s8rf_nlowvt_W1p65_L0p18_M4_b NOT (exemptDecaps OR s8rf_nlowvt_W1p65_L0p18_M4_b_valid) |
| "r_633_Poly.X.1" { |
| @ Poly.X.1: This s8rf_nlowvt_W1p65_L0p18_M4_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_nlowvt_W1p65_L0p18_M4_b_invalid |
| } |
| s8rf_nlowvt_W5p0_L0p18_M4_b = rfGate AND (EXTENT CELL "s8rf_nlowvt_W5p0_L0p18_M4_b") |
| "k_313_s8rf_nlowvt_W5p0_L0p18_M4_b" { |
| @ keep: s8rf_nlowvt_W5p0_L0p18_M4_b - s8rf_nlowvt_W5p0_L0p18_M4_b |
| COPY s8rf_nlowvt_W5p0_L0p18_M4_b |
| } |
| s8rf_nlowvt_W5p0_L0p18_M4_b_L_0_18 = LENGTH (s8rf_nlowvt_W5p0_L0p18_M4_b COINCIDENT INSIDE EDGE diff) == 0.18 |
| "k_314_s8rf_nlowvt_W5p0_L0p18_M4_b_L_0_18" { |
| @ keep: s8rf_nlowvt_W5p0_L0p18_M4_b_L_0_18 - s8rf_nlowvt_W5p0_L0p18_M4_b_L_0_18 |
| COPY s8rf_nlowvt_W5p0_L0p18_M4_b_L_0_18 |
| } |
| s8rf_nlowvt_W5p0_L0p18_M4_b_L_0_18_W_5_05_tmp = INTERNAL s8rf_nlowvt_W5p0_L0p18_M4_b_L_0_18 == 5.05 OPPOSITE PARALLEL ONLY REGION |
| s8rf_nlowvt_W5p0_L0p18_M4_b_L_0_18_W_5_05 = (WITH TEXT s8rf_nlowvt_W5p0_L0p18_M4_b "dummy_poly" textlabel) OR s8rf_nlowvt_W5p0_L0p18_M4_b_L_0_18_W_5_05_tmp |
| s8rf_nlowvt_W5p0_L0p18_M4_b_valid = COPY s8rf_nlowvt_W5p0_L0p18_M4_b_L_0_18_W_5_05 |
| "k_315_s8rf_nlowvt_W5p0_L0p18_M4_b_valid" { |
| @ keep: s8rf_nlowvt_W5p0_L0p18_M4_b_valid - s8rf_nlowvt_W5p0_L0p18_M4_b_valid |
| COPY s8rf_nlowvt_W5p0_L0p18_M4_b_valid |
| } |
| s8rf_nlowvt_W5p0_L0p18_M4_b_invalid = s8rf_nlowvt_W5p0_L0p18_M4_b NOT (exemptDecaps OR s8rf_nlowvt_W5p0_L0p18_M4_b_valid) |
| "r_634_Poly.X.1" { |
| @ Poly.X.1: This s8rf_nlowvt_W5p0_L0p18_M4_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_nlowvt_W5p0_L0p18_M4_b_invalid |
| } |
| s8rf_nlowvt_W3p0_L0p15_2F = rfGate AND (EXTENT CELL "s8rf_nlowvt_W3p0_L0p15_2F") |
| "k_316_s8rf_nlowvt_W3p0_L0p15_2F" { |
| @ keep: s8rf_nlowvt_W3p0_L0p15_2F - s8rf_nlowvt_W3p0_L0p15_2F |
| COPY s8rf_nlowvt_W3p0_L0p15_2F |
| } |
| s8rf_nlowvt_W3p0_L0p15_2F_L_0_15 = LENGTH (s8rf_nlowvt_W3p0_L0p15_2F COINCIDENT INSIDE EDGE diff) == 0.15 |
| "k_317_s8rf_nlowvt_W3p0_L0p15_2F_L_0_15" { |
| @ keep: s8rf_nlowvt_W3p0_L0p15_2F_L_0_15 - s8rf_nlowvt_W3p0_L0p15_2F_L_0_15 |
| COPY s8rf_nlowvt_W3p0_L0p15_2F_L_0_15 |
| } |
| s8rf_nlowvt_W3p0_L0p15_2F_L_0_15_W_3_00_tmp = INTERNAL s8rf_nlowvt_W3p0_L0p15_2F_L_0_15 == 3.0 OPPOSITE PARALLEL ONLY REGION |
| s8rf_nlowvt_W3p0_L0p15_2F_L_0_15_W_3_00 = (WITH TEXT s8rf_nlowvt_W3p0_L0p15_2F "dummy_poly" textlabel) OR s8rf_nlowvt_W3p0_L0p15_2F_L_0_15_W_3_00_tmp |
| s8rf_nlowvt_W3p0_L0p15_2F_valid = COPY s8rf_nlowvt_W3p0_L0p15_2F_L_0_15_W_3_00 |
| "k_318_s8rf_nlowvt_W3p0_L0p15_2F_valid" { |
| @ keep: s8rf_nlowvt_W3p0_L0p15_2F_valid - s8rf_nlowvt_W3p0_L0p15_2F_valid |
| COPY s8rf_nlowvt_W3p0_L0p15_2F_valid |
| } |
| s8rf_nlowvt_W3p0_L0p15_2F_invalid = s8rf_nlowvt_W3p0_L0p15_2F NOT (exemptDecaps OR s8rf_nlowvt_W3p0_L0p15_2F_valid) |
| "r_635_Poly.X.1" { |
| @ Poly.X.1: This s8rf_nlowvt_W3p0_L0p15_2F device has an invalid W/L. Please see MRGA |
| COPY s8rf_nlowvt_W3p0_L0p15_2F_invalid |
| } |
| s8rf_nshort_W3p0_L0p18_M2_b = rfGate AND (EXTENT CELL "s8rf_nshort_W3p0_L0p18_M2_b") |
| "k_319_s8rf_nshort_W3p0_L0p18_M2_b" { |
| @ keep: s8rf_nshort_W3p0_L0p18_M2_b - s8rf_nshort_W3p0_L0p18_M2_b |
| COPY s8rf_nshort_W3p0_L0p18_M2_b |
| } |
| s8rf_nshort_W3p0_L0p18_M2_b_L_0_18 = LENGTH (s8rf_nshort_W3p0_L0p18_M2_b COINCIDENT INSIDE EDGE diff) == 0.18 |
| "k_320_s8rf_nshort_W3p0_L0p18_M2_b_L_0_18" { |
| @ keep: s8rf_nshort_W3p0_L0p18_M2_b_L_0_18 - s8rf_nshort_W3p0_L0p18_M2_b_L_0_18 |
| COPY s8rf_nshort_W3p0_L0p18_M2_b_L_0_18 |
| } |
| s8rf_nshort_W3p0_L0p18_M2_b_L_0_18_W_3_01_tmp = INTERNAL s8rf_nshort_W3p0_L0p18_M2_b_L_0_18 == 3.01 OPPOSITE PARALLEL ONLY REGION |
| s8rf_nshort_W3p0_L0p18_M2_b_L_0_18_W_3_01 = (WITH TEXT s8rf_nshort_W3p0_L0p18_M2_b "dummy_poly" textlabel) OR s8rf_nshort_W3p0_L0p18_M2_b_L_0_18_W_3_01_tmp |
| s8rf_nshort_W3p0_L0p18_M2_b_valid = COPY s8rf_nshort_W3p0_L0p18_M2_b_L_0_18_W_3_01 |
| "k_321_s8rf_nshort_W3p0_L0p18_M2_b_valid" { |
| @ keep: s8rf_nshort_W3p0_L0p18_M2_b_valid - s8rf_nshort_W3p0_L0p18_M2_b_valid |
| COPY s8rf_nshort_W3p0_L0p18_M2_b_valid |
| } |
| s8rf_nshort_W3p0_L0p18_M2_b_invalid = s8rf_nshort_W3p0_L0p18_M2_b NOT (exemptDecaps OR s8rf_nshort_W3p0_L0p18_M2_b_valid) |
| "r_636_Poly.X.1" { |
| @ Poly.X.1: This s8rf_nshort_W3p0_L0p18_M2_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_nshort_W3p0_L0p18_M2_b_invalid |
| } |
| s8rf_nlowvt_W5p0_L0p18_M2_b = rfGate AND (EXTENT CELL "s8rf_nlowvt_W5p0_L0p18_M2_b") |
| "k_322_s8rf_nlowvt_W5p0_L0p18_M2_b" { |
| @ keep: s8rf_nlowvt_W5p0_L0p18_M2_b - s8rf_nlowvt_W5p0_L0p18_M2_b |
| COPY s8rf_nlowvt_W5p0_L0p18_M2_b |
| } |
| s8rf_nlowvt_W5p0_L0p18_M2_b_L_0_18 = LENGTH (s8rf_nlowvt_W5p0_L0p18_M2_b COINCIDENT INSIDE EDGE diff) == 0.18 |
| "k_323_s8rf_nlowvt_W5p0_L0p18_M2_b_L_0_18" { |
| @ keep: s8rf_nlowvt_W5p0_L0p18_M2_b_L_0_18 - s8rf_nlowvt_W5p0_L0p18_M2_b_L_0_18 |
| COPY s8rf_nlowvt_W5p0_L0p18_M2_b_L_0_18 |
| } |
| s8rf_nlowvt_W5p0_L0p18_M2_b_L_0_18_W_5_05_tmp = INTERNAL s8rf_nlowvt_W5p0_L0p18_M2_b_L_0_18 == 5.05 OPPOSITE PARALLEL ONLY REGION |
| s8rf_nlowvt_W5p0_L0p18_M2_b_L_0_18_W_5_05 = (WITH TEXT s8rf_nlowvt_W5p0_L0p18_M2_b "dummy_poly" textlabel) OR s8rf_nlowvt_W5p0_L0p18_M2_b_L_0_18_W_5_05_tmp |
| s8rf_nlowvt_W5p0_L0p18_M2_b_valid = COPY s8rf_nlowvt_W5p0_L0p18_M2_b_L_0_18_W_5_05 |
| "k_324_s8rf_nlowvt_W5p0_L0p18_M2_b_valid" { |
| @ keep: s8rf_nlowvt_W5p0_L0p18_M2_b_valid - s8rf_nlowvt_W5p0_L0p18_M2_b_valid |
| COPY s8rf_nlowvt_W5p0_L0p18_M2_b_valid |
| } |
| s8rf_nlowvt_W5p0_L0p18_M2_b_invalid = s8rf_nlowvt_W5p0_L0p18_M2_b NOT (exemptDecaps OR s8rf_nlowvt_W5p0_L0p18_M2_b_valid) |
| "r_637_Poly.X.1" { |
| @ Poly.X.1: This s8rf_nlowvt_W5p0_L0p18_M2_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_nlowvt_W5p0_L0p18_M2_b_invalid |
| } |
| s8rf_nhv_W7p0_L0p5_M4_b = rfGate AND (EXTENT CELL "s8rf_nhv_W7p0_L0p5_M4_b") |
| "k_325_s8rf_nhv_W7p0_L0p5_M4_b" { |
| @ keep: s8rf_nhv_W7p0_L0p5_M4_b - s8rf_nhv_W7p0_L0p5_M4_b |
| COPY s8rf_nhv_W7p0_L0p5_M4_b |
| } |
| s8rf_nhv_W7p0_L0p5_M4_b_L_0_50 = LENGTH (s8rf_nhv_W7p0_L0p5_M4_b COINCIDENT INSIDE EDGE diff) == 0.5 |
| "k_326_s8rf_nhv_W7p0_L0p5_M4_b_L_0_50" { |
| @ keep: s8rf_nhv_W7p0_L0p5_M4_b_L_0_50 - s8rf_nhv_W7p0_L0p5_M4_b_L_0_50 |
| COPY s8rf_nhv_W7p0_L0p5_M4_b_L_0_50 |
| } |
| s8rf_nhv_W7p0_L0p5_M4_b_L_0_50_W_7_09_tmp = INTERNAL s8rf_nhv_W7p0_L0p5_M4_b_L_0_50 == 7.09 OPPOSITE PARALLEL ONLY REGION |
| s8rf_nhv_W7p0_L0p5_M4_b_L_0_50_W_7_09 = (WITH TEXT s8rf_nhv_W7p0_L0p5_M4_b "dummy_poly" textlabel) OR s8rf_nhv_W7p0_L0p5_M4_b_L_0_50_W_7_09_tmp |
| s8rf_nhv_W7p0_L0p5_M4_b_valid = COPY s8rf_nhv_W7p0_L0p5_M4_b_L_0_50_W_7_09 |
| "k_327_s8rf_nhv_W7p0_L0p5_M4_b_valid" { |
| @ keep: s8rf_nhv_W7p0_L0p5_M4_b_valid - s8rf_nhv_W7p0_L0p5_M4_b_valid |
| COPY s8rf_nhv_W7p0_L0p5_M4_b_valid |
| } |
| s8rf_nhv_W7p0_L0p5_M4_b_invalid = s8rf_nhv_W7p0_L0p5_M4_b NOT (exemptDecaps OR s8rf_nhv_W7p0_L0p5_M4_b_valid) |
| "r_638_Poly.X.1" { |
| @ Poly.X.1: This s8rf_nhv_W7p0_L0p5_M4_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_nhv_W7p0_L0p5_M4_b_invalid |
| } |
| nhvesd_L_0_55 = LENGTH ("nhvesd" COINCIDENT INSIDE EDGE diff) == 0.55 |
| "k_328_nhvesd_L_0_55" { |
| @ keep: nhvesd_L_0_55 - nhvesd_L_0_55 |
| COPY nhvesd_L_0_55 |
| } |
| nhvesd_L_0_55_W_17_50_tmp = INTERNAL nhvesd_L_0_55 == 17.5 OPPOSITE PARALLEL ONLY REGION |
| nhvesd_L_0_55_W_17_50 = (WITH TEXT "nhvesd" "dummy_poly" textlabel) OR nhvesd_L_0_55_W_17_50_tmp |
| nhvesd_L_0_55_W_19_50_tmp = INTERNAL nhvesd_L_0_55 == 19.5 OPPOSITE PARALLEL ONLY REGION |
| nhvesd_L_0_55_W_19_50 = (WITH TEXT "nhvesd" "dummy_poly" textlabel) OR nhvesd_L_0_55_W_19_50_tmp |
| nhvesd_L_0_55_W_21_50_tmp = INTERNAL nhvesd_L_0_55 == 21.5 OPPOSITE PARALLEL ONLY REGION |
| nhvesd_L_0_55_W_21_50 = (WITH TEXT "nhvesd" "dummy_poly" textlabel) OR nhvesd_L_0_55_W_21_50_tmp |
| nhvesd_L_0_55_W_23_50_tmp = INTERNAL nhvesd_L_0_55 == 23.5 OPPOSITE PARALLEL ONLY REGION |
| nhvesd_L_0_55_W_23_50 = (WITH TEXT "nhvesd" "dummy_poly" textlabel) OR nhvesd_L_0_55_W_23_50_tmp |
| nhvesd_L_0_55_W_26_50_tmp = INTERNAL nhvesd_L_0_55 == 26.5 OPPOSITE PARALLEL ONLY REGION |
| nhvesd_L_0_55_W_26_50 = (WITH TEXT "nhvesd" "dummy_poly" textlabel) OR nhvesd_L_0_55_W_26_50_tmp |
| nhvesd_L_0_55_W_30_25_tmp = INTERNAL nhvesd_L_0_55 == 30.25 OPPOSITE PARALLEL ONLY REGION |
| nhvesd_L_0_55_W_30_25 = (WITH TEXT "nhvesd" "dummy_poly" textlabel) OR nhvesd_L_0_55_W_30_25_tmp |
| nhvesd_L_0_55_W_40_31_tmp = INTERNAL nhvesd_L_0_55 == 40.31 OPPOSITE PARALLEL ONLY REGION |
| nhvesd_L_0_55_W_40_31 = (WITH TEXT "nhvesd" "dummy_poly" textlabel) OR nhvesd_L_0_55_W_40_31_tmp |
| nhvesd_L_0_55_W_50_99_tmp = INTERNAL nhvesd_L_0_55 == 50.99 OPPOSITE PARALLEL ONLY REGION |
| nhvesd_L_0_55_W_50_99 = (WITH TEXT "nhvesd" "dummy_poly" textlabel) OR nhvesd_L_0_55_W_50_99_tmp |
| nhvesd_L_0_60 = LENGTH ("nhvesd" COINCIDENT INSIDE EDGE diff) == 0.6 |
| "k_329_nhvesd_L_0_60" { |
| @ keep: nhvesd_L_0_60 - nhvesd_L_0_60 |
| COPY nhvesd_L_0_60 |
| } |
| nhvesd_L_0_60_W_5_40_tmp = INTERNAL nhvesd_L_0_60 == 5.4 OPPOSITE PARALLEL ONLY REGION |
| nhvesd_L_0_60_W_5_40 = (WITH TEXT "nhvesd" "dummy_poly" textlabel) OR nhvesd_L_0_60_W_5_40_tmp |
| nhvesd_L_1_00 = LENGTH ("nhvesd" COINCIDENT INSIDE EDGE diff) == 1.0 |
| "k_330_nhvesd_L_1_00" { |
| @ keep: nhvesd_L_1_00 - nhvesd_L_1_00 |
| COPY nhvesd_L_1_00 |
| } |
| nhvesd_L_1_00_W_30_25_tmp = INTERNAL nhvesd_L_1_00 == 30.25 OPPOSITE PARALLEL ONLY REGION |
| nhvesd_L_1_00_W_30_25 = (WITH TEXT "nhvesd" "dummy_poly" textlabel) OR nhvesd_L_1_00_W_30_25_tmp |
| nhvesd_L_1_00_W_50_99_tmp = INTERNAL nhvesd_L_1_00 == 50.99 OPPOSITE PARALLEL ONLY REGION |
| nhvesd_L_1_00_W_50_99 = (WITH TEXT "nhvesd" "dummy_poly" textlabel) OR nhvesd_L_1_00_W_50_99_tmp |
| nhvesd_valid = nhvesd_L_1_00_W_50_99 OR |
| (nhvesd_L_1_00_W_30_25 OR |
| (nhvesd_L_0_60_W_5_40 OR |
| (nhvesd_L_0_55_W_50_99 OR |
| (nhvesd_L_0_55_W_40_31 OR |
| (nhvesd_L_0_55_W_30_25 OR |
| (nhvesd_L_0_55_W_26_50 OR |
| (nhvesd_L_0_55_W_23_50 OR |
| (nhvesd_L_0_55_W_21_50 OR |
| (nhvesd_L_0_55_W_19_50 OR nhvesd_L_0_55_W_17_50))))))))) |
| "k_331_nhvesd_valid" { |
| @ keep: nhvesd_valid - nhvesd_valid |
| COPY nhvesd_valid |
| } |
| nhvesd_invalid = nhvesd NOT (exemptDecaps OR nhvesd_valid) |
| "r_639_Poly.X.1" { |
| @ Poly.X.1: This nhvesd device has an invalid W/L. Please see MRGA |
| COPY nhvesd_invalid |
| } |
| s8rf_nshort_W1p65_L0p25_M2_b = rfGate AND (EXTENT CELL "s8rf_nshort_W1p65_L0p25_M2_b") |
| "k_332_s8rf_nshort_W1p65_L0p25_M2_b" { |
| @ keep: s8rf_nshort_W1p65_L0p25_M2_b - s8rf_nshort_W1p65_L0p25_M2_b |
| COPY s8rf_nshort_W1p65_L0p25_M2_b |
| } |
| s8rf_nshort_W1p65_L0p25_M2_b_L_0_25 = LENGTH (s8rf_nshort_W1p65_L0p25_M2_b COINCIDENT INSIDE EDGE diff) == 0.25 |
| "k_333_s8rf_nshort_W1p65_L0p25_M2_b_L_0_25" { |
| @ keep: s8rf_nshort_W1p65_L0p25_M2_b_L_0_25 - s8rf_nshort_W1p65_L0p25_M2_b_L_0_25 |
| COPY s8rf_nshort_W1p65_L0p25_M2_b_L_0_25 |
| } |
| s8rf_nshort_W1p65_L0p25_M2_b_L_0_25_W_1_65_tmp = INTERNAL s8rf_nshort_W1p65_L0p25_M2_b_L_0_25 == 1.65 OPPOSITE PARALLEL ONLY REGION |
| s8rf_nshort_W1p65_L0p25_M2_b_L_0_25_W_1_65 = (WITH TEXT s8rf_nshort_W1p65_L0p25_M2_b "dummy_poly" textlabel) OR s8rf_nshort_W1p65_L0p25_M2_b_L_0_25_W_1_65_tmp |
| s8rf_nshort_W1p65_L0p25_M2_b_valid = COPY s8rf_nshort_W1p65_L0p25_M2_b_L_0_25_W_1_65 |
| "k_334_s8rf_nshort_W1p65_L0p25_M2_b_valid" { |
| @ keep: s8rf_nshort_W1p65_L0p25_M2_b_valid - s8rf_nshort_W1p65_L0p25_M2_b_valid |
| COPY s8rf_nshort_W1p65_L0p25_M2_b_valid |
| } |
| s8rf_nshort_W1p65_L0p25_M2_b_invalid = s8rf_nshort_W1p65_L0p25_M2_b NOT (exemptDecaps OR s8rf_nshort_W1p65_L0p25_M2_b_valid) |
| "r_640_Poly.X.1" { |
| @ Poly.X.1: This s8rf_nshort_W1p65_L0p25_M2_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_nshort_W1p65_L0p25_M2_b_invalid |
| } |
| s8rf_nlowvt_W1p65_L0p25_M4_b = rfGate AND (EXTENT CELL "s8rf_nlowvt_W1p65_L0p25_M4_b") |
| "k_335_s8rf_nlowvt_W1p65_L0p25_M4_b" { |
| @ keep: s8rf_nlowvt_W1p65_L0p25_M4_b - s8rf_nlowvt_W1p65_L0p25_M4_b |
| COPY s8rf_nlowvt_W1p65_L0p25_M4_b |
| } |
| s8rf_nlowvt_W1p65_L0p25_M4_b_L_0_25 = LENGTH (s8rf_nlowvt_W1p65_L0p25_M4_b COINCIDENT INSIDE EDGE diff) == 0.25 |
| "k_336_s8rf_nlowvt_W1p65_L0p25_M4_b_L_0_25" { |
| @ keep: s8rf_nlowvt_W1p65_L0p25_M4_b_L_0_25 - s8rf_nlowvt_W1p65_L0p25_M4_b_L_0_25 |
| COPY s8rf_nlowvt_W1p65_L0p25_M4_b_L_0_25 |
| } |
| s8rf_nlowvt_W1p65_L0p25_M4_b_L_0_25_W_1_65_tmp = INTERNAL s8rf_nlowvt_W1p65_L0p25_M4_b_L_0_25 == 1.65 OPPOSITE PARALLEL ONLY REGION |
| s8rf_nlowvt_W1p65_L0p25_M4_b_L_0_25_W_1_65 = (WITH TEXT s8rf_nlowvt_W1p65_L0p25_M4_b "dummy_poly" textlabel) OR s8rf_nlowvt_W1p65_L0p25_M4_b_L_0_25_W_1_65_tmp |
| s8rf_nlowvt_W1p65_L0p25_M4_b_valid = COPY s8rf_nlowvt_W1p65_L0p25_M4_b_L_0_25_W_1_65 |
| "k_337_s8rf_nlowvt_W1p65_L0p25_M4_b_valid" { |
| @ keep: s8rf_nlowvt_W1p65_L0p25_M4_b_valid - s8rf_nlowvt_W1p65_L0p25_M4_b_valid |
| COPY s8rf_nlowvt_W1p65_L0p25_M4_b_valid |
| } |
| s8rf_nlowvt_W1p65_L0p25_M4_b_invalid = s8rf_nlowvt_W1p65_L0p25_M4_b NOT (exemptDecaps OR s8rf_nlowvt_W1p65_L0p25_M4_b_valid) |
| "r_641_Poly.X.1" { |
| @ Poly.X.1: This s8rf_nlowvt_W1p65_L0p25_M4_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_nlowvt_W1p65_L0p25_M4_b_invalid |
| } |
| s8rf_nshort_W1p65_L0p15_M2_b = rfGate AND (EXTENT CELL "s8rf_nshort_W1p65_L0p15_M2_b") |
| "k_338_s8rf_nshort_W1p65_L0p15_M2_b" { |
| @ keep: s8rf_nshort_W1p65_L0p15_M2_b - s8rf_nshort_W1p65_L0p15_M2_b |
| COPY s8rf_nshort_W1p65_L0p15_M2_b |
| } |
| s8rf_nshort_W1p65_L0p15_M2_b_L_0_15 = LENGTH (s8rf_nshort_W1p65_L0p15_M2_b COINCIDENT INSIDE EDGE diff) == 0.15 |
| "k_339_s8rf_nshort_W1p65_L0p15_M2_b_L_0_15" { |
| @ keep: s8rf_nshort_W1p65_L0p15_M2_b_L_0_15 - s8rf_nshort_W1p65_L0p15_M2_b_L_0_15 |
| COPY s8rf_nshort_W1p65_L0p15_M2_b_L_0_15 |
| } |
| s8rf_nshort_W1p65_L0p15_M2_b_L_0_15_W_1_65_tmp = INTERNAL s8rf_nshort_W1p65_L0p15_M2_b_L_0_15 == 1.65 OPPOSITE PARALLEL ONLY REGION |
| s8rf_nshort_W1p65_L0p15_M2_b_L_0_15_W_1_65 = (WITH TEXT s8rf_nshort_W1p65_L0p15_M2_b "dummy_poly" textlabel) OR s8rf_nshort_W1p65_L0p15_M2_b_L_0_15_W_1_65_tmp |
| s8rf_nshort_W1p65_L0p15_M2_b_valid = COPY s8rf_nshort_W1p65_L0p15_M2_b_L_0_15_W_1_65 |
| "k_340_s8rf_nshort_W1p65_L0p15_M2_b_valid" { |
| @ keep: s8rf_nshort_W1p65_L0p15_M2_b_valid - s8rf_nshort_W1p65_L0p15_M2_b_valid |
| COPY s8rf_nshort_W1p65_L0p15_M2_b_valid |
| } |
| s8rf_nshort_W1p65_L0p15_M2_b_invalid = s8rf_nshort_W1p65_L0p15_M2_b NOT (exemptDecaps OR s8rf_nshort_W1p65_L0p15_M2_b_valid) |
| "r_642_Poly.X.1" { |
| @ Poly.X.1: This s8rf_nshort_W1p65_L0p15_M2_b device has an invalid W/L. Please see MRGA |
| COPY s8rf_nshort_W1p65_L0p15_M2_b_invalid |
| } |
| pvhv_L_0_66 = LENGTH ("pvhv" COINCIDENT INSIDE EDGE diff) == 0.66 |
| "k_341_pvhv_L_0_66" { |
| @ keep: pvhv_L_0_66 - pvhv_L_0_66 |
| COPY pvhv_L_0_66 |
| } |
| pvhv_L_0_66_W_5_00_tmp = INTERNAL pvhv_L_0_66 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| pvhv_L_0_66_W_5_00 = (WITH TEXT "pvhv" "dummy_poly" textlabel) OR pvhv_L_0_66_W_5_00_tmp |
| pvhv_L_0_66_W_20_00_tmp = INTERNAL pvhv_L_0_66 == 20.0 OPPOSITE PARALLEL ONLY REGION |
| pvhv_L_0_66_W_20_00 = (WITH TEXT "pvhv" "dummy_poly" textlabel) OR pvhv_L_0_66_W_20_00_tmp |
| pvhv_L_0_66_W_50_00_tmp = INTERNAL pvhv_L_0_66 == 50.0 OPPOSITE PARALLEL ONLY REGION |
| pvhv_L_0_66_W_50_00 = (WITH TEXT "pvhv" "dummy_poly" textlabel) OR pvhv_L_0_66_W_50_00_tmp |
| pvhv_L_2_16 = LENGTH ("pvhv" COINCIDENT INSIDE EDGE diff) == 2.16 |
| "k_342_pvhv_L_2_16" { |
| @ keep: pvhv_L_2_16 - pvhv_L_2_16 |
| COPY pvhv_L_2_16 |
| } |
| pvhv_L_2_16_W_5_00_tmp = INTERNAL pvhv_L_2_16 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| pvhv_L_2_16_W_5_00 = (WITH TEXT "pvhv" "dummy_poly" textlabel) OR pvhv_L_2_16_W_5_00_tmp |
| pvhv_L_2_16_W_20_00_tmp = INTERNAL pvhv_L_2_16 == 20.0 OPPOSITE PARALLEL ONLY REGION |
| pvhv_L_2_16_W_20_00 = (WITH TEXT "pvhv" "dummy_poly" textlabel) OR pvhv_L_2_16_W_20_00_tmp |
| pvhv_valid = pvhv_L_2_16_W_20_00 OR |
| (pvhv_L_2_16_W_5_00 OR |
| (pvhv_L_0_66_W_50_00 OR |
| (pvhv_L_0_66_W_20_00 OR pvhv_L_0_66_W_5_00))) |
| "k_343_pvhv_valid" { |
| @ keep: pvhv_valid - pvhv_valid |
| COPY pvhv_valid |
| } |
| pvhv_invalid = pvhv NOT (exemptDecaps OR pvhv_valid) |
| "r_643_Poly.X.1" { |
| @ Poly.X.1: This pvhv device has an invalid W/L. Please see MRGA |
| COPY pvhv_invalid |
| } |
| nvhv_L_0_70 = LENGTH ("nvhv" COINCIDENT INSIDE EDGE diff) == 0.7 |
| "k_344_nvhv_L_0_70" { |
| @ keep: nvhv_L_0_70 - nvhv_L_0_70 |
| COPY nvhv_L_0_70 |
| } |
| nvhv_L_0_70_W_5_00_tmp = INTERNAL nvhv_L_0_70 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| nvhv_L_0_70_W_5_00 = (WITH TEXT "nvhv" "dummy_poly" textlabel) OR nvhv_L_0_70_W_5_00_tmp |
| nvhv_L_0_70_W_20_00_tmp = INTERNAL nvhv_L_0_70 == 20.0 OPPOSITE PARALLEL ONLY REGION |
| nvhv_L_0_70_W_20_00 = (WITH TEXT "nvhv" "dummy_poly" textlabel) OR nvhv_L_0_70_W_20_00_tmp |
| nvhv_L_0_70_W_50_00_tmp = INTERNAL nvhv_L_0_70 == 50.0 OPPOSITE PARALLEL ONLY REGION |
| nvhv_L_0_70_W_50_00 = (WITH TEXT "nvhv" "dummy_poly" textlabel) OR nvhv_L_0_70_W_50_00_tmp |
| nvhv_L_0_70_W_60_00_tmp = INTERNAL nvhv_L_0_70 == 60.0 OPPOSITE PARALLEL ONLY REGION |
| nvhv_L_0_70_W_60_00 = (WITH TEXT "nvhv" "dummy_poly" textlabel) OR nvhv_L_0_70_W_60_00_tmp |
| nvhv_L_2_20 = LENGTH ("nvhv" COINCIDENT INSIDE EDGE diff) == 2.2 |
| "k_345_nvhv_L_2_20" { |
| @ keep: nvhv_L_2_20 - nvhv_L_2_20 |
| COPY nvhv_L_2_20 |
| } |
| nvhv_L_2_20_W_5_00_tmp = INTERNAL nvhv_L_2_20 == 5.0 OPPOSITE PARALLEL ONLY REGION |
| nvhv_L_2_20_W_5_00 = (WITH TEXT "nvhv" "dummy_poly" textlabel) OR nvhv_L_2_20_W_5_00_tmp |
| nvhv_L_2_20_W_20_00_tmp = INTERNAL nvhv_L_2_20 == 20.0 OPPOSITE PARALLEL ONLY REGION |
| nvhv_L_2_20_W_20_00 = (WITH TEXT "nvhv" "dummy_poly" textlabel) OR nvhv_L_2_20_W_20_00_tmp |
| nvhv_valid = nvhv_L_2_20_W_20_00 OR |
| (nvhv_L_2_20_W_5_00 OR |
| (nvhv_L_0_70_W_60_00 OR |
| (nvhv_L_0_70_W_50_00 OR |
| (nvhv_L_0_70_W_20_00 OR nvhv_L_0_70_W_5_00)))) |
| "k_346_nvhv_valid" { |
| @ keep: nvhv_valid - nvhv_valid |
| COPY nvhv_valid |
| } |
| nvhv_invalid = nvhv NOT (exemptDecaps OR nvhv_valid) |
| "r_644_Poly.X.1" { |
| @ Poly.X.1: This nvhv device has an invalid W/L. Please see MRGA |
| COPY nvhv_invalid |
| } |
| s8rf_nlowvt_W0p42_L0p15_2F_cell = INTERACT diff (INSIDE CELL diff s8rf_nlowvt_W0p42_L0p15_2F) |
| s8rf_nlowvt_W0p84_L0p15_2F_cell = INTERACT diff (INSIDE CELL diff s8rf_nlowvt_W0p84_L0p15_2F) |
| s8rf_nlowvt_W0p84_L0p15_4F_cell = INTERACT diff (INSIDE CELL diff s8rf_nlowvt_W0p84_L0p15_4F) |
| s8rf_nlowvt_W0p84_L0p15_8F_cell = INTERACT diff (INSIDE CELL diff s8rf_nlowvt_W0p84_L0p15_8F) |
| s8rf_nlowvt_W3p0_L0p15_2F_cell = INTERACT diff (INSIDE CELL diff s8rf_nlowvt_W3p0_L0p15_2F) |
| s8rf_nlowvt_W3p0_L0p15_4F_cell = INTERACT diff (INSIDE CELL diff s8rf_nlowvt_W3p0_L0p15_4F) |
| s8rf_nlowvt_W3p0_L0p15_8F_cell = INTERACT diff (INSIDE CELL diff s8rf_nlowvt_W3p0_L0p15_8F) |
| s8rf_pshort_W0p84_L0p15_2F_cell = INTERACT diff (INSIDE CELL diff s8rf_pshort_W0p84_L0p15_2F) |
| s8rf_pshort_W1p68_L0p15_2F_cell = INTERACT diff (INSIDE CELL diff s8rf_pshort_W1p68_L0p15_2F) |
| s8rf_pshort_W1p68_L0p15_4F_cell = INTERACT diff (INSIDE CELL diff s8rf_pshort_W1p68_L0p15_4F) |
| s8rf_pshort_W3p0_L0p15_2F_cell = INTERACT diff (INSIDE CELL diff s8rf_pshort_W3p0_L0p15_2F) |
| s8rf_pshort_W5p0_L0p15_2F_cell = INTERACT diff (INSIDE CELL diff s8rf_pshort_W5p0_L0p15_2F) |
| q0s8rf_nlowvt_W0p42_L0p15_2F_cell = NOT RECTANGLE s8rf_nlowvt_W0p42_L0p15_2F_cell ORTHOGONAL ONLY |
| "r_645_diff.13" { |
| @ diff.13: s8rf_nlowvt_W0p42_L0p15_2F_cell should be rectangular |
| COPY q0s8rf_nlowvt_W0p42_L0p15_2F_cell |
| } |
| q1s8rf_nlowvt_W0p42_L0p15_2F_cell = INTERNAL s8rf_nlowvt_W0p42_L0p15_2F_cell < 0.42 REGION |
| "r_646_diff.13" { |
| @ diff.13: 0.42 min. width of s8rf_nlowvt_W0p42_L0p15_2F_cell |
| COPY q1s8rf_nlowvt_W0p42_L0p15_2F_cell |
| } |
| q2s8rf_nlowvt_W0p42_L0p15_2F_cell = INTERNAL s8rf_nlowvt_W0p42_L0p15_2F_cell <= 0.42 REGION |
| q3s8rf_nlowvt_W0p42_L0p15_2F_cell = s8rf_nlowvt_W0p42_L0p15_2F_cell NOT q2s8rf_nlowvt_W0p42_L0p15_2F_cell |
| "r_647_diff.13" { |
| @ diff.13: 0.42 max. width of s8rf_nlowvt_W0p42_L0p15_2F_cell |
| COPY q3s8rf_nlowvt_W0p42_L0p15_2F_cell |
| } |
| q4s8rf_nlowvt_W0p42_L0p15_2F_cell = INTERNAL s8rf_nlowvt_W0p42_L0p15_2F_cell < 1.14 PROJECTING < 1.14 REGION |
| "r_648_diff.13" { |
| @ diff.13: 1.14 min. length of s8rf_nlowvt_W0p42_L0p15_2F_cell |
| COPY q4s8rf_nlowvt_W0p42_L0p15_2F_cell |
| } |
| q5s8rf_nlowvt_W0p42_L0p15_2F_cell = s8rf_nlowvt_W0p42_L0p15_2F_cell WITH EDGE (LENGTH s8rf_nlowvt_W0p42_L0p15_2F_cell > 1.14) |
| "r_649_diff.13" { |
| @ diff.13: 1.14 max. length of s8rf_nlowvt_W0p42_L0p15_2F_cell |
| COPY q5s8rf_nlowvt_W0p42_L0p15_2F_cell |
| } |
| q0s8rf_nlowvt_W0p84_L0p15_2F_cell = NOT RECTANGLE s8rf_nlowvt_W0p84_L0p15_2F_cell ORTHOGONAL ONLY |
| "r_650_diff.13" { |
| @ diff.13: s8rf_nlowvt_W0p84_L0p15_2F_cell should be rectangular |
| COPY q0s8rf_nlowvt_W0p84_L0p15_2F_cell |
| } |
| q1s8rf_nlowvt_W0p84_L0p15_2F_cell = INTERNAL s8rf_nlowvt_W0p84_L0p15_2F_cell < 0.84 REGION |
| "r_651_diff.13" { |
| @ diff.13: 0.84 min. width of s8rf_nlowvt_W0p84_L0p15_2F_cell |
| COPY q1s8rf_nlowvt_W0p84_L0p15_2F_cell |
| } |
| q2s8rf_nlowvt_W0p84_L0p15_2F_cell = INTERNAL s8rf_nlowvt_W0p84_L0p15_2F_cell <= 0.84 REGION |
| q3s8rf_nlowvt_W0p84_L0p15_2F_cell = s8rf_nlowvt_W0p84_L0p15_2F_cell NOT q2s8rf_nlowvt_W0p84_L0p15_2F_cell |
| "r_652_diff.13" { |
| @ diff.13: 0.84 max. width of s8rf_nlowvt_W0p84_L0p15_2F_cell |
| COPY q3s8rf_nlowvt_W0p84_L0p15_2F_cell |
| } |
| q4s8rf_nlowvt_W0p84_L0p15_2F_cell = INTERNAL s8rf_nlowvt_W0p84_L0p15_2F_cell < 1.14 PROJECTING < 1.14 REGION |
| "r_653_diff.13" { |
| @ diff.13: 1.14 min. length of s8rf_nlowvt_W0p84_L0p15_2F_cell |
| COPY q4s8rf_nlowvt_W0p84_L0p15_2F_cell |
| } |
| q5s8rf_nlowvt_W0p84_L0p15_2F_cell = s8rf_nlowvt_W0p84_L0p15_2F_cell WITH EDGE (LENGTH s8rf_nlowvt_W0p84_L0p15_2F_cell > 1.14) |
| "r_654_diff.13" { |
| @ diff.13: 1.14 max. length of s8rf_nlowvt_W0p84_L0p15_2F_cell |
| COPY q5s8rf_nlowvt_W0p84_L0p15_2F_cell |
| } |
| q0s8rf_nlowvt_W0p84_L0p15_4F_cell = NOT RECTANGLE s8rf_nlowvt_W0p84_L0p15_4F_cell ORTHOGONAL ONLY |
| "r_655_diff.13" { |
| @ diff.13: s8rf_nlowvt_W0p84_L0p15_4F_cell should be rectangular |
| COPY q0s8rf_nlowvt_W0p84_L0p15_4F_cell |
| } |
| q1s8rf_nlowvt_W0p84_L0p15_4F_cell = INTERNAL s8rf_nlowvt_W0p84_L0p15_4F_cell < 0.84 REGION |
| "r_656_diff.13" { |
| @ diff.13: 0.84 min. width of s8rf_nlowvt_W0p84_L0p15_4F_cell |
| COPY q1s8rf_nlowvt_W0p84_L0p15_4F_cell |
| } |
| q2s8rf_nlowvt_W0p84_L0p15_4F_cell = INTERNAL s8rf_nlowvt_W0p84_L0p15_4F_cell <= 0.84 REGION |
| q3s8rf_nlowvt_W0p84_L0p15_4F_cell = s8rf_nlowvt_W0p84_L0p15_4F_cell NOT q2s8rf_nlowvt_W0p84_L0p15_4F_cell |
| "r_657_diff.13" { |
| @ diff.13: 0.84 max. width of s8rf_nlowvt_W0p84_L0p15_4F_cell |
| COPY q3s8rf_nlowvt_W0p84_L0p15_4F_cell |
| } |
| q4s8rf_nlowvt_W0p84_L0p15_4F_cell = INTERNAL s8rf_nlowvt_W0p84_L0p15_4F_cell < 2.0 PROJECTING < 2.0 REGION |
| "r_658_diff.13" { |
| @ diff.13: 2 min. length of s8rf_nlowvt_W0p84_L0p15_4F_cell |
| COPY q4s8rf_nlowvt_W0p84_L0p15_4F_cell |
| } |
| q5s8rf_nlowvt_W0p84_L0p15_4F_cell = s8rf_nlowvt_W0p84_L0p15_4F_cell WITH EDGE (LENGTH s8rf_nlowvt_W0p84_L0p15_4F_cell > 2.0) |
| "r_659_diff.13" { |
| @ diff.13: 2 max. length of s8rf_nlowvt_W0p84_L0p15_4F_cell |
| COPY q5s8rf_nlowvt_W0p84_L0p15_4F_cell |
| } |
| q0s8rf_nlowvt_W0p84_L0p15_8F_cell = NOT RECTANGLE s8rf_nlowvt_W0p84_L0p15_8F_cell ORTHOGONAL ONLY |
| "r_660_diff.13" { |
| @ diff.13: s8rf_nlowvt_W0p84_L0p15_8F_cell should be rectangular |
| COPY q0s8rf_nlowvt_W0p84_L0p15_8F_cell |
| } |
| q1s8rf_nlowvt_W0p84_L0p15_8F_cell = INTERNAL s8rf_nlowvt_W0p84_L0p15_8F_cell < 0.84 REGION |
| "r_661_diff.13" { |
| @ diff.13: 0.84 min. width of s8rf_nlowvt_W0p84_L0p15_8F_cell |
| COPY q1s8rf_nlowvt_W0p84_L0p15_8F_cell |
| } |
| q2s8rf_nlowvt_W0p84_L0p15_8F_cell = INTERNAL s8rf_nlowvt_W0p84_L0p15_8F_cell <= 0.84 REGION |
| q3s8rf_nlowvt_W0p84_L0p15_8F_cell = s8rf_nlowvt_W0p84_L0p15_8F_cell NOT q2s8rf_nlowvt_W0p84_L0p15_8F_cell |
| "r_662_diff.13" { |
| @ diff.13: 0.84 max. width of s8rf_nlowvt_W0p84_L0p15_8F_cell |
| COPY q3s8rf_nlowvt_W0p84_L0p15_8F_cell |
| } |
| q4s8rf_nlowvt_W0p84_L0p15_8F_cell = INTERNAL s8rf_nlowvt_W0p84_L0p15_8F_cell < 3.72 PROJECTING < 3.72 REGION |
| "r_663_diff.13" { |
| @ diff.13: 3.72 min. length of s8rf_nlowvt_W0p84_L0p15_8F_cell |
| COPY q4s8rf_nlowvt_W0p84_L0p15_8F_cell |
| } |
| q5s8rf_nlowvt_W0p84_L0p15_8F_cell = s8rf_nlowvt_W0p84_L0p15_8F_cell WITH EDGE (LENGTH s8rf_nlowvt_W0p84_L0p15_8F_cell > 3.72) |
| "r_664_diff.13" { |
| @ diff.13: 3.72 max. length of s8rf_nlowvt_W0p84_L0p15_8F_cell |
| COPY q5s8rf_nlowvt_W0p84_L0p15_8F_cell |
| } |
| q0s8rf_nlowvt_W3p0_L0p15_2F_cell = NOT RECTANGLE s8rf_nlowvt_W3p0_L0p15_2F_cell ORTHOGONAL ONLY |
| "r_665_diff.13" { |
| @ diff.13: s8rf_nlowvt_W3p0_L0p15_2F_cell should be rectangular |
| COPY q0s8rf_nlowvt_W3p0_L0p15_2F_cell |
| } |
| q1s8rf_nlowvt_W3p0_L0p15_2F_cell = INTERNAL s8rf_nlowvt_W3p0_L0p15_2F_cell < 1.14 REGION |
| "r_666_diff.13" { |
| @ diff.13: 1.14 min. width of s8rf_nlowvt_W3p0_L0p15_2F_cell |
| COPY q1s8rf_nlowvt_W3p0_L0p15_2F_cell |
| } |
| q2s8rf_nlowvt_W3p0_L0p15_2F_cell = INTERNAL s8rf_nlowvt_W3p0_L0p15_2F_cell <= 1.14 REGION |
| q3s8rf_nlowvt_W3p0_L0p15_2F_cell = s8rf_nlowvt_W3p0_L0p15_2F_cell NOT q2s8rf_nlowvt_W3p0_L0p15_2F_cell |
| "r_667_diff.13" { |
| @ diff.13: 1.14 max. width of s8rf_nlowvt_W3p0_L0p15_2F_cell |
| COPY q3s8rf_nlowvt_W3p0_L0p15_2F_cell |
| } |
| q4s8rf_nlowvt_W3p0_L0p15_2F_cell = INTERNAL s8rf_nlowvt_W3p0_L0p15_2F_cell < 3.0 PROJECTING < 3.0 REGION |
| "r_668_diff.13" { |
| @ diff.13: 3 min. length of s8rf_nlowvt_W3p0_L0p15_2F_cell |
| COPY q4s8rf_nlowvt_W3p0_L0p15_2F_cell |
| } |
| q5s8rf_nlowvt_W3p0_L0p15_2F_cell = s8rf_nlowvt_W3p0_L0p15_2F_cell WITH EDGE (LENGTH s8rf_nlowvt_W3p0_L0p15_2F_cell > 3.0) |
| "r_669_diff.13" { |
| @ diff.13: 3 max. length of s8rf_nlowvt_W3p0_L0p15_2F_cell |
| COPY q5s8rf_nlowvt_W3p0_L0p15_2F_cell |
| } |
| q0s8rf_nlowvt_W3p0_L0p15_4F_cell = NOT RECTANGLE s8rf_nlowvt_W3p0_L0p15_4F_cell ORTHOGONAL ONLY |
| "r_670_diff.13" { |
| @ diff.13: s8rf_nlowvt_W3p0_L0p15_4F_cell should be rectangular |
| COPY q0s8rf_nlowvt_W3p0_L0p15_4F_cell |
| } |
| q1s8rf_nlowvt_W3p0_L0p15_4F_cell = INTERNAL s8rf_nlowvt_W3p0_L0p15_4F_cell < 2.0 REGION |
| "r_671_diff.13" { |
| @ diff.13: 2 min. width of s8rf_nlowvt_W3p0_L0p15_4F_cell |
| COPY q1s8rf_nlowvt_W3p0_L0p15_4F_cell |
| } |
| q2s8rf_nlowvt_W3p0_L0p15_4F_cell = INTERNAL s8rf_nlowvt_W3p0_L0p15_4F_cell <= 2.0 REGION |
| q3s8rf_nlowvt_W3p0_L0p15_4F_cell = s8rf_nlowvt_W3p0_L0p15_4F_cell NOT q2s8rf_nlowvt_W3p0_L0p15_4F_cell |
| "r_672_diff.13" { |
| @ diff.13: 2 max. width of s8rf_nlowvt_W3p0_L0p15_4F_cell |
| COPY q3s8rf_nlowvt_W3p0_L0p15_4F_cell |
| } |
| q4s8rf_nlowvt_W3p0_L0p15_4F_cell = INTERNAL s8rf_nlowvt_W3p0_L0p15_4F_cell < 3.0 PROJECTING < 3.0 REGION |
| "r_673_diff.13" { |
| @ diff.13: 3 min. length of s8rf_nlowvt_W3p0_L0p15_4F_cell |
| COPY q4s8rf_nlowvt_W3p0_L0p15_4F_cell |
| } |
| q5s8rf_nlowvt_W3p0_L0p15_4F_cell = s8rf_nlowvt_W3p0_L0p15_4F_cell WITH EDGE (LENGTH s8rf_nlowvt_W3p0_L0p15_4F_cell > 3.0) |
| "r_674_diff.13" { |
| @ diff.13: 3 max. length of s8rf_nlowvt_W3p0_L0p15_4F_cell |
| COPY q5s8rf_nlowvt_W3p0_L0p15_4F_cell |
| } |
| q0s8rf_nlowvt_W3p0_L0p15_8F_cell = NOT RECTANGLE s8rf_nlowvt_W3p0_L0p15_8F_cell ORTHOGONAL ONLY |
| "r_675_diff.13" { |
| @ diff.13: s8rf_nlowvt_W3p0_L0p15_8F_cell should be rectangular |
| COPY q0s8rf_nlowvt_W3p0_L0p15_8F_cell |
| } |
| q1s8rf_nlowvt_W3p0_L0p15_8F_cell = INTERNAL s8rf_nlowvt_W3p0_L0p15_8F_cell < 3.0 REGION |
| "r_676_diff.13" { |
| @ diff.13: 3 min. width of s8rf_nlowvt_W3p0_L0p15_8F_cell |
| COPY q1s8rf_nlowvt_W3p0_L0p15_8F_cell |
| } |
| q2s8rf_nlowvt_W3p0_L0p15_8F_cell = INTERNAL s8rf_nlowvt_W3p0_L0p15_8F_cell <= 3.0 REGION |
| q3s8rf_nlowvt_W3p0_L0p15_8F_cell = s8rf_nlowvt_W3p0_L0p15_8F_cell NOT q2s8rf_nlowvt_W3p0_L0p15_8F_cell |
| "r_677_diff.13" { |
| @ diff.13: 3 max. width of s8rf_nlowvt_W3p0_L0p15_8F_cell |
| COPY q3s8rf_nlowvt_W3p0_L0p15_8F_cell |
| } |
| q4s8rf_nlowvt_W3p0_L0p15_8F_cell = INTERNAL s8rf_nlowvt_W3p0_L0p15_8F_cell < 3.72 PROJECTING < 3.72 REGION |
| "r_678_diff.13" { |
| @ diff.13: 3.72 min. length of s8rf_nlowvt_W3p0_L0p15_8F_cell |
| COPY q4s8rf_nlowvt_W3p0_L0p15_8F_cell |
| } |
| q5s8rf_nlowvt_W3p0_L0p15_8F_cell = s8rf_nlowvt_W3p0_L0p15_8F_cell WITH EDGE (LENGTH s8rf_nlowvt_W3p0_L0p15_8F_cell > 3.72) |
| "r_679_diff.13" { |
| @ diff.13: 3.72 max. length of s8rf_nlowvt_W3p0_L0p15_8F_cell |
| COPY q5s8rf_nlowvt_W3p0_L0p15_8F_cell |
| } |
| q0s8rf_pshort_W0p84_L0p15_2F_cell = NOT RECTANGLE s8rf_pshort_W0p84_L0p15_2F_cell ORTHOGONAL ONLY |
| "r_680_diff.13" { |
| @ diff.13: s8rf_pshort_W0p84_L0p15_2F_cell should be rectangular |
| COPY q0s8rf_pshort_W0p84_L0p15_2F_cell |
| } |
| q1s8rf_pshort_W0p84_L0p15_2F_cell = INTERNAL s8rf_pshort_W0p84_L0p15_2F_cell < 0.84 REGION |
| "r_681_diff.13" { |
| @ diff.13: 0.84 min. width of s8rf_pshort_W0p84_L0p15_2F_cell |
| COPY q1s8rf_pshort_W0p84_L0p15_2F_cell |
| } |
| q2s8rf_pshort_W0p84_L0p15_2F_cell = INTERNAL s8rf_pshort_W0p84_L0p15_2F_cell <= 0.84 REGION |
| q3s8rf_pshort_W0p84_L0p15_2F_cell = s8rf_pshort_W0p84_L0p15_2F_cell NOT q2s8rf_pshort_W0p84_L0p15_2F_cell |
| "r_682_diff.13" { |
| @ diff.13: 0.84 max. width of s8rf_pshort_W0p84_L0p15_2F_cell |
| COPY q3s8rf_pshort_W0p84_L0p15_2F_cell |
| } |
| q4s8rf_pshort_W0p84_L0p15_2F_cell = INTERNAL s8rf_pshort_W0p84_L0p15_2F_cell < 1.11 PROJECTING < 1.11 REGION |
| "r_683_diff.13" { |
| @ diff.13: 1.11 min. length of s8rf_pshort_W0p84_L0p15_2F_cell |
| COPY q4s8rf_pshort_W0p84_L0p15_2F_cell |
| } |
| q5s8rf_pshort_W0p84_L0p15_2F_cell = s8rf_pshort_W0p84_L0p15_2F_cell WITH EDGE (LENGTH s8rf_pshort_W0p84_L0p15_2F_cell > 1.11) |
| "r_684_diff.13" { |
| @ diff.13: 1.11 max. length of s8rf_pshort_W0p84_L0p15_2F_cell |
| COPY q5s8rf_pshort_W0p84_L0p15_2F_cell |
| } |
| q0s8rf_pshort_W1p68_L0p15_2F_cell = NOT RECTANGLE s8rf_pshort_W1p68_L0p15_2F_cell ORTHOGONAL ONLY |
| "r_685_diff.13" { |
| @ diff.13: s8rf_pshort_W1p68_L0p15_2F_cell should be rectangular |
| COPY q0s8rf_pshort_W1p68_L0p15_2F_cell |
| } |
| q1s8rf_pshort_W1p68_L0p15_2F_cell = INTERNAL s8rf_pshort_W1p68_L0p15_2F_cell < 1.11 REGION |
| "r_686_diff.13" { |
| @ diff.13: 1.11 min. width of s8rf_pshort_W1p68_L0p15_2F_cell |
| COPY q1s8rf_pshort_W1p68_L0p15_2F_cell |
| } |
| q2s8rf_pshort_W1p68_L0p15_2F_cell = INTERNAL s8rf_pshort_W1p68_L0p15_2F_cell <= 1.11 REGION |
| q3s8rf_pshort_W1p68_L0p15_2F_cell = s8rf_pshort_W1p68_L0p15_2F_cell NOT q2s8rf_pshort_W1p68_L0p15_2F_cell |
| "r_687_diff.13" { |
| @ diff.13: 1.11 max. width of s8rf_pshort_W1p68_L0p15_2F_cell |
| COPY q3s8rf_pshort_W1p68_L0p15_2F_cell |
| } |
| q4s8rf_pshort_W1p68_L0p15_2F_cell = INTERNAL s8rf_pshort_W1p68_L0p15_2F_cell < 1.68 PROJECTING < 1.68 REGION |
| "r_688_diff.13" { |
| @ diff.13: 1.68 min. length of s8rf_pshort_W1p68_L0p15_2F_cell |
| COPY q4s8rf_pshort_W1p68_L0p15_2F_cell |
| } |
| q5s8rf_pshort_W1p68_L0p15_2F_cell = s8rf_pshort_W1p68_L0p15_2F_cell WITH EDGE (LENGTH s8rf_pshort_W1p68_L0p15_2F_cell > 1.68) |
| "r_689_diff.13" { |
| @ diff.13: 1.68 max. length of s8rf_pshort_W1p68_L0p15_2F_cell |
| COPY q5s8rf_pshort_W1p68_L0p15_2F_cell |
| } |
| q0s8rf_pshort_W1p68_L0p15_4F_cell = NOT RECTANGLE s8rf_pshort_W1p68_L0p15_4F_cell ORTHOGONAL ONLY |
| "r_690_diff.13" { |
| @ diff.13: s8rf_pshort_W1p68_L0p15_4F_cell should be rectangular |
| COPY q0s8rf_pshort_W1p68_L0p15_4F_cell |
| } |
| q1s8rf_pshort_W1p68_L0p15_4F_cell = INTERNAL s8rf_pshort_W1p68_L0p15_4F_cell < 1.68 REGION |
| "r_691_diff.13" { |
| @ diff.13: 1.68 min. width of s8rf_pshort_W1p68_L0p15_4F_cell |
| COPY q1s8rf_pshort_W1p68_L0p15_4F_cell |
| } |
| q2s8rf_pshort_W1p68_L0p15_4F_cell = INTERNAL s8rf_pshort_W1p68_L0p15_4F_cell <= 1.68 REGION |
| q3s8rf_pshort_W1p68_L0p15_4F_cell = s8rf_pshort_W1p68_L0p15_4F_cell NOT q2s8rf_pshort_W1p68_L0p15_4F_cell |
| "r_692_diff.13" { |
| @ diff.13: 1.68 max. width of s8rf_pshort_W1p68_L0p15_4F_cell |
| COPY q3s8rf_pshort_W1p68_L0p15_4F_cell |
| } |
| q4s8rf_pshort_W1p68_L0p15_4F_cell = INTERNAL s8rf_pshort_W1p68_L0p15_4F_cell < 1.97 PROJECTING < 1.97 REGION |
| "r_693_diff.13" { |
| @ diff.13: 1.97 min. length of s8rf_pshort_W1p68_L0p15_4F_cell |
| COPY q4s8rf_pshort_W1p68_L0p15_4F_cell |
| } |
| q5s8rf_pshort_W1p68_L0p15_4F_cell = s8rf_pshort_W1p68_L0p15_4F_cell WITH EDGE (LENGTH s8rf_pshort_W1p68_L0p15_4F_cell > 1.97) |
| "r_694_diff.13" { |
| @ diff.13: 1.97 max. length of s8rf_pshort_W1p68_L0p15_4F_cell |
| COPY q5s8rf_pshort_W1p68_L0p15_4F_cell |
| } |
| q0s8rf_pshort_W3p0_L0p15_2F_cell = NOT RECTANGLE s8rf_pshort_W3p0_L0p15_2F_cell ORTHOGONAL ONLY |
| "r_695_diff.13" { |
| @ diff.13: s8rf_pshort_W3p0_L0p15_2F_cell should be rectangular |
| COPY q0s8rf_pshort_W3p0_L0p15_2F_cell |
| } |
| q1s8rf_pshort_W3p0_L0p15_2F_cell = INTERNAL s8rf_pshort_W3p0_L0p15_2F_cell < 1.11 REGION |
| "r_696_diff.13" { |
| @ diff.13: 1.11 min. width of s8rf_pshort_W3p0_L0p15_2F_cell |
| COPY q1s8rf_pshort_W3p0_L0p15_2F_cell |
| } |
| q2s8rf_pshort_W3p0_L0p15_2F_cell = INTERNAL s8rf_pshort_W3p0_L0p15_2F_cell <= 1.11 REGION |
| q3s8rf_pshort_W3p0_L0p15_2F_cell = s8rf_pshort_W3p0_L0p15_2F_cell NOT q2s8rf_pshort_W3p0_L0p15_2F_cell |
| "r_697_diff.13" { |
| @ diff.13: 1.11 max. width of s8rf_pshort_W3p0_L0p15_2F_cell |
| COPY q3s8rf_pshort_W3p0_L0p15_2F_cell |
| } |
| q4s8rf_pshort_W3p0_L0p15_2F_cell = INTERNAL s8rf_pshort_W3p0_L0p15_2F_cell < 3.0 PROJECTING < 3.0 REGION |
| "r_698_diff.13" { |
| @ diff.13: 3 min. length of s8rf_pshort_W3p0_L0p15_2F_cell |
| COPY q4s8rf_pshort_W3p0_L0p15_2F_cell |
| } |
| q5s8rf_pshort_W3p0_L0p15_2F_cell = s8rf_pshort_W3p0_L0p15_2F_cell WITH EDGE (LENGTH s8rf_pshort_W3p0_L0p15_2F_cell > 3.0) |
| "r_699_diff.13" { |
| @ diff.13: 3 max. length of s8rf_pshort_W3p0_L0p15_2F_cell |
| COPY q5s8rf_pshort_W3p0_L0p15_2F_cell |
| } |
| q0s8rf_pshort_W5p0_L0p15_2F_cell = NOT RECTANGLE s8rf_pshort_W5p0_L0p15_2F_cell ORTHOGONAL ONLY |
| "r_700_diff.13" { |
| @ diff.13: s8rf_pshort_W5p0_L0p15_2F_cell should be rectangular |
| COPY q0s8rf_pshort_W5p0_L0p15_2F_cell |
| } |
| q1s8rf_pshort_W5p0_L0p15_2F_cell = INTERNAL s8rf_pshort_W5p0_L0p15_2F_cell < 1.11 REGION |
| "r_701_diff.13" { |
| @ diff.13: 1.11 min. width of s8rf_pshort_W5p0_L0p15_2F_cell |
| COPY q1s8rf_pshort_W5p0_L0p15_2F_cell |
| } |
| q2s8rf_pshort_W5p0_L0p15_2F_cell = INTERNAL s8rf_pshort_W5p0_L0p15_2F_cell <= 1.11 REGION |
| q3s8rf_pshort_W5p0_L0p15_2F_cell = s8rf_pshort_W5p0_L0p15_2F_cell NOT q2s8rf_pshort_W5p0_L0p15_2F_cell |
| "r_702_diff.13" { |
| @ diff.13: 1.11 max. width of s8rf_pshort_W5p0_L0p15_2F_cell |
| COPY q3s8rf_pshort_W5p0_L0p15_2F_cell |
| } |
| q4s8rf_pshort_W5p0_L0p15_2F_cell = INTERNAL s8rf_pshort_W5p0_L0p15_2F_cell < 5.0 PROJECTING < 5.0 REGION |
| "r_703_diff.13" { |
| @ diff.13: 5 min. length of s8rf_pshort_W5p0_L0p15_2F_cell |
| COPY q4s8rf_pshort_W5p0_L0p15_2F_cell |
| } |
| q5s8rf_pshort_W5p0_L0p15_2F_cell = s8rf_pshort_W5p0_L0p15_2F_cell WITH EDGE (LENGTH s8rf_pshort_W5p0_L0p15_2F_cell > 5.0) |
| "r_704_diff.13" { |
| @ diff.13: 5 max. length of s8rf_pshort_W5p0_L0p15_2F_cell |
| COPY q5s8rf_pshort_W5p0_L0p15_2F_cell |
| } |
| s8rf_nlowvt_poly = INSIDE CELL poly s8rf_nlowvt_W0p42_L0p15_2F s8rf_nlowvt_W0p84_L0p15_2F s8rf_nlowvt_W0p84_L0p15_4F s8rf_nlowvt_W0p84_L0p15_8F s8rf_nlowvt_W3p0_L0p15_2F s8rf_nlowvt_W3p0_L0p15_4F s8rf_nlowvt_W3p0_L0p15_8F |
| s8rf_nlowvt_diff = INSIDE CELL diff s8rf_nlowvt_W0p42_L0p15_2F s8rf_nlowvt_W0p84_L0p15_2F s8rf_nlowvt_W0p84_L0p15_4F s8rf_nlowvt_W0p84_L0p15_8F s8rf_nlowvt_W3p0_L0p15_2F s8rf_nlowvt_W3p0_L0p15_4F s8rf_nlowvt_W3p0_L0p15_8F |
| s8rf_pshort_poly = INSIDE CELL poly s8rf_pshort_W0p84_L0p15_2F s8rf_pshort_W1p68_L0p15_2F s8rf_pshort_W1p68_L0p15_4F s8rf_pshort_W3p0_L0p15_2F s8rf_pshort_W5p0_L0p15_2F |
| s8rf_pshort_diff = INSIDE CELL diff s8rf_pshort_W0p84_L0p15_2F s8rf_pshort_W1p68_L0p15_2F s8rf_pshort_W1p68_L0p15_4F s8rf_pshort_W3p0_L0p15_2F s8rf_pshort_W5p0_L0p15_2F |
| s8rf_H5_err = INTERACT s8rf_nlowvt_poly s8rf_pshort_poly |
| s8rf_nlowvt_err = INTERACT s8rf_nlowvt_poly s8rf_nlowvt_diff > 1 |
| s8rf_pshort_err = INTERACT s8rf_pshort_poly s8rf_pshort_diff > 1 |
| s8rf_H5_err_all = s8rf_H5_err OR |
| (s8rf_nlowvt_err OR s8rf_pshort_err) |
| "r_705_poly.16" { |
| @ poly.16: Poly of the RF FETs defined in Table H5 cannot overlap |
| COPY s8rf_H5_err_all |
| } |
| "r_706_npc.1" { |
| @ npc.1: 0.27 min. width of npc |
| INTERNAL npc < 0.27 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_707_npc.2" { |
| @ npc.2: 0.27 min. spacing/notch of npc |
| EXTERNAL npc < 0.27 ABUT < 90 SINGULAR REGION |
| } |
| /// npc.3 is handled by design |
| "r_708_npc.4" { |
| @ npc.4: 0.09 min. spacing of npc & gate |
| EXTERNAL npc GATE < 0.09 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_709_npc.4" { |
| @ npc.4: npc must not overlap gate |
| npc AND GATE |
| } |
| LCON1AndRpm = rectLCON1 AND (rpm OR urpm) |
| slotted_licon = (WITH WIDTH LCON1AndRpm == 0.19) WITH EDGE (LENGTH LCON1AndRpm == 2.0) |
| poly_with_slotlicon = poly ENCLOSE slotted_licon |
| npc_no_hrpoly = NOT INTERACT npc poly_with_slotlicon |
| poly_edges_horiz = ANGLE poly_with_slotlicon == 0 |
| poly_edges_vert = ANGLE poly_with_slotlicon == 90 |
| hrpoly_horiz = DFM PROPERTY poly_with_slotlicon poly_edges_horiz poly_edges_vert OVERLAP |
| ["-" = length( poly_edges_horiz ) - length( poly_edges_vert )] > 0 |
| hrpoly_vert = poly_with_slotlicon NOT hrpoly_horiz |
| valid_npc = SIZE poly_with_slotlicon BY 0.095 |
| npc_merge = EXTERNAL valid_npc < 0.27 ABUT < 90 SINGULAR REGION PARALLEL OPPOSITE |
| valid_npc_final = (valid_npc OR npc_merge) OR npc_no_hrpoly |
| hrpoly_horiz_edges = EXPAND EDGE (ANGLE hrpoly_horiz == 0) OUTSIDE BY 0.1 |
| hrpoly_vert_edges = EXPAND EDGE (ANGLE hrpoly_vert == 90) OUTSIDE BY 0.1 |
| npc_no_slot = ((hrpoly_horiz_edges OR hrpoly_vert_edges) AND npc) NOT valid_npc_final |
| "r_710_npc.5" { |
| @ npc.5: 0.095 max enclosure of poly overlapping slotted_licon by npcm |
| COPY npc_no_slot |
| } |
| ringLCON1 = DONUT licon1 |
| rectLCON1 = licon1 NOT ringLCON1 |
| badLCON1 = licon1 OUTSIDE (li1 AND (poly OR diffTap)) |
| ButtTap = tap WITH EDGE (tap COINCIDENT OUTSIDE EDGE diff) |
| noButtTap = tap NOT ButtTap |
| tapLicon_PERI = licon1_PERI AND tap |
| varactorLicon1 = licon1 AND lvNtap |
| varLiconPer = (licon1 AND lvNtap) NOT COREID |
| phighvt15 = WITH WIDTH phighvt == 0.15 |
| gateSC = GATE AND STDCID |
| gateSCPhighvt = gateSC AND phighvt15 |
| gateSCnoPhighvt = gateSC NOT phighvt15 |
| licon11cGateCell = INSIDE CELL poly s8fs_gwdlvx4 s8fs_gwdlvx8 s8fs_hvrsw_x4 s8fs_hvrsw8 s8fs_hvrsw264 s8fs_hvrsw520 |
| licon11dGateCell = INSIDE CELL poly s8fs_rdecdrv s8fs_rdec8 s8fs_rdec32 s8fs_rdec264 s8fs_rdec520 |
| licon11cGate = INTERACT licon11cGateCell (EXPAND EDGE (LENGTH (phv COINCIDENT INSIDE EDGE diff) == 0.5) INSIDE BY 0.005) |
| licon11dGate = licon11dGateCell AND (WITH WIDTH nshort == 0.15) |
| gateNoSC = GATE NOT (STDCID OR |
| (licon11cGate OR licon11dGate)) |
| liconInSource = licon1 INSIDE source_diffusion_PERI |
| invalid_src_diff = (source_diffusion_PERI OUTSIDE liconInSource) NOT UHVI |
| npcon_tap = tap_PERI OR (CUT tap COREID) |
| liconInTap = licon1 INSIDE npcon_tap |
| invalid_tap = npcon_tap OUTSIDE liconInTap |
| invalid_tap_outuhvi = invalid_tap NOT uhvi |
| liconOverPoly = INTERACT licon1 (licon1 AND poly) |
| npcOutsidePolyLicon = npc NOT ENCLOSE polyLicon1 |
| badLiconInFGR = licon1 AND PolyInFGR |
| "r_711_licon.2" { |
| @ licon.2: 0.17 min. spacing/notch of "licon1" in periphery |
| EXTERNAL licon1_PERI < 0.17 ABUT < 90 SINGULAR REGION |
| } |
| "r_712_licon.2" { |
| @ licon.2: 0.17 min. spacing of licon1 across COREID boundary |
| EXTERNAL licon1_CORE licon1_PERI > 0 < 0.17 ABUT > 0 < 90 SINGULAR REGION |
| } |
| "r_713_licon.3" { |
| @ licon.3: 0.17 min. width of ring licon1 |
| INTERNAL ringLCON1 < 0.17 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_714_licon.3" { |
| @ licon.3: 0.175 max. width of ring licon1 |
| q0ringLCON1 = SIZE ringLCON1 BY -0.087 |
| SIZE q0ringLCON1 BY 0.087 |
| } |
| "r_715_licon.3" { |
| @ licon.3: ring licon1 must be enclosed by SEALID |
| ringLCON1 NOT SEALID |
| } |
| "r_716_licon.4" { |
| @ licon.4: licon1 must overlap li1 and (poly or diff or tap) |
| COPY badLCON1 |
| } |
| "r_717_licon.5a" { |
| @ licon.5a: 0.04 min. enclosure of "licon1" in periphery by diff |
| q0licon1_PERIand = licon1_PERI AND diff |
| ENCLOSURE q0licon1_PERIand diff < 0.04 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| "r_718_licon.5b" { |
| @ licon.5b: 0.06 min. spacing of tapLicon_PERI & diffTap butting edge |
| EXTERNAL tapLicon_PERI diffTapButtEdge < 0.06 ABUT < 90 REGION EXCLUDE FALSE |
| } |
| "r_719_licon.5c" { |
| @ licon.5c: 0.06 min. enclosure of adj. sides of "licon1" in periphery by diff |
| q14diffenc = ENCLOSURE [licon1_PERI] diff < 0.06 ABUT < 90 PARALLEL MEASURE ALL PROJECTING > 0 |
| NOT RECTANGLE (EXPAND EDGE q14diffenc INSIDE BY 0.005) ORTHOGONAL ONLY |
| } |
| "r_720_licon.6" { |
| @ licon.6: "licon1" in periphery must not straddle tap |
| CUT licon1_PERI tap |
| } |
| "r_721_licon.7" { |
| @ licon.7: 0.12 min. enclosure of adj. sides of "licon1" in periphery by noButtTap |
| q0noButtTapenc = ENCLOSURE [licon1_PERI] noButtTap < 0.12 ABUT < 90 PARALLEL MEASURE ALL PROJECTING > 0 |
| NOT RECTANGLE (EXPAND EDGE q0noButtTapenc INSIDE BY 0.005) ORTHOGONAL ONLY |
| } |
| "r_722_licon.8" { |
| @ licon.8: 0.05 min. enclosure of "poly_licon1" in periphery by poly |
| q0polyLicon1_PERIand = polyLicon1_PERI AND poly |
| ENCLOSURE q0polyLicon1_PERIand poly < 0.05 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| "r_723_licon.8a" { |
| @ licon.8a: 0.08 min. enclosure of adj. sides of "poly_licon1" in periphery by poly |
| q9polyenc = ENCLOSURE [polyLicon1_PERI] poly < 0.08 ABUT < 90 PARALLEL MEASURE ALL PROJECTING > 0 |
| NOT RECTANGLE (EXPAND EDGE q9polyenc INSIDE BY 0.005) ORTHOGONAL ONLY |
| } |
| "r_724_licon.10" { |
| @ licon.10: 0.25 min. spacing of varLiconPer & varChannel |
| EXTERNAL varLiconPer varChannel_drc < 0.25 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_725_licon.11" { |
| @ licon.11: 0.055 min. spacing of "licon1 on diffTap" in periphery & gateNoSC |
| EXTERNAL licon1ToXfom_PERI gateNoSC < 0.055 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_726_licon.11" { |
| @ licon.11: "licon1 on diffTap" in periphery must not overlap gateNoSC |
| licon1ToXfom_PERI AND gateNoSC |
| } |
| "r_727_licon.11a" { |
| @ licon.11a: 0.05 min. spacing of "licon1 on diffTap" in periphery & (gate and areaid.sc) except 0.15 phighvt |
| EXTERNAL licon1ToXfom_PERI gateSCnoPhighvt < 0.05 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_728_licon.11a" { |
| @ licon.11a: "licon1 on diffTap" in periphery must not overlap (gate and areaid.sc) except 0.15 phighvt |
| licon1ToXfom_PERI AND gateSCnoPhighvt |
| } |
| "r_729_licon.11b" { |
| @ licon.11b: 0.05 min. spacing of "licon1 on diffTap" in periphery & gateSCPhighvt |
| EXTERNAL licon1ToXfom_PERI gateSCPhighvt < 0.05 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_730_licon.11b" { |
| @ licon.11b: "licon1 on diffTap" in periphery must not overlap gateSCPhighvt |
| licon1ToXfom_PERI AND gateSCPhighvt |
| } |
| "r_731_licon.11c" { |
| @ licon.11c: 0.04 min. spacing of "licon1 on diffTap" in periphery & licon11cGate |
| EXTERNAL licon1ToXfom_PERI licon11cGate < 0.04 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_732_licon.11c" { |
| @ licon.11c: "licon1 on diffTap" in periphery must not overlap licon11cGate |
| licon1ToXfom_PERI AND licon11cGate |
| } |
| "r_733_licon.11d" { |
| @ licon.11d: 0.045 min. spacing of "licon1 on diffTap" in periphery & licon11dGate |
| EXTERNAL licon1ToXfom_PERI licon11dGate < 0.045 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_734_licon.11d" { |
| @ licon.11d: "licon1 on diffTap" in periphery must not overlap licon11dGate |
| licon1ToXfom_PERI AND licon11dGate |
| } |
| /// licon.12 is not checked |
| polyLicon1OutRpm = polyLicon1_PERI NOT (rpm OR urpm) |
| rectLCON1OutRpm = rectLCON1 NOT (rpm OR urpm) |
| rectLCON1AndRpm = rectLCON1 AND (rpm OR urpm) |
| precResLateral = EXTERNAL rectLCON1AndRpm < 0.51 ABUT < 90 SINGULAR REGION |
| precResLCON_2 = LENGTH rectLCON1AndRpm == 2.0 |
| precResLCON_2edge = precResLateral COINCIDENT EDGE precResLCON_2 |
| Invalid_licon_2c = precResLateral WITH EDGE precResLCON_2edge |
| q0rectLCON1OutRpm = NOT RECTANGLE rectLCON1OutRpm ORTHOGONAL ONLY |
| "r_735_licon.1" { |
| @ licon.1: rectLCON1OutRpm should be rectangular |
| COPY q0rectLCON1OutRpm |
| } |
| q1rectLCON1OutRpm = INTERNAL rectLCON1OutRpm < 0.17 REGION |
| "r_736_licon.1" { |
| @ licon.1: 0.17 min. width of rectLCON1OutRpm |
| COPY q1rectLCON1OutRpm |
| } |
| q2rectLCON1OutRpm = rectLCON1OutRpm WITH EDGE (LENGTH rectLCON1OutRpm > 0.17) |
| "r_737_licon.1" { |
| @ licon.1: 0.17 max. length of rectLCON1OutRpm |
| COPY q2rectLCON1OutRpm |
| } |
| q0rectLCON1AndRpm = NOT RECTANGLE rectLCON1AndRpm ORTHOGONAL ONLY |
| "r_738_licon.1b/c" { |
| @ licon.1b/c: rectLCON1AndRpm should be rectangular |
| COPY q0rectLCON1AndRpm |
| } |
| q1rectLCON1AndRpm = INTERNAL rectLCON1AndRpm < 0.19 REGION |
| "r_739_licon.1b/c" { |
| @ licon.1b/c: 0.19 min. width of rectLCON1AndRpm |
| COPY q1rectLCON1AndRpm |
| } |
| q2rectLCON1AndRpm = INTERNAL rectLCON1AndRpm <= 0.19 REGION |
| q3rectLCON1AndRpm = rectLCON1AndRpm NOT q2rectLCON1AndRpm |
| "r_740_licon.1b/c" { |
| @ licon.1b/c: 0.19 max. width of rectLCON1AndRpm |
| COPY q3rectLCON1AndRpm |
| } |
| q4rectLCON1AndRpm = INTERNAL rectLCON1AndRpm < 2.0 PROJECTING < 2.0 REGION |
| "r_741_licon.1b/c" { |
| @ licon.1b/c: 2 min. length of rectLCON1AndRpm |
| COPY q4rectLCON1AndRpm |
| } |
| q5rectLCON1AndRpm = rectLCON1AndRpm WITH EDGE (LENGTH rectLCON1AndRpm > 2.0) |
| "r_742_licon.1b/c" { |
| @ licon.1b/c: 2 max. length of rectLCON1AndRpm |
| COPY q5rectLCON1AndRpm |
| } |
| "r_743_licon.2b" { |
| @ licon.2b: 0.35 min. spacing/notch of rectLCON1AndRpm |
| EXTERNAL rectLCON1AndRpm < 0.35 ABUT < 90 SINGULAR REGION |
| } |
| "r_744_licon.2c" { |
| @ licon.2c: min spacing between slotted licon in lateral dir is 0.510 |
| COPY Invalid_licon_2c |
| } |
| "r_745_licon.2d" { |
| @ licon.2d: 0.51 min. spacing of rectLCON1AndRpm & rectLCON1OutRpm |
| EXTERNAL rectLCON1AndRpm rectLCON1OutRpm < 0.51 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_746_licon.9" { |
| @ licon.9: 0.11 min. spacing of polyLicon1OutRpm & psdm |
| EXTERNAL polyLicon1OutRpm psdm < 0.11 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_747_licon.9" { |
| @ licon.9: polyLicon1OutRpm must not overlap psdm |
| polyLicon1OutRpm AND psdm |
| } |
| "r_748_licon.13" { |
| @ licon.13: 0.09 min. spacing of "licon1 on diffTap" in periphery & npc |
| EXTERNAL licon1ToXfom_PERI npc < 0.09 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_749_licon.13" { |
| @ licon.13: "licon1 on diffTap" in periphery must not overlap npc |
| licon1ToXfom_PERI AND npc |
| } |
| "r_750_licon.14" { |
| @ licon.14: 0.19 min. spacing of poly_licon1 & "diffTap" in periphery |
| EXTERNAL polyLicon1 diffTap_PERI < 0.19 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_751_licon.15" { |
| @ licon.15: 0.1 min. enclosure of "poly_licon1" in periphery by npc |
| q1polyLicon1_PERIand = polyLicon1_PERI AND npc |
| ENCLOSURE q1polyLicon1_PERIand npc < 0.1 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| "r_752_licon.15" { |
| @ licon.15: "poly_licon1" in periphery must be enclosed by npc |
| polyLicon1_PERI NOT npc |
| } |
| "r_753_npcon.c6" { |
| @ npcon.c6: 0.045 min. enclosure of "poly_licon1" in core by npc |
| q0polyLicon1_COREand = polyLicon1_CORE AND npc |
| ENCLOSURE q0polyLicon1_COREand npc < 0.045 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| "r_754_npcon.c6" { |
| @ npcon.c6: "poly_licon1" in core must be enclosed by npc |
| polyLicon1_CORE NOT npc |
| } |
| "r_755_licon.16" { |
| @ licon.16: source must enclose at least one licon in peri |
| COPY invalid_src_diff |
| } |
| "r_756_licon.16" { |
| @ licon.16: tap must enclose at least one licon in peri |
| COPY invalid_tap_outuhvi |
| } |
| "r_757_licon.17" { |
| @ licon.17: licon1 overlapping poly must not overlap diffTap |
| liconOverPoly AND diffTap |
| } |
| "r_758_licon.18" { |
| @ licon.18: npc must enclose poly_licon |
| COPY npcOutsidePolyLicon |
| } |
| "r_759_licon.19" { |
| @ licon.19: poly on HV varactor must not interact with licon |
| COPY badLiconInFGR |
| } |
| "r_760_licon.c1" { |
| @ licon.c1: 0.13 min. spacing of poly_licon1 & "diffTap" in core |
| EXTERNAL polyLicon1 diffTap_CORE < 0.13 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_761_licon.c3" { |
| @ licon.c3: 0.165 min. spacing/notch of "licon1" in core |
| EXTERNAL licon1_CORE < 0.165 ABUT < 90 SINGULAR REGION |
| } |
| "r_762_licon.c4" { |
| @ licon.c4: "poly_licon1" in core must not overlap psdm |
| polyLicon1_CORE AND psdm |
| } |
| vpp_hd5 = EXTENT CELL "s8rf2_xcmvpp_hd5_*" |
| liVppCaps = li1 AND vpp_hd5 |
| liNoVppCaps = li1 NOT liVppCaps |
| li1_3_PERI = liNoVppCaps NOT COREID |
| li1_3a_PERI = liVppCaps NOT COREID |
| q0liNoVppCaps = INTERNAL liNoVppCaps < 0.17 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| q3liNoVppCaps = q0liNoVppCaps OUTSIDE COREID |
| q7liNoVppCaps = liNoVppCaps NOT COREID |
| q6liNoVppCaps = INTERNAL q7liNoVppCaps < 0.17 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| q1liNoVppCaps = q6liNoVppCaps INSIDE (CUT q0liNoVppCaps COREID) |
| q2liNoVppCaps = SIZE q1liNoVppCaps BY 0.005 INSIDE OF q0liNoVppCaps STEP 0.17 |
| "r_763_li.1" { |
| @ li.1: 0.17 min. width of liNoVppCaps across areaid:ce |
| COPY q2liNoVppCaps |
| } |
| "r_764_li.1" { |
| @ li.1: 0.17 min. width of liNoVppCaps in PERI |
| COPY q3liNoVppCaps |
| } |
| q4liNoVppCaps = INTERNAL liNoVppCaps < 0.14 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| q5liNoVppCaps = q4liNoVppCaps INSIDE COREID |
| "r_765_li.c1" { |
| @ li.c1: 0.14 min. width of liNoVppCaps in COREID |
| COPY q5liNoVppCaps |
| } |
| "r_766_li.1a" { |
| @ li.1a: 0.14 min. width of liVppCaps |
| INTERNAL liVppCaps < 0.14 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| /// li.2 is not checked |
| "r_767_li.3" { |
| @ li.3: 0.17 min. spacing/notch of li1_3_PERI |
| EXTERNAL li1_3_PERI < 0.17 ABUT < 90 SINGULAR REGION |
| } |
| "r_768_li.3" { |
| @ li.3: 0.17 min. spacing of li1 across COREID boundary |
| EXTERNAL li1_CORE li1_PERI > 0 < 0.17 ABUT > 0 < 90 SINGULAR REGION |
| } |
| "r_769_li.3a" { |
| @ li.3a: 0.14 min. spacing/notch of li1_3a_PERI |
| EXTERNAL li1_3a_PERI < 0.14 ABUT < 90 SINGULAR REGION |
| } |
| "r_770_li.4" { |
| @ li.4: "licon1" in periphery must be enclosed by li1 |
| licon1_PERI NOT li1 |
| } |
| "r_771_li.5" { |
| @ li.5: 0.08 min. enclosure of adj. sides of "licon1" in periphery by li1 |
| q2li1enc = ENCLOSURE [licon1_PERI] li1 < 0.08 ABUT < 90 PARALLEL MEASURE ALL PROJECTING > 0 |
| NOT RECTANGLE (EXPAND EDGE q2li1enc INSIDE BY 0.005) ORTHOGONAL ONLY |
| } |
| q2li1 = AREA li1 < 0.0561 |
| q4li1 = q2li1 OUTSIDE COREID |
| q3li1 = CUT q2li1 COREID |
| "r_772_li.6" { |
| @ li.6: 0.0561 min. area of li1 across areaid:ce |
| COPY q3li1 |
| } |
| "r_773_li.6" { |
| @ li.6: 0.0561 min. area of li1 |
| COPY q4li1 |
| } |
| li1AndRes = li1res AND li1 |
| li1NoRes = li1 NOT li1AndRes |
| li1AndResNoESD = li1AndRes NOT ESDID |
| "r_774_li.7" { |
| @ li.7: 0.29 min. width of li1AndResNoESD |
| INTERNAL li1AndResNoESD < 0.29 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_775_li.c1" { |
| @ li.c1: 0.14 min. width of "li1" in core |
| INTERNAL li1_CORE < 0.14 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_776_li.c2" { |
| @ li.c2: 0.14 min. spacing/notch of "li1" in core |
| EXTERNAL li1_CORE < 0.14 ABUT < 90 SINGULAR REGION |
| } |
| ringMCON = DONUT mcon |
| rectMCON = mcon NOT ringMCON |
| q0rectMCON = NOT RECTANGLE rectMCON ORTHOGONAL ONLY |
| "r_777_ct.1" { |
| @ ct.1: non-ring mcon should be rectangular |
| COPY q0rectMCON |
| } |
| q1rectMCON = INTERNAL rectMCON < 0.17 REGION |
| "r_778_ct.1" { |
| @ ct.1: 0.17 min. width of non-ring mcon |
| COPY q1rectMCON |
| } |
| q2rectMCON = rectMCON WITH EDGE (LENGTH rectMCON > 0.17) |
| "r_779_ct.1" { |
| @ ct.1: 0.17 max. length of non-ring mcon |
| COPY q2rectMCON |
| } |
| "r_780_ct.2" { |
| @ ct.2: 0.19 min. spacing/notch of mcon |
| EXTERNAL mcon < 0.19 ABUT < 90 SINGULAR REGION |
| } |
| "r_781_ct.3" { |
| @ ct.3: 0.17 min. width of ring-shaped mcon |
| INTERNAL ringMCON < 0.17 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_782_ct.3" { |
| @ ct.3: 0.175 max. width of ring-shaped mcon |
| q0ringMCON = SIZE ringMCON BY -0.087 |
| SIZE q0ringMCON BY 0.087 |
| } |
| "r_783_ct.3" { |
| @ ct.3: ring-shaped mcon must be enclosed by SEALID |
| ringMCON NOT SEALID |
| } |
| "r_784_ct.4" { |
| @ ct.4: "mcon" in periphery must be enclosed by li1 |
| mcon_PERI NOT li1 |
| } |
| "r_785_ct.c1" { |
| @ ct.c1: "mcon" in core must overlap li1 |
| mcon_CORE OUTSIDE li1 |
| } |
| "r_786_ct.c2" { |
| @ ct.c2: 0.19 min. spacing/notch of "mcon" in core |
| EXTERNAL mcon_CORE < 0.19 ABUT < 90 SINGULAR REGION |
| } |
| "r_787_m1.1" { |
| @ m1.1: 0.14 min. width of met1 |
| INTERNAL met1 < 0.14 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_788_m1.2" { |
| @ m1.2: 0.14 min. spacing/notch of met1 |
| EXTERNAL met1 < 0.14 ABUT < 90 SINGULAR REGION |
| } |
| q0Hugemet1 = WITH WIDTH met1 > 3.0 |
| q1Hugemet1 = SIZE q0Hugemet1 BY 0.28 INSIDE OF met1 STEP 0.28 |
| q2Hugemet1 = q1Hugemet1 NOT q0Hugemet1 |
| q3Hugemet1 = q2Hugemet1 WITH EDGE (q2Hugemet1 COINCIDENT OUTSIDE EDGE q0Hugemet1) |
| q4Hugemet1 = q3Hugemet1 OR q0Hugemet1 |
| q5Hugemet1 = SNAP q4Hugemet1 1 |
| q6Hugemet1 = met1 NOT q5Hugemet1 |
| q7Hugemet1 = EXTERNAL q0Hugemet1 q6Hugemet1 <= 0.275 REGION |
| q8Hugemet1 = q7Hugemet1 NOT (q7Hugemet1 INSIDE met1) |
| q9Hugemet1 = EXTERNAL q5Hugemet1 < 0.28 ABUT < 90 REGION |
| q10Hugemet1 = q9Hugemet1 NOT (INTERACT q9Hugemet1 (q9Hugemet1 AND met1)) |
| "r_789_m1.3b" { |
| @ m1.3b: 0.28 min. spacing between huge met1 and normal met1 |
| COPY q8Hugemet1 |
| } |
| "r_790_m1.3a" { |
| @ m1.3a: 0.28 min. spacing/notch of huge met1+nearby met1 |
| COPY q10Hugemet1 |
| } |
| s8spf_cells_m1_4 = EXTENT CELL "s8fs_cmux4_fm" ORIGINAL |
| mcon_PERI_4a = mcon_PERI AND s8spf_cells_m1_4 |
| mcon_PERI_4 = mcon_PERI NOT mcon_PERI_4a |
| "r_791_m1.4" { |
| @ m1.4: 0.03 min. enclosure of mcon_PERI_4 by met1 |
| q0mcon_PERI_4and = mcon_PERI_4 AND met1 |
| ENCLOSURE q0mcon_PERI_4and met1 < 0.03 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| "r_792_m1.4" { |
| @ m1.4: mcon_PERI_4 must be enclosed by met1 |
| mcon_PERI_4 NOT met1 |
| } |
| "r_793_m1.4a" { |
| @ m1.4a: 0.005 min. enclosure of mcon_PERI_4a by met1 |
| q0mcon_PERI_4aand = mcon_PERI_4a AND met1 |
| ENCLOSURE q0mcon_PERI_4aand met1 < 0.005 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| "r_794_m1.4a" { |
| @ m1.4a: mcon_PERI_4a must be enclosed by met1 |
| mcon_PERI_4a NOT met1 |
| } |
| "r_795_m1.5" { |
| @ m1.5: 0.06 min. enclosure of adj. sides of "mcon" in periphery by met1 |
| q0met1enc = ENCLOSURE [mcon_PERI] met1 < 0.06 ABUT < 90 PARALLEL MEASURE ALL PROJECTING > 0 |
| NOT RECTANGLE (EXPAND EDGE q0met1enc INSIDE BY 0.005) ORTHOGONAL ONLY |
| } |
| "r_796_m1.6" { |
| @ m1.6: 0.083 min. area of met1 |
| AREA met1 < 0.083 |
| } |
| met1Hole = HOLES met1 |
| met1HoleEmpty = HOLES met1 INNER |
| "r_797_m1.7" { |
| @ m1.7: 0.14 min. area of met1Hole |
| AREA met1Hole < 0.14 |
| } |
| "r_798_m1.7" { |
| @ m1.7: 0.14 min. area of met1HoleEmpty |
| AREA met1HoleEmpty < 0.14 |
| } |
| "r_799_m1.c1" { |
| @ m1.c1: "mcon" in core must be enclosed by met1 |
| mcon_CORE NOT met1 |
| } |
| ringVIA = DONUT via |
| rectVIA = via NOT ringVIA |
| rectVIAnoMT = rectVIA NOT moduleCutAREA |
| rectVIAMT = rectVIA AND moduleCutAREA |
| rectVIAMTA = RECTANGLE rectVIAMT == 0.15 BY == 0.15 ORTHOGONAL ONLY |
| rectVIAMTB = RECTANGLE rectVIAMT == 0.23 BY == 0.23 ORTHOGONAL ONLY |
| rectVIAMTC = RECTANGLE rectVIAMT == 0.28 BY == 0.28 ORTHOGONAL ONLY |
| rectVIAMTbad = rectVIAMT NOT (rectVIAMTA OR (rectVIAMTB OR rectVIAMTC)) |
| rectVIAa = RECTANGLE rectVIA == 0.15 BY == 0.15 ORTHOGONAL ONLY |
| q0rectVIAnoMT = NOT RECTANGLE rectVIAnoMT ORTHOGONAL ONLY |
| "r_800_via.1a" { |
| @ via.1a: via outside of moduleCut should be rectangular |
| COPY q0rectVIAnoMT |
| } |
| q1rectVIAnoMT = INTERNAL rectVIAnoMT < 0.15 REGION |
| "r_801_via.1a" { |
| @ via.1a: 0.15 min. width of via outside of moduleCut |
| COPY q1rectVIAnoMT |
| } |
| q2rectVIAnoMT = rectVIAnoMT WITH EDGE (LENGTH rectVIAnoMT > 0.15) |
| "r_802_via.1a" { |
| @ via.1a: 0.15 max. length of via outside of moduleCut |
| COPY q2rectVIAnoMT |
| } |
| "r_803_via.1b" { |
| @ via.1b: via size inside module cut must be 0.150 or 0.230 or 0.280 |
| COPY rectVIAMTbad |
| } |
| "r_804_via.2" { |
| @ via.2: 0.17 min. spacing/notch of via |
| EXTERNAL via < 0.17 ABUT < 90 SINGULAR REGION |
| } |
| "r_805_via.3" { |
| @ via.3: 0.2 min. width of ring-shaped via |
| INTERNAL ringVIA < 0.2 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_806_via.3" { |
| @ via.3: 0.205 max. width of ring-shaped via |
| q0ringVIA = SIZE ringVIA BY -0.102 |
| SIZE q0ringVIA BY 0.102 |
| } |
| "r_807_via.3" { |
| @ via.3: ring-shaped via must be enclosed by SEALID |
| ringVIA NOT SEALID |
| } |
| "r_808_via.4a" { |
| @ via.4a: 0.055 min. enclosure of 0.15um via by met1 |
| q0rectVIAaand = rectVIAa AND met1 |
| ENCLOSURE q0rectVIAaand met1 < 0.055 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| "r_809_via.4a" { |
| @ via.4a: 0.15um via must be enclosed by met1 |
| rectVIAa NOT met1 |
| } |
| "r_810_via.4b" { |
| @ via.4b: 0.03 min. enclosure of 0.23 via within modulecut by met1 |
| q0rectVIAMTBand = rectVIAMTB AND met1 |
| ENCLOSURE q0rectVIAMTBand met1 < 0.03 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| "r_811_via.4b" { |
| @ via.4b: 0.23 via within modulecut must be enclosed by met1 |
| rectVIAMTB NOT met1 |
| } |
| "r_812_via.4c" { |
| @ via.4c: 0 min. enclosure of 0.28 via within modulecut by met1 |
| q0rectVIAMTCand = rectVIAMTC AND met1 |
| rectVIAMTC NOT met1 |
| } |
| "r_813_via.4c" { |
| @ via.4c: 0.28 via within modulecut must be enclosed by met1 |
| rectVIAMTC NOT met1 |
| } |
| "r_814_via.5a" { |
| @ via.5a: 0.085 min. enclosure of adj. sides of 0.15um via by met1 |
| q1met1enc = ENCLOSURE [rectVIAa] met1 < 0.085 ABUT < 90 PARALLEL MEASURE ALL PROJECTING > 0 |
| NOT RECTANGLE (EXPAND EDGE q1met1enc INSIDE BY 0.005) ORTHOGONAL ONLY |
| } |
| "r_815_via.5b" { |
| @ via.5b: 0.06 min. enclosure of adj. sides of 0.23 via within modulecut by met1 |
| q2met1enc = ENCLOSURE [rectVIAMTB] met1 < 0.06 ABUT < 90 PARALLEL MEASURE ALL PROJECTING > 0 |
| NOT RECTANGLE (EXPAND EDGE q2met1enc INSIDE BY 0.005) ORTHOGONAL ONLY |
| } |
| "r_816_via.5c" { |
| @ via.5c: 0 min. enclosure of adj. sides of 0.28 via within modulecut by met1 |
| q3met1enc = rectVIAMTC NOT met1 |
| NOT RECTANGLE q3met1enc ORTHOGONAL ONLY |
| } |
| CONNECT SRCDRN li1 BY licon1 |
| CONNECT PTAP li1 BY licon1 |
| met2Conntap = NET AREA RATIO met2 tap > 0 |
| met2Conndiff = NET AREA RATIO met2 SRCDRN > 0 |
| met2ConnPtap = NET AREA RATIO met2 PTAP > 0 |
| met2Conndifftap = met2Conntap OR met2Conndiff |
| met2NotConndifftap = met2 NOT met2Conndifftap |
| met2NotConnVia = INTERACT met2NotConndifftap via2 > 2 |
| met2GroundOrFloat = met2ConnPtap OR met2NotConndifftap |
| met2GroundOrFloatVia = INTERACT met2GroundOrFloat via2 > 2 |
| met3_via2 = INTERACT met3 via2 |
| met3_over_floatingm2 = met3_via2 AND met2GroundOrFloat |
| CONNECT met2NotConnVia met3_over_floatingm2 by via2 |
| CONNECT met2GroundOrFloatVia met3_over_floatingm2 by via2 |
| crater = (EXTERNAL AR_MM2_more05 AR_MM2_less03 == 0.14 ABUT < 90 SINGULAR REGION EXCLUDE FALSE) NOT STDCID |
| AR_MM2_more05 = NET AREA RATIO met2NotConnVia via2 >= 0.05 [(AREA(via2))/(2*AREA(met2NotConnVia) +PERIMETER(met2NotConnVia) *0.35)] |
| AR_MM2_less03 = NET AREA RATIO met2GroundOrFloatVia via2 <= 0.032 [(AREA(via2))/(2*AREA(met2GroundOrFloatVia)+PERIMETER(met2GroundOrFloatVia)*0.35)] |
| "s_8_m2.3c" { |
| @ m2.3c: Crater: spacing matches between met2 areas with via2-to-SurfaceArea ratio >=0.05 and =< 0.032 |
| COPY crater |
| } |
| "r_817_m2.1" { |
| @ m2.1: 0.14 min. width of met2 |
| INTERNAL met2 < 0.14 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_818_m2.2" { |
| @ m2.2: 0.14 min. spacing/notch of met2 |
| EXTERNAL met2 < 0.14 ABUT < 90 SINGULAR REGION |
| } |
| q0Hugemet2 = WITH WIDTH met2 > 3.0 |
| q1Hugemet2 = SIZE q0Hugemet2 BY 0.28 INSIDE OF met2 STEP 0.28 |
| q2Hugemet2 = q1Hugemet2 NOT q0Hugemet2 |
| q3Hugemet2 = q2Hugemet2 WITH EDGE (q2Hugemet2 COINCIDENT OUTSIDE EDGE q0Hugemet2) |
| q4Hugemet2 = q3Hugemet2 OR q0Hugemet2 |
| q5Hugemet2 = SNAP q4Hugemet2 1 |
| q6Hugemet2 = met2 NOT q5Hugemet2 |
| q7Hugemet2 = EXTERNAL q0Hugemet2 q6Hugemet2 <= 0.275 REGION |
| q8Hugemet2 = q7Hugemet2 NOT (q7Hugemet2 INSIDE met2) |
| q9Hugemet2 = EXTERNAL q5Hugemet2 < 0.28 ABUT < 90 REGION |
| q10Hugemet2 = q9Hugemet2 NOT (INTERACT q9Hugemet2 (q9Hugemet2 AND met2)) |
| "r_819_m2.3b" { |
| @ m2.3b: 0.28 min. spacing between huge met2 and normal met2 |
| COPY q8Hugemet2 |
| } |
| "r_820_m2.3a" { |
| @ m2.3a: 0.28 min. spacing/notch of huge met2+nearby met2 |
| COPY q10Hugemet2 |
| } |
| "r_821_m2.4" { |
| @ m2.4: 0.055 min. enclosure of "via" in periphery by met2 |
| q0via_PERIand = via_PERI AND met2 |
| ENCLOSURE q0via_PERIand met2 < 0.055 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| "r_822_m2.4" { |
| @ m2.4: "via" in periphery must be enclosed by met2 |
| via_PERI NOT met2 |
| } |
| "r_823_m2.5" { |
| @ m2.5: 0.085 min. enclosure of adj. sides of via by met2 |
| q0met2enc = ENCLOSURE [via] met2 < 0.085 ABUT < 90 PARALLEL MEASURE ALL PROJECTING > 0 |
| NOT RECTANGLE (EXPAND EDGE q0met2enc INSIDE BY 0.005) ORTHOGONAL ONLY |
| } |
| "r_824_m2.6" { |
| @ m2.6: 0.0676 min. area of met2 |
| AREA met2 < 0.0676 |
| } |
| met2Hole = HOLES met2 |
| met2HoleEmpty = HOLES met2 INNER |
| "r_825_m2.7" { |
| @ m2.7: 0.14 min. area of met2Hole |
| AREA met2Hole < 0.14 |
| } |
| "r_826_m2.7" { |
| @ m2.7: 0.14 min. area of met2HoleEmpty |
| AREA met2HoleEmpty < 0.14 |
| } |
| "r_827_m2.c4" { |
| @ m2.c4: 0.04 min. enclosure of "via" in core by met2 |
| q0via_COREand = via_CORE AND met2 |
| ENCLOSURE q0via_COREand met2 < 0.04 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| "r_828_m2.c4" { |
| @ m2.c4: "via" in core must be enclosed by met2 |
| via_CORE NOT met2 |
| } |
| liconOnTap = licon1 AND tap |
| polyonVarChannel = INTERACT poly (poly AND varChannel_drc) |
| taponVarChannel = INTERACT tap (tap AND varChannel_drc) |
| varLength = varChannel_drc NOT COINCIDENT EDGE polyonVarChannel |
| varWidth = varChannel_drc COINCIDENT EDGE polyonVarChannel |
| varLengthError = LENGTH varLength < 0.18 |
| varWidthError = LENGTH varWidth < 1.0 |
| difftapNotVarChannel = difftap NOT taponVarChannel |
| pdiffVaracNwell = (INTERACT nwell (nwell AND varChannel_drc)) AND (INTERACT nwell (nwell AND PDIFF)) |
| "r_829_varac.1" { |
| @ varac.1: Min channel length of varactor channel is 0.180 |
| COPY varLengthError |
| } |
| "r_830_varac.2" { |
| @ varac.2: Min channel width of varactor channel is 1.000 |
| COPY varWidthError |
| } |
| "r_831_varac.3" { |
| @ varac.3: 0.18 min. spacing of varChannel & hvtp |
| EXTERNAL varChannel_drc hvtp < 0.18 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_832_varac.4" { |
| @ varac.4: 0.25 min. spacing of varChannel & liconOnTap |
| EXTERNAL varChannel_drc liconOnTap < 0.25 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_833_varac.5" { |
| @ varac.5: 0.15 min. enclosure of polyonVarChannel by nwell |
| q0polyonVarChanneland = polyonVarChannel AND nwell |
| ENCLOSURE q0polyonVarChanneland nwell < 0.15 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| "r_834_varac.6" { |
| @ varac.6: 0.27 min. spacing of taponVarChannel & difftapNotVarChannel |
| EXTERNAL taponVarChannel difftapNotVarChannel < 0.27 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_835_varac.7" { |
| @ varac.7: nwell overlapping varacChannel must not overlap p+ diff |
| COPY pdiffVaracNwell |
| } |
| "r_836_varac.8" { |
| @ varac.8: 0.255 min. enclosure of varChannel by hvtp |
| q0varChannel_drcand = varChannel_drc AND hvtp |
| ENCLOSURE q0varChannel_drcand hvtp < 0.255 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| photoDiodeSizeError = NOT LENGTH photoDiode == 3.0 |
| photoDiodeEdgeError = photoDiode NOT COINCIDENT INSIDE EDGE photoID |
| innerDnwellHoles = HOLES dnwell INNER |
| ptapHoles = HOLES PTAP INNER |
| photoDiodeNwell = photoDiode AND nwell |
| photoDbeyondNwell = photoDiode NOT nwell |
| photoEncNwellError = photoDbeyondNwell NOT (INTERNAL photoDbeyondNwell == 1.08 OPPOSITE EXTENDED 1.08 PARALLEL ONLY REGION) |
| photoNwellSizeError = NOT LENGTH photoDiodeNwell == 0.84 |
| photoDiodeTap = photoDiode AND tap |
| photoNwellBeyondTap = photoDiodeNwell NOT tap |
| photoNwellEncTapErr = photoNwellBeyondTap NOT (INTERNAL photoNwellBeyondTap == 0.215 OPPOSITE EXTENDED 0.215 PARALLEL ONLY REGION) |
| photoTapSizeError = NOT LENGTH photoDiodeTap == 0.41 |
| "r_837_photo.2" { |
| @ photo.2: 3.000 min/max width of photoDiode |
| COPY photoDiodeSizeError |
| } |
| "r_838_photo.3" { |
| @ photo.3: 5 min. spacing/notch of photoDiode |
| EXTERNAL photoDiode < 5.0 ABUT < 90 SINGULAR REGION |
| } |
| "r_839_photo.4" { |
| @ photo.4: 5.3 min. spacing of photoDiode & dnwellNotPhoto |
| EXTERNAL photoDiode dnwellNotPhoto < 5.3 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_840_photo.5" { |
| @ photo.5: edges of photoDiode (dnwell overlapping areaid.po) must be coincident with areaid.po |
| COPY photoDiodeEdgeError |
| } |
| "r_841_photo.6" { |
| @ photo.6: photoDiode must be enclosed by dnwell ring |
| photoDiode NOT innerDnwellHoles |
| } |
| "r_842_photo.7" { |
| @ photo.7: photoDiode must be enclosed by p+tap ring |
| photoDiode NOT ptapHoles |
| } |
| "r_843_photo.8" { |
| @ photo.8: 0.840 min/max width of nwell inside photoDiode |
| COPY photoNwellSizeError |
| } |
| "r_844_photo.9" { |
| @ photo.9: 1.080 min/max enclosure of nwell inside photoDiode by photoDiode |
| COPY photoEncNwellError |
| } |
| "r_845_photo.10" { |
| @ photo.10: 0.410 min/max width of tap inside photoDiode |
| COPY photoTapSizeError |
| } |
| "r_846_photo.11" { |
| @ photo.11: 0.215 min/max enclosure of tap by nwell inside photoDiode |
| COPY photoNwellEncTapErr |
| } |
| ringVIA2 = DONUT via2 |
| rectVIA2 = via2 NOT ringVIA2 |
| rectVIA2MT = rectVIA2 AND moduleCutAREA |
| rectVIA2noMT = rectVIA2 NOT moduleCutAREA |
| rectVIA2Vsmall = RECTANGLE rectVIA2MT == 0.2 BY == 0.2 ORTHOGONAL ONLY |
| rectVIA2Small = RECTANGLE rectVIA2MT == 0.28 BY == 0.28 ORTHOGONAL ONLY |
| rectVIA2Med = RECTANGLE rectVIA2MT == 1.2 BY == 1.2 ORTHOGONAL ONLY |
| rectVIA2Big = RECTANGLE rectVIA2MT == 1.5 BY == 1.5 ORTHOGONAL ONLY |
| rectVIA2Bad = rectVIA2MT NOT (rectVIA2Big OR |
| (rectVIA2Med OR |
| (rectVIA2Small OR rectVIA2Vsmall))) |
| "r_847_via2.1d" { |
| @ via2.1d: via size inside module cut must be 0.200, 0.280, 1.200, OR 1.500 |
| COPY rectVIA2Bad |
| } |
| q0rectVIA2noMT = NOT RECTANGLE rectVIA2noMT ORTHOGONAL ONLY |
| "r_848_via2.1a" { |
| @ via2.1a: rectVIA2noMT should be rectangular |
| COPY q0rectVIA2noMT |
| } |
| q1rectVIA2noMT = INTERNAL rectVIA2noMT < 0.2 REGION |
| "r_849_via2.1a" { |
| @ via2.1a: 0.2 min. width of rectVIA2noMT |
| COPY q1rectVIA2noMT |
| } |
| q2rectVIA2noMT = rectVIA2noMT WITH EDGE (LENGTH rectVIA2noMT > 0.2) |
| "r_850_via2.1a" { |
| @ via2.1a: 0.2 max. length of rectVIA2noMT |
| COPY q2rectVIA2noMT |
| } |
| "r_851_via2.2" { |
| @ via2.2: 0.2 min. spacing/notch of via2 |
| EXTERNAL via2 < 0.2 ABUT < 90 SINGULAR REGION |
| } |
| "r_852_via2.3" { |
| @ via2.3: 0.2 min. width of ring-shaped via2 |
| INTERNAL ringVIA2 < 0.2 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_853_via2.3" { |
| @ via2.3: 0.205 max. width of ring-shaped via2 |
| q0ringVIA2 = SIZE ringVIA2 BY -0.102 |
| SIZE q0ringVIA2 BY 0.102 |
| } |
| "r_854_via2.3" { |
| @ via2.3: ring-shaped via2 must be enclosed by SEALID |
| ringVIA2 NOT SEALID |
| } |
| "r_855_via2.4" { |
| @ via2.4: 0.04 min. enclosure of via2 by met2 |
| q0via2and = via2 AND met2 |
| ENCLOSURE q0via2and met2 < 0.04 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| "r_856_via2.4" { |
| @ via2.4: via2 must be enclosed by met2 |
| via2 NOT met2 |
| } |
| "r_857_via2.4a" { |
| @ via2.4a: 0.14 min. enclosure of rectVIA2Big by met2 |
| q0rectVIA2Bigand = rectVIA2Big AND met2 |
| ENCLOSURE q0rectVIA2Bigand met2 < 0.14 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| "r_858_via2.4a" { |
| @ via2.4a: rectVIA2Big must be enclosed by met2 |
| rectVIA2Big NOT met2 |
| } |
| "r_859_via2.5" { |
| @ via2.5: 0.085 min. enclosure of adj. sides of via2 by met2 |
| q1met2enc = ENCLOSURE [via2] met2 < 0.085 ABUT < 90 PARALLEL MEASURE ALL PROJECTING > 0 |
| NOT RECTANGLE (EXPAND EDGE q1met2enc INSIDE BY 0.005) ORTHOGONAL ONLY |
| } |
| "r_860_m3.1" { |
| @ m3.1: 0.3 min. width of met3 |
| INTERNAL met3 < 0.3 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_861_m3.2" { |
| @ m3.2: 0.3 min. spacing/notch of met3 |
| EXTERNAL met3 < 0.3 ABUT < 90 SINGULAR REGION |
| } |
| "r_862_m3.4" { |
| @ m3.4: 0.065 min. enclosure of via2 by met3 |
| q1via2and = via2 AND met3 |
| ENCLOSURE q1via2and met3 < 0.065 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| "r_863_m3.4" { |
| @ m3.4: via2 must be enclosed by met3 |
| via2 NOT met3 |
| } |
| "r_864_m3.6" { |
| @ m3.6: 0.24 min. area of met3 |
| AREA met3 < 0.24 |
| } |
| q0Hugemet3 = WITH WIDTH met3 > 3.0 |
| q1Hugemet3 = SIZE q0Hugemet3 BY 0.4 INSIDE OF met3 STEP 0.4 |
| q2Hugemet3 = q1Hugemet3 NOT q0Hugemet3 |
| q3Hugemet3 = q2Hugemet3 WITH EDGE (q2Hugemet3 COINCIDENT OUTSIDE EDGE q0Hugemet3) |
| q4Hugemet3 = q3Hugemet3 OR q0Hugemet3 |
| q5Hugemet3 = SNAP q4Hugemet3 1 |
| q6Hugemet3 = met3 NOT q5Hugemet3 |
| q7Hugemet3 = EXTERNAL q0Hugemet3 q6Hugemet3 <= 0.395 REGION |
| q8Hugemet3 = q7Hugemet3 NOT (q7Hugemet3 INSIDE met3) |
| q9Hugemet3 = EXTERNAL q5Hugemet3 < 0.4 ABUT < 90 REGION |
| q10Hugemet3 = q9Hugemet3 NOT (INTERACT q9Hugemet3 (q9Hugemet3 AND met3)) |
| "r_865_m3.3d" { |
| @ m3.3d: 0.4 min. spacing between huge met3 and normal met3 |
| COPY q8Hugemet3 |
| } |
| "r_866_m3.3c" { |
| @ m3.3c: 0.4 min. spacing/notch of huge met3+nearby met3 |
| COPY q10Hugemet3 |
| } |
| ringVIA3 = DONUT via3 |
| rectVIA3 = via3 NOT ringVIA3 |
| rectVIA3noMT = rectVIA3 NOT moduleCutAREA |
| rectVIA3MT = rectVIA3 AND moduleCutAREA |
| m4Exempt = met4 NOT (RECTANGLE met4 == 1.42 ASPECT == 1) |
| via3_sz1 = RECTANGLE rectVIA3MT == 0.2 ASPECT == 1 |
| via3_sz2 = RECTANGLE rectVIA3MT == 0.8 ASPECT == 1 |
| via3_1a_err = rectVIA3MT NOT (via3_sz1 OR via3_sz2) |
| q0rectVIA3noMT = NOT RECTANGLE rectVIA3noMT ORTHOGONAL ONLY |
| "r_867_via3.1" { |
| @ via3.1: rectVIA3noMT should be rectangular |
| COPY q0rectVIA3noMT |
| } |
| q1rectVIA3noMT = INTERNAL rectVIA3noMT < 0.2 REGION |
| "r_868_via3.1" { |
| @ via3.1: 0.2 min. width of rectVIA3noMT |
| COPY q1rectVIA3noMT |
| } |
| q2rectVIA3noMT = rectVIA3noMT WITH EDGE (LENGTH rectVIA3noMT > 0.2) |
| "r_869_via3.1" { |
| @ via3.1: 0.2 max. length of rectVIA3noMT |
| COPY q2rectVIA3noMT |
| } |
| "r_870_via3.1a" { |
| @ via3.1a: via size inside module cut must be 0.200 OR 0.800 |
| COPY via3_1a_err |
| } |
| "r_871_via3.2" { |
| @ via3.2: 0.2 min. spacing/notch of via3 |
| EXTERNAL via3 < 0.2 ABUT < 90 SINGULAR REGION |
| } |
| "r_872_via3.3" { |
| @ via3.3: 0.2 min. width of ring-shaped via3 |
| INTERNAL ringVIA3 < 0.2 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_873_via3.3" { |
| @ via3.3: 0.205 max. width of ring-shaped via3 |
| q0ringVIA3 = SIZE ringVIA3 BY -0.102 |
| SIZE q0ringVIA3 BY 0.102 |
| } |
| "r_874_via3.3" { |
| @ via3.3: ring-shaped via3 must be enclosed by SEALID |
| ringVIA3 NOT SEALID |
| } |
| "r_875_via3.4" { |
| @ via3.4: 0.06 min. enclosure of non-ring via3 by met3 |
| q0rectVIA3and = rectVIA3 AND met3 |
| ENCLOSURE q0rectVIA3and met3 < 0.06 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| "r_876_via3.4" { |
| @ via3.4: non-ring via3 must be enclosed by met3 |
| rectVIA3 NOT met3 |
| } |
| "r_877_via3.5" { |
| @ via3.5: 0.09 min. enclosure of adj. sides of via3 by met3 |
| q0met3enc = ENCLOSURE [via3] met3 < 0.09 ABUT < 90 PARALLEL MEASURE ALL PROJECTING > 0 |
| NOT RECTANGLE (EXPAND EDGE q0met3enc INSIDE BY 0.005) ORTHOGONAL ONLY |
| } |
| "r_878_m4.1" { |
| @ m4.1: 0.3 min. width of met4 |
| INTERNAL met4 < 0.3 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_879_m4.2" { |
| @ m4.2: 0.3 min. spacing/notch of met4 |
| EXTERNAL met4 < 0.3 ABUT < 90 SINGULAR REGION |
| } |
| "r_880_m4.3" { |
| @ m4.3: 0.065 min. enclosure of via3 by met4 |
| q0via3and = via3 AND met4 |
| ENCLOSURE q0via3and met4 < 0.065 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| "r_881_m4.3" { |
| @ m4.3: via3 must be enclosed by met4 |
| via3 NOT met4 |
| } |
| "r_882_m4.4a" { |
| @ m4.4a: 0.24 min. area of met4 |
| AREA met4 < 0.24 |
| } |
| q0Hugemet4 = WITH WIDTH met4 > 3.0 |
| q1Hugemet4 = SIZE q0Hugemet4 BY 0.4 INSIDE OF met4 STEP 0.4 |
| q2Hugemet4 = q1Hugemet4 NOT q0Hugemet4 |
| q3Hugemet4 = q2Hugemet4 WITH EDGE (q2Hugemet4 COINCIDENT OUTSIDE EDGE q0Hugemet4) |
| q4Hugemet4 = q3Hugemet4 OR q0Hugemet4 |
| q5Hugemet4 = SNAP q4Hugemet4 1 |
| q6Hugemet4 = met4 NOT q5Hugemet4 |
| q7Hugemet4 = EXTERNAL q0Hugemet4 q6Hugemet4 <= 0.395 REGION |
| q8Hugemet4 = q7Hugemet4 NOT (q7Hugemet4 INSIDE met4) |
| q9Hugemet4 = EXTERNAL q5Hugemet4 < 0.4 ABUT < 90 REGION |
| q10Hugemet4 = q9Hugemet4 NOT (INTERACT q9Hugemet4 (q9Hugemet4 AND met4)) |
| "r_883_m4.5b" { |
| @ m4.5b: 0.4 min. spacing between huge met4 and normal met4 |
| COPY q8Hugemet4 |
| } |
| "r_884_m4.5a" { |
| @ m4.5a: 0.4 min. spacing/notch of huge met4+nearby met4 |
| COPY q10Hugemet4 |
| } |
| ringVIA4 = DONUT via4 |
| rectVIA4 = via4 NOT ringVIA4 |
| m5Exempt = met5 NOT (RECTANGLE met5 == 1.42 ASPECT == 1) |
| q0rectVIA4 = NOT RECTANGLE rectVIA4 ORTHOGONAL ONLY |
| "r_885_via4.1" { |
| @ via4.1: non-ring via4 should be rectangular |
| COPY q0rectVIA4 |
| } |
| q1rectVIA4 = INTERNAL rectVIA4 < 0.8 REGION |
| "r_886_via4.1" { |
| @ via4.1: 0.8 min. width of non-ring via4 |
| COPY q1rectVIA4 |
| } |
| q2rectVIA4 = rectVIA4 WITH EDGE (LENGTH rectVIA4 > 0.8) |
| "r_887_via4.1" { |
| @ via4.1: 0.8 max. length of non-ring via4 |
| COPY q2rectVIA4 |
| } |
| "r_888_via4.2" { |
| @ via4.2: 0.8 min. spacing/notch of via4 |
| EXTERNAL via4 < 0.8 ABUT < 90 SINGULAR REGION |
| } |
| "r_889_via4.3" { |
| @ via4.3: 0.8 min. width of ring-shaped via4 |
| INTERNAL ringVIA4 < 0.8 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_890_via4.3" { |
| @ via4.3: 0.805 max. width of ring-shaped via4 |
| q0ringVIA4 = SIZE ringVIA4 BY -0.402 |
| SIZE q0ringVIA4 BY 0.402 |
| } |
| "r_891_via4.3" { |
| @ via4.3: ring-shaped via4 must be enclosed by SEALID |
| ringVIA4 NOT SEALID |
| } |
| "r_892_via4.4" { |
| @ via4.4: 0.19 min. enclosure of non-ring via4 by met4 |
| q0rectVIA4and = rectVIA4 AND met4 |
| ENCLOSURE q0rectVIA4and met4 < 0.19 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| "r_893_via4.4" { |
| @ via4.4: non-ring via4 must be enclosed by met4 |
| rectVIA4 NOT met4 |
| } |
| "r_894_m5.1" { |
| @ m5.1: 1.6 min. width of met5 |
| INTERNAL met5 < 1.6 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_895_m5.2" { |
| @ m5.2: 1.6 min. spacing/notch of met5 |
| EXTERNAL met5 < 1.6 ABUT < 90 SINGULAR REGION |
| } |
| "r_896_m5.3" { |
| @ m5.3: 0.31 min. enclosure of via4 by met5 |
| q0via4and = via4 AND met5 |
| ENCLOSURE q0via4and met5 < 0.31 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| "r_897_m5.3" { |
| @ m5.3: via4 must be enclosed by met5 |
| via4 NOT met5 |
| } |
| "r_898_m5.4" { |
| @ m5.4: 4 min. area of met5 |
| AREA met5 < 4.0 |
| } |
| "r_899_pad.2" { |
| @ pad.2: 1.27 min. spacing/notch of pad |
| EXTERNAL pad < 1.27 ABUT < 90 SINGULAR REGION |
| } |
| topmet = met5 OR MM5mk |
| HugePDMmkW = WITH WIDTH PDMmk > 100.0 |
| HugePDMmkWsz = SIZE HugePDMmkW BY 0.005 INSIDE OF PDMmk STEP 0.005 |
| HugePDMmkA = HugePDMmkWsz NOT HugePDMmkW |
| HugePDMmkB = HugePDMmkA WITH EDGE (HugePDMmkA COINCIDENT OUTSIDE EDGE HugePDMmkW) |
| HugePDMmkC = HugePDMmkB OR HugePDMmkW |
| HugePDMmkD = SNAP HugePDMmkC 5 |
| padNotMet3 = HugePDMmkD NOT topmet |
| pad3_err = AREA padNotMet3 > 30000.0 |
| "r_900_pad.3" { |
| @ pad.3: hugepad with area less than 30000.0 not allowed |
| COPY pad3_err |
| } |
| deFetPoly = INTERACT poly (poly AND ENID) |
| deFetGate = deFetPoly AND ENID |
| deFetDiff = diff AND ENID |
| deFetNdiff = deFetDiff NOT dnwell |
| deFetPdiff = deFetDiff AND dnwell |
| nonIsolatedTap = tap WITH EDGE (tap COINCIDENT OUTSIDE EDGE diff) |
| isolatedTap = tap NOT nonIsolatedTap |
| deFetTap = isolatedTap AND ENID |
| deNFetGate = INTERACT deFetGate (deFetGate AND deFetNdiff) |
| deNFetSource = INTERACT deFetNdiff (deFetNdiff AND deNFetGate) |
| deNFetSourceAndPoly = deNFetSource AND deFetpoly |
| deNFetSourceNotPoly = deNFetSource NOT deFetpoly |
| deNFetDrain = deFetTap AND nwell |
| nwellOVRdeNFetDrain = INTERACT nwell (nwell AND deNFetDrain) |
| deNFetSourceOverlapNwell = nwell AND deNFetSource |
| deNFetSourceGood = INTERNAL deNFetSourceOverlapNwell == 0.225 REGION |
| deNFetSourceBad = deNFetSourceOverlapNwell NOT deNFetSourceGood |
| denmos_6_1 = (EXPAND EDGE deNFetSource OUTSIDE BY 1.585) AND ENID |
| denmos_6_2 = deNFetSource OR denmos_6_1 |
| denmos_6_good = TOUCH denmos_6_2 deNFetDrain |
| denmos_6_bad_tmp = denmos_6_2 NOT denmos_6_good |
| denmos_6_bad = denmos_6_bad_tmp NOT deNFetSource |
| deNFetChannelEgde = deNFetGate INSIDE EDGE deNFetSource |
| deNFetChannelBadEgde = LENGTH deNFetChannelEgde < 5.0 |
| nwellOverlapEnid = INTERACT nwell (nwell AND deFetGate) |
| nwellRightAngEdg = CONVEX EDGE nwellOverlapEnid ANGLE1 == 90 ANGLE2 > 0 |
| nwellRightAngEdgExp = EXPAND EDGE nwellRightAngEdg OUTSIDE BY 0.005 |
| nwellRightAngEdgExpPoly = INTERACT nwellRightAngEdgExp (nwellRightAngEdgExp AND poly) |
| invalidNwellEdges = TOUCH EDGE nwellOverlapEnid nwellRightAngEdgExpPoly |
| nwellOverENID = INTERACT nwell (nwell AND ENID) |
| "r_901_denmos.1" { |
| @ denmos.1: 1.055 min. width of gate of Drain Extended nFET |
| INTERNAL deNFetGate < 1.055 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_902_denmos.2" { |
| @ denmos.2: 0.28 min. width of deNFetSource not overlapping poly |
| INTERNAL deNFetSourceNotPoly < 0.28 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_903_denmos.3" { |
| @ denmos.3: 0.925 min. width of deNFetSource overlapping poly |
| INTERNAL deNFetSourceAndPoly < 0.925 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_904_denmos.4" { |
| @ denmos.4: 0.17 min. width of drain of Drain Extended nFET |
| INTERNAL deNFetDrain < 0.17 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_905_denmos.5" { |
| @ denmos.5: min/max extension between de_nFET_source over nwell 0.225 |
| COPY deNFetSourceBad |
| } |
| "r_906_denmos.6" { |
| @ denmos.6: min/max spacing between de_nFET_source and de_nFET_drain 1.585 |
| COPY denmos_6_bad |
| } |
| "r_907_denmos.7" { |
| @ denmos.7: min channel width 5.000 |
| COPY deNFetChannelBadEgde |
| } |
| "r_908_denmos.8" { |
| @ denmos.8: 90 degree angles are not permitted for nwell over poly |
| COPY invalidNwellEdges |
| } |
| "r_909_denmos.10" { |
| @ denmos.10: 0.66 min. enclosure of drain of Drain Extended nFET by nwell |
| q0deNFetDrainand = deNFetDrain AND nwell |
| ENCLOSURE q0deNFetDrainand nwell < 0.66 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| "r_910_denmos.11" { |
| @ denmos.11: 0.86 min. spacing of ptap & nwellOVRdeNFetDrain |
| EXTERNAL PTAP nwellOVRdeNFetDrain < 0.86 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_911_denmos.12" { |
| @ denmos.12: 2.4 min. spacing of nwellOVRdeNFetDrain |
| EXTERNAL nwellOVRdeNFetDrain < 2.4 ABUT < 90 SINGULAR REGION SPACE EXCLUDE FALSE |
| } |
| "r_912_denmos.13" { |
| @ denmos.13: 0.13 min. enclosure of source of Drain Extended nFET by nsdm |
| q0deNFetSourceand = deNFetSource AND nsdm |
| ENCLOSURE q0deNFetSourceand nsdm < 0.13 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| "r_913_denmos.13" { |
| @ denmos.13: source of Drain Extended nFET must be enclosed by nsdm |
| deNFetSource NOT nsdm |
| } |
| //"r_914_denmos.14" { |
| // @ denmos.14: nvhv must be enclosed by moduleCutAREA |
| // nvhv NOT moduleCutAREA |
| // } |
| nwellhole = HOLES nwell |
| dePFetGate = INTERACT deFetGate (deFetGate AND deFetPdiff) |
| dePFetSource = INTERACT deFetPdiff (deFetPdiff AND dePFetGate) |
| dePFetSourceAndPoly = dePFetSource AND deFetpoly |
| dePFETSourceNotPoly = dePFetSource NOT deFetpoly |
| dePFetDrain = deFetTap NOT nwell |
| dePFetSourceExtendNwell = dePFetSource NOT nwell |
| dePFetSourceGood = INTERNAL dePFetSourceExtendNwell == 0.26 REGION |
| dePFETSourceBad = dePFetSourceExtendNwell NOT dePFetSourceGood |
| depmos_6_1 = (EXPAND EDGE dePFetSource OUTSIDE BY 1.19) AND ENID |
| depmos_6_2 = dePFetSource OR depmos_6_1 |
| depmos_6_good = TOUCH depmos_6_2 dePFetDrain |
| depmos_6_bad_tmp = depmos_6_2 NOT depmos_6_good |
| depmos_6_bad = depmos_6_bad_tmp NOT dePFetSource |
| dePFetChannelEgde = dePFetGate INSIDE EDGE dePFetSource |
| dePFetChannelBadEgde = LENGTH dePFetChannelEgde < 5.0 |
| nwellholeOverlapEnid = INTERACT nwellhole (nwellhole AND deFetGate) |
| nwellholeRightAngEdg = CONVEX EDGE nwellholeOverlapEnid ANGLE1 == 90 ANGLE2 > 0 |
| nwellholeRightAngEdgExp = EXPAND EDGE nwellholeRightAngEdg OUTSIDE BY 0.005 |
| nwellholeRightAngEdgExpPoly = INTERACT nwellholeRightAngEdgExp (nwellholeRightAngEdgExp AND poly) |
| invalidNwellholeEdges = TOUCH EDGE nwellholeOverlapEnid nwellholeRightAngEdgExpPoly |
| dePFetDrainNwellhole = nwellhole ENCLOSE dePFetDrain |
| pvhvW5 = EXPAND EDGE (LENGTH (pvhv NOT COINCIDENT EDGE diff) == 5.0) INSIDE BY 0.005 |
| pvhvL0_66 = EXPAND EDGE (LENGTH (pvhv COINCIDENT EDGE diff) == 0.66) INSIDE BY 0.005 |
| pvhvW5L0_66 = INTERACT (INTERACT pvhv pvhvW5) pvhvL0_66 |
| pvhv_depmos13 = pvhv NOT pvhvW5L0_66 |
| "r_915_depmos.1" { |
| @ depmos.1: 1.05 min. width of gate of Drain Extended pFET |
| INTERNAL dePFetGate < 1.05 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_916_depmos.2" { |
| @ depmos.2: 0.28 min. width of dePFetSourceNotpoly |
| INTERNAL dePFetSourceNotpoly < 0.28 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_917_depmos.3" { |
| @ depmos.3: 0.92 min. width of dePFetSource overlapping poly |
| INTERNAL dePFetSourceAndPoly < 0.92 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_918_depmos.4" { |
| @ depmos.4: 0.17 min. width of drain of Drain Extended pFET |
| INTERNAL dePFetDrain < 0.17 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_919_depmos.5" { |
| @ depmos.5: min/max extension between de_pFET_source beyond nwell 0.260 |
| COPY dePFetSourceBad |
| } |
| "r_920_depmos.6" { |
| @ depmos.6: min/max spacing between de_pFET_source and de_pFET_drain 1.190 |
| COPY depmos_6_bad |
| } |
| "r_921_depmos.7" { |
| @ depmos.7: min channel width 5.000 |
| COPY dePFetChannelBadEgde |
| } |
| "r_922_depmos.8" { |
| @ depmos.8: 90 degree angles are not permitted for nwellhole over poly |
| COPY invalidNwellholeEdges |
| } |
| "r_923_depmos.10" { |
| @ depmos.10: 0.86 min. enclosure of drain of Drain Extended pFET by nwellhole |
| q0dePFetDrainand = dePFetDrain AND nwellhole |
| ENCLOSURE q0dePFetDrainand nwellhole < 0.86 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| "r_924_depmos.11" { |
| @ depmos.11: 0.66 min. spacing of ntap & dePFetDrainNwellhole |
| EXTERNAL NTAP dePFetDrainNwellhole < 0.66 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_925_depmos.12" { |
| @ depmos.12: 0.13 min. enclosure of source of Drain Extended pFET by psdm |
| q0dePFetSourceand = dePFetSource AND psdm |
| ENCLOSURE q0dePFetSourceand psdm < 0.13 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| "r_926_depmos.12" { |
| @ depmos.12: source of Drain Extended pFET must be enclosed by psdm |
| dePFetSource NOT psdm |
| } |
| "r_927_depmos.13" { |
| @ depmos.13: pvhv_depmos13 must be enclosed by moduleCutAREA |
| pvhv_depmos13 NOT moduleCutAREA |
| } |
| difftapInsideEnid = difftap INSIDE ENID |
| difftapEndidEdg = difftapInsideEnid COINCIDENT INSIDE EDGE ENID |
| difftapEndidEdgExp = EXPAND EDGE difftapEndidEdg OUTSIDE BY 0.005 |
| goodHvdifftap = TOUCH difftapInsideEnid difftapEndidEdgExp >= 2 <= 3 |
| badHvdifftap = difftapInsideEnid NOT goodHvdifftap |
| polyGap = deFetGate NOT difftapInsideEnid |
| "r_928_extd.1" { |
| @ extd.1: difftap must not straddle ENID |
| CUT difftap ENID |
| } |
| "r_929_extd.2" { |
| @ extd.2: diff tap must have two or three coincident edges with areaid.en if enclosed by areaid.en |
| COPY badHvdifftap |
| } |
| "r_930_extd.3" { |
| @ extd.3: deFetPoly must overlap polyGap |
| deFetPoly OUTSIDE polyGap |
| } |
| DnwNoRing = dnwell NOT nwellring |
| PwresDnw = pwres AND DnwNoRing |
| PwresNwell = PwresDnw COINCIDENT OUTSIDE EDGE nwell |
| GoodPwresNwell = PwresDnw WITH EDGE PwresNwell == 2 |
| BadPwresNwell = PwresDnw NOT GoodPwresNwell |
| PwresTap = TOUCH EDGE PwresDnw tap |
| GoodPwresTap = PwresDnw WITH EDGE PwresTap == 2 |
| BadPwresTap = PwresDnw NOT GoodPwresTap |
| PwresTerm = tap WITH EDGE (tap COINCIDENT OUTSIDE EDGE GoodPwresTap) |
| GoodPwTap = EXTERNAL PwresTerm nwell == 0.22 ABUT < 90 SINGULAR REGION |
| PwresTermOutEdge = PwresTerm NOT COINCIDENT EDGE PwresDnw |
| BadPwTap = PwresTermOutEdge NOT COINCIDENT EDGE GoodPwTap |
| BadTapW = SIZE (SIZE PwresTerm BY -0.265) BY (0.53 / 2) |
| GoodTapLicon = INTERACT PwresTerm (PwresTerm AND Licon1) == 12 |
| GoodTapMcon = INTERACT PwresTerm (PwresTerm AND Mcon) == 12 |
| BadTapLicon = PwresTerm NOT GoodTapLicon |
| BadTapMcon_tmp = PwresTerm NOT GoodTapMcon |
| BadTapMcon = BadTapMcon_tmp AND met1 |
| nwellEnclosePwres = TOUCH nwell PwresDnw |
| tapRing = (DONUT tap) AND nwellEnclosePwres |
| tapRingLicon = licon1 AND tapRing |
| tapRingLi1 = INTERACT li1 tapRingLicon |
| tapRingMcon = mcon AND tapRingLi1 |
| tapRingMet1 = INTERACT met1 tapRingMcon |
| tapRingMetStrap = INTERACT tapRing tapRingMet1 |
| nonTapwell = nwellEnclosePwres NOT (INTERACT nwell tapRingMetStrap) |
| "r_931_pwres.1" { |
| @ pwres.1: pwres must be enclosed by DnwNoRing |
| pwres NOT DnwNoRing |
| } |
| q0PwresDnw = NOT RECTANGLE PwresDnw ORTHOGONAL ONLY |
| "r_932_pwres.2" { |
| @ pwres.2: PwresDnw should be rectangular |
| COPY q0PwresDnw |
| } |
| q1PwresDnw = INTERNAL PwresDnw < 2.65 REGION |
| "r_933_pwres.2" { |
| @ pwres.2: 2.65 min. width of PwresDnw |
| COPY q1PwresDnw |
| } |
| q2PwresDnw = INTERNAL PwresDnw <= 2.65 REGION |
| q3PwresDnw = PwresDnw NOT q2PwresDnw |
| "r_934_pwres.2" { |
| @ pwres.2: 2.65 max. width of PwresDnw |
| COPY q3PwresDnw |
| } |
| q4PwresDnw = INTERNAL PwresDnw < 26.5 PROJECTING < 26.5 REGION |
| "r_935_pwres.2" { |
| @ pwres.2: 26.5 min. length of PwresDnw |
| COPY q4PwresDnw |
| } |
| q5PwresDnw = PwresDnw WITH EDGE (LENGTH PwresDnw > 265.0) |
| "r_936_pwres.2" { |
| @ pwres.2: 265 max. length of PwresDnw |
| COPY q5PwresDnw |
| } |
| /// pwres.2 is handled by pwres.3 |
| /// pwres.2 is handled by pwres.4 |
| "r_937_pwres.5" { |
| @ pwres.5: pwres Tap to nwell spacing must be 0.220 |
| COPY BadPwTap |
| } |
| "r_938_pwres.6" { |
| @ pwres.6: 0.53 min. width of PwresTerm |
| INTERNAL PwresTerm < 0.53 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_939_pwres.6" { |
| @ pwres.6: Exceeds allowed width of pwell res tap |
| COPY BadTapW |
| } |
| "r_940_pwres.7a" { |
| @ pwres.7a: Tap in pwell must enclose 12 licon1 |
| COPY BadTapLicon |
| } |
| "r_941_pwres.7b" { |
| @ pwres.7b: Tap in pwell must enclose 12 mcon |
| COPY BadTapMcon |
| } |
| "r_942_pwres.8a" { |
| @ pwres.8a: poly must not overlap PwresDnw |
| poly AND PwresDnw |
| } |
| "r_943_pwres.8b" { |
| @ pwres.8b: diff must not overlap PwresDnw |
| diff AND PwresDnw |
| } |
| "r_944_pwres.9" { |
| @ pwres.9: Nwell around pwell res must have strapped tap with metal |
| COPY nonTapwell |
| } |
| "r_945_pwres.11" { |
| @ pwres.11: Pwell res must abut nwell edges on opposite sides |
| COPY BadPwresNwell |
| } |
| "r_946_pwres.10" { |
| @ pwres.10: Pwell res must abut 2 pwres_terminal on opposite sides |
| COPY BadPwresTap |
| } |
| invalid_rfdiode_2 = RFDIODEID NOT COINCIDENT EDGE nwell |
| nwellAndDnwellDRC = dnwell AND nwell |
| nwellDnwellHolesDRC = HOLES nwellAndDnwellDRC INNER |
| inner_nwell_ring_edge = nwellRing COINCIDENT EDGE nwellDnwellHolesDRC |
| invalid_rfdiode_3 = (INTERACT RFDIODEID nwellHoles) NOT COINCIDENT EDGE inner_nwell_ring_edge |
| "r_947_rfdiode.1" { |
| @ rfdiode.1: non-manhattan RFDIODEID edge |
| ANGLE RFDIODEID > 0 < 90 |
| } |
| "r_948_rfdiode.2" { |
| @ rfdiode.2: areaid.re must be coincident with nwell for the rf nwell diode |
| COPY invalid_rfdiode_2 |
| } |
| "r_949_rfdiode.3" { |
| @ rfdiode.3: areaid.re must be coincident with inner nwell ring edge for rf pwell-deep nwell diode |
| COPY invalid_rfdiode_3 |
| } |
| NSM_keepout_DRC = nsm OR NSMmk |
| exempt_NSM3_Cells = (SEALID AND |
| (DONUT diff) |
| ) OR (EXTENT CELL "nikon*") |
| exempt_NSM3a_Cells = (EXTENT CELL "s8Fab_crntic*") OR dieCut |
| "r_950_nsm.1" { |
| @ nsm.1: 3 min. width of nsm |
| INTERNAL nsm < 3.0 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_951_nsm.2" { |
| @ nsm.2: 4 min. spacing/notch of nsm |
| EXTERNAL nsm < 4.0 ABUT < 90 SINGULAR REGION |
| } |
| diff_not_NSM3_exempt = diff NOT exempt_NSM3_Cells |
| "r_952_nsm.3" { |
| @ nsm.3: 1 min. spacing of diff_not_NSM3_exempt & nsm OR NSMmk |
| EXTERNAL diff_not_NSM3_exempt NSM_keepout_DRC < 1.0 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_953_nsm.3" { |
| @ nsm.3: diff_not_NSM3_exempt must not overlap nsm OR NSMmk |
| diff_not_NSM3_exempt AND NSM_keepout_DRC |
| } |
| tap_not_NSM3_exempt = tap NOT exempt_NSM3_Cells |
| "r_954_nsm.3" { |
| @ nsm.3: 1 min. spacing of tap_not_NSM3_exempt & nsm OR NSMmk |
| EXTERNAL tap_not_NSM3_exempt NSM_keepout_DRC < 1.0 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_955_nsm.3" { |
| @ nsm.3: tap_not_NSM3_exempt must not overlap nsm OR NSMmk |
| tap_not_NSM3_exempt AND NSM_keepout_DRC |
| } |
| fomDummyDRC_not_NSM3_exempt = fomDummyDRC NOT exempt_NSM3_Cells |
| "r_956_nsm.3" { |
| @ nsm.3: 1 min. spacing of fomDummyDRC_not_NSM3_exempt & nsm OR NSMmk |
| EXTERNAL fomDummyDRC_not_NSM3_exempt NSM_keepout_DRC < 1.0 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_957_nsm.3" { |
| @ nsm.3: fomDummyDRC_not_NSM3_exempt must not overlap nsm OR NSMmk |
| fomDummyDRC_not_NSM3_exempt AND NSM_keepout_DRC |
| } |
| FOMmk_not_NSM3_exempt = FOMmk NOT exempt_NSM3_Cells |
| "r_958_nsm.3" { |
| @ nsm.3: 1 min. spacing of FOMmk_not_NSM3_exempt & nsm OR NSMmk |
| EXTERNAL FOMmk_not_NSM3_exempt NSM_keepout_DRC < 1.0 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_959_nsm.3" { |
| @ nsm.3: FOMmk_not_NSM3_exempt must not overlap nsm OR NSMmk |
| FOMmk_not_NSM3_exempt AND NSM_keepout_DRC |
| } |
| poly_not_NSM3_exempt = poly NOT exempt_NSM3_Cells |
| "r_960_nsm.3" { |
| @ nsm.3: 1 min. spacing of poly_not_NSM3_exempt & nsm OR NSMmk |
| EXTERNAL poly_not_NSM3_exempt NSM_keepout_DRC < 1.0 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_961_nsm.3" { |
| @ nsm.3: poly_not_NSM3_exempt must not overlap nsm OR NSMmk |
| poly_not_NSM3_exempt AND NSM_keepout_DRC |
| } |
| P1Mmk_not_NSM3_exempt = P1Mmk NOT exempt_NSM3_Cells |
| "r_962_nsm.3" { |
| @ nsm.3: 1 min. spacing of P1Mmk_not_NSM3_exempt & nsm OR NSMmk |
| EXTERNAL P1Mmk_not_NSM3_exempt NSM_keepout_DRC < 1.0 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_963_nsm.3" { |
| @ nsm.3: P1Mmk_not_NSM3_exempt must not overlap nsm OR NSMmk |
| P1Mmk_not_NSM3_exempt AND NSM_keepout_DRC |
| } |
| li1_not_NSM3_exempt = li1 NOT exempt_NSM3_Cells |
| "r_964_nsm.3" { |
| @ nsm.3: 1 min. spacing of li1_not_NSM3_exempt & nsm OR NSMmk |
| EXTERNAL li1_not_NSM3_exempt NSM_keepout_DRC < 1.0 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_965_nsm.3" { |
| @ nsm.3: li1_not_NSM3_exempt must not overlap nsm OR NSMmk |
| li1_not_NSM3_exempt AND NSM_keepout_DRC |
| } |
| LI1Mmk_not_NSM3_exempt = LI1Mmk NOT exempt_NSM3_Cells |
| "r_966_nsm.3" { |
| @ nsm.3: 1 min. spacing of LI1Mmk_not_NSM3_exempt & nsm OR NSMmk |
| EXTERNAL LI1Mmk_not_NSM3_exempt NSM_keepout_DRC < 1.0 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_967_nsm.3" { |
| @ nsm.3: LI1Mmk_not_NSM3_exempt must not overlap nsm OR NSMmk |
| LI1Mmk_not_NSM3_exempt AND NSM_keepout_DRC |
| } |
| met1_not_NSM3_exempt = met1 NOT exempt_NSM3_Cells |
| "r_968_nsm.3" { |
| @ nsm.3: 1 min. spacing of met1_not_NSM3_exempt & nsm OR NSMmk |
| EXTERNAL met1_not_NSM3_exempt NSM_keepout_DRC < 1.0 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_969_nsm.3" { |
| @ nsm.3: met1_not_NSM3_exempt must not overlap nsm OR NSMmk |
| met1_not_NSM3_exempt AND NSM_keepout_DRC |
| } |
| MM1mk_not_NSM3_exempt = MM1mk NOT exempt_NSM3_Cells |
| "r_970_nsm.3" { |
| @ nsm.3: 1 min. spacing of MM1mk_not_NSM3_exempt & nsm OR NSMmk |
| EXTERNAL MM1mk_not_NSM3_exempt NSM_keepout_DRC < 1.0 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_971_nsm.3" { |
| @ nsm.3: MM1mk_not_NSM3_exempt must not overlap nsm OR NSMmk |
| MM1mk_not_NSM3_exempt AND NSM_keepout_DRC |
| } |
| met2_not_NSM3_exempt = met2 NOT exempt_NSM3_Cells |
| "r_972_nsm.3" { |
| @ nsm.3: 1 min. spacing of met2_not_NSM3_exempt & nsm OR NSMmk |
| EXTERNAL met2_not_NSM3_exempt NSM_keepout_DRC < 1.0 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_973_nsm.3" { |
| @ nsm.3: met2_not_NSM3_exempt must not overlap nsm OR NSMmk |
| met2_not_NSM3_exempt AND NSM_keepout_DRC |
| } |
| MM2Mk_not_NSM3_exempt = MM2Mk NOT exempt_NSM3_Cells |
| "r_974_nsm.3" { |
| @ nsm.3: 1 min. spacing of MM2Mk_not_NSM3_exempt & nsm OR NSMmk |
| EXTERNAL MM2Mk_not_NSM3_exempt NSM_keepout_DRC < 1.0 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_975_nsm.3" { |
| @ nsm.3: MM2Mk_not_NSM3_exempt must not overlap nsm OR NSMmk |
| MM2Mk_not_NSM3_exempt AND NSM_keepout_DRC |
| } |
| met3_not_NSM3_exempt = met3 NOT exempt_NSM3_Cells |
| "r_976_nsm.3" { |
| @ nsm.3: 1 min. spacing of met3_not_NSM3_exempt & nsm OR NSMmk |
| EXTERNAL met3_not_NSM3_exempt NSM_keepout_DRC < 1.0 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_977_nsm.3" { |
| @ nsm.3: met3_not_NSM3_exempt must not overlap nsm OR NSMmk |
| met3_not_NSM3_exempt AND NSM_keepout_DRC |
| } |
| MM3mk_not_NSM3_exempt = MM3mk NOT exempt_NSM3_Cells |
| "r_978_nsm.3" { |
| @ nsm.3: 1 min. spacing of MM3mk_not_NSM3_exempt & nsm OR NSMmk |
| EXTERNAL MM3mk_not_NSM3_exempt NSM_keepout_DRC < 1.0 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_979_nsm.3" { |
| @ nsm.3: MM3mk_not_NSM3_exempt must not overlap nsm OR NSMmk |
| MM3mk_not_NSM3_exempt AND NSM_keepout_DRC |
| } |
| met4_not_NSM3_exempt = met4 NOT exempt_NSM3_Cells |
| "r_980_nsm.3" { |
| @ nsm.3: 1 min. spacing of met4_not_NSM3_exempt & nsm OR NSMmk |
| EXTERNAL met4_not_NSM3_exempt NSM_keepout_DRC < 1.0 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_981_nsm.3" { |
| @ nsm.3: met4_not_NSM3_exempt must not overlap nsm OR NSMmk |
| met4_not_NSM3_exempt AND NSM_keepout_DRC |
| } |
| MM4mk_not_NSM3_exempt = MM4mk NOT exempt_NSM3_Cells |
| "r_982_nsm.3" { |
| @ nsm.3: 1 min. spacing of MM4mk_not_NSM3_exempt & nsm OR NSMmk |
| EXTERNAL MM4mk_not_NSM3_exempt NSM_keepout_DRC < 1.0 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_983_nsm.3" { |
| @ nsm.3: MM4mk_not_NSM3_exempt must not overlap nsm OR NSMmk |
| MM4mk_not_NSM3_exempt AND NSM_keepout_DRC |
| } |
| met5_not_NSM3_exempt = met5 NOT exempt_NSM3_Cells |
| "r_984_nsm.3" { |
| @ nsm.3: 1 min. spacing of met5_not_NSM3_exempt & nsm OR NSMmk |
| EXTERNAL met5_not_NSM3_exempt NSM_keepout_DRC < 1.0 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_985_nsm.3" { |
| @ nsm.3: met5_not_NSM3_exempt must not overlap nsm OR NSMmk |
| met5_not_NSM3_exempt AND NSM_keepout_DRC |
| } |
| MM5mk_not_NSM3_exempt = MM5mk NOT exempt_NSM3_Cells |
| "r_986_nsm.3" { |
| @ nsm.3: 1 min. spacing of MM5mk_not_NSM3_exempt & nsm OR NSMmk |
| EXTERNAL MM5mk_not_NSM3_exempt NSM_keepout_DRC < 1.0 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_987_nsm.3" { |
| @ nsm.3: MM5mk_not_NSM3_exempt must not overlap nsm OR NSMmk |
| MM5mk_not_NSM3_exempt AND NSM_keepout_DRC |
| } |
| diff_not_NSM3a_exempt = diff NOT exempt_NSM3a_Cells |
| "r_988_nsm.3a" { |
| @ nsm.3a: 3 min. enclosure of diff_not_NSM3a_exempt by frameBndr |
| q0diff_not_NSM3a_exemptand = diff_not_NSM3a_exempt AND frameBndr |
| ENCLOSURE q0diff_not_NSM3a_exemptand frameBndr < 3.0 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| tap_not_NSM3a_exempt = tap NOT exempt_NSM3a_Cells |
| "r_989_nsm.3a" { |
| @ nsm.3a: 3 min. enclosure of tap_not_NSM3a_exempt by frameBndr |
| q0tap_not_NSM3a_exemptand = tap_not_NSM3a_exempt AND frameBndr |
| ENCLOSURE q0tap_not_NSM3a_exemptand frameBndr < 3.0 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| fomDummyDRC_not_NSM3a_exempt = fomDummyDRC NOT exempt_NSM3a_Cells |
| "r_990_nsm.3a" { |
| @ nsm.3a: 3 min. enclosure of fomDummyDRC_not_NSM3a_exempt by frameBndr |
| q0fomDummyDRC_not_NSM3a_exemptand = fomDummyDRC_not_NSM3a_exempt AND frameBndr |
| ENCLOSURE q0fomDummyDRC_not_NSM3a_exemptand frameBndr < 3.0 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| FOMmk_not_NSM3a_exempt = FOMmk NOT exempt_NSM3a_Cells |
| "r_991_nsm.3a" { |
| @ nsm.3a: 3 min. enclosure of FOMmk_not_NSM3a_exempt by frameBndr |
| q0FOMmk_not_NSM3a_exemptand = FOMmk_not_NSM3a_exempt AND frameBndr |
| ENCLOSURE q0FOMmk_not_NSM3a_exemptand frameBndr < 3.0 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| poly_not_NSM3a_exempt = poly NOT exempt_NSM3a_Cells |
| "r_992_nsm.3a" { |
| @ nsm.3a: 3 min. enclosure of poly_not_NSM3a_exempt by frameBndr |
| q0poly_not_NSM3a_exemptand = poly_not_NSM3a_exempt AND frameBndr |
| ENCLOSURE q0poly_not_NSM3a_exemptand frameBndr < 3.0 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| P1Mmk_not_NSM3a_exempt = P1Mmk NOT exempt_NSM3a_Cells |
| "r_993_nsm.3a" { |
| @ nsm.3a: 3 min. enclosure of P1Mmk_not_NSM3a_exempt by frameBndr |
| q0P1Mmk_not_NSM3a_exemptand = P1Mmk_not_NSM3a_exempt AND frameBndr |
| ENCLOSURE q0P1Mmk_not_NSM3a_exemptand frameBndr < 3.0 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| li1_not_NSM3a_exempt = li1 NOT exempt_NSM3a_Cells |
| "r_994_nsm.3a" { |
| @ nsm.3a: 3 min. enclosure of li1_not_NSM3a_exempt by frameBndr |
| q0li1_not_NSM3a_exemptand = li1_not_NSM3a_exempt AND frameBndr |
| ENCLOSURE q0li1_not_NSM3a_exemptand frameBndr < 3.0 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| LI1Mmk_not_NSM3a_exempt = LI1Mmk NOT exempt_NSM3a_Cells |
| "r_995_nsm.3a" { |
| @ nsm.3a: 3 min. enclosure of LI1Mmk_not_NSM3a_exempt by frameBndr |
| q0LI1Mmk_not_NSM3a_exemptand = LI1Mmk_not_NSM3a_exempt AND frameBndr |
| ENCLOSURE q0LI1Mmk_not_NSM3a_exemptand frameBndr < 3.0 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| met1_not_NSM3a_exempt = met1 NOT exempt_NSM3a_Cells |
| "r_996_nsm.3a" { |
| @ nsm.3a: 3 min. enclosure of met1_not_NSM3a_exempt by frameBndr |
| q0met1_not_NSM3a_exemptand = met1_not_NSM3a_exempt AND frameBndr |
| ENCLOSURE q0met1_not_NSM3a_exemptand frameBndr < 3.0 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| MM1mk_not_NSM3a_exempt = MM1mk NOT exempt_NSM3a_Cells |
| "r_997_nsm.3a" { |
| @ nsm.3a: 3 min. enclosure of MM1mk_not_NSM3a_exempt by frameBndr |
| q0MM1mk_not_NSM3a_exemptand = MM1mk_not_NSM3a_exempt AND frameBndr |
| ENCLOSURE q0MM1mk_not_NSM3a_exemptand frameBndr < 3.0 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| met2_not_NSM3a_exempt = met2 NOT exempt_NSM3a_Cells |
| "r_998_nsm.3a" { |
| @ nsm.3a: 3 min. enclosure of met2_not_NSM3a_exempt by frameBndr |
| q0met2_not_NSM3a_exemptand = met2_not_NSM3a_exempt AND frameBndr |
| ENCLOSURE q0met2_not_NSM3a_exemptand frameBndr < 3.0 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| MM2Mk_not_NSM3a_exempt = MM2Mk NOT exempt_NSM3a_Cells |
| "r_999_nsm.3a" { |
| @ nsm.3a: 3 min. enclosure of MM2Mk_not_NSM3a_exempt by frameBndr |
| q0MM2Mk_not_NSM3a_exemptand = MM2Mk_not_NSM3a_exempt AND frameBndr |
| ENCLOSURE q0MM2Mk_not_NSM3a_exemptand frameBndr < 3.0 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| met3_not_NSM3a_exempt = met3 NOT exempt_NSM3a_Cells |
| "r_1000_nsm.3a" { |
| @ nsm.3a: 3 min. enclosure of met3_not_NSM3a_exempt by frameBndr |
| q0met3_not_NSM3a_exemptand = met3_not_NSM3a_exempt AND frameBndr |
| ENCLOSURE q0met3_not_NSM3a_exemptand frameBndr < 3.0 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| MM3mk_not_NSM3a_exempt = MM3mk NOT exempt_NSM3a_Cells |
| "r_1001_nsm.3a" { |
| @ nsm.3a: 3 min. enclosure of MM3mk_not_NSM3a_exempt by frameBndr |
| q0MM3mk_not_NSM3a_exemptand = MM3mk_not_NSM3a_exempt AND frameBndr |
| ENCLOSURE q0MM3mk_not_NSM3a_exemptand frameBndr < 3.0 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| met4_not_NSM3a_exempt = met4 NOT exempt_NSM3a_Cells |
| "r_1002_nsm.3a" { |
| @ nsm.3a: 3 min. enclosure of met4_not_NSM3a_exempt by frameBndr |
| q0met4_not_NSM3a_exemptand = met4_not_NSM3a_exempt AND frameBndr |
| ENCLOSURE q0met4_not_NSM3a_exemptand frameBndr < 3.0 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| MM4mk_not_NSM3a_exempt = MM4mk NOT exempt_NSM3a_Cells |
| "r_1003_nsm.3a" { |
| @ nsm.3a: 3 min. enclosure of MM4mk_not_NSM3a_exempt by frameBndr |
| q0MM4mk_not_NSM3a_exemptand = MM4mk_not_NSM3a_exempt AND frameBndr |
| ENCLOSURE q0MM4mk_not_NSM3a_exemptand frameBndr < 3.0 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| met5_not_NSM3a_exempt = met5 NOT exempt_NSM3a_Cells |
| "r_1004_nsm.3a" { |
| @ nsm.3a: 3 min. enclosure of met5_not_NSM3a_exempt by frameBndr |
| q0met5_not_NSM3a_exemptand = met5_not_NSM3a_exempt AND frameBndr |
| ENCLOSURE q0met5_not_NSM3a_exemptand frameBndr < 3.0 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| MM5mk_not_NSM3a_exempt = MM5mk NOT exempt_NSM3a_Cells |
| "r_1005_nsm.3a" { |
| @ nsm.3a: 3 min. enclosure of MM5mk_not_NSM3a_exempt by frameBndr |
| q0MM5mk_not_NSM3a_exemptand = MM5mk_not_NSM3a_exempt AND frameBndr |
| ENCLOSURE q0MM5mk_not_NSM3a_exemptand frameBndr < 3.0 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| diff_not_NSM3b_exempt = diff NOT dieCut |
| "r_1006_nsm.3b" { |
| @ nsm.3b: 3 min. spacing of diff_not_NSM3b_exempt & dieCut |
| EXTERNAL diff_not_NSM3b_exempt dieCut < 3.0 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| tap_not_NSM3b_exempt = tap NOT dieCut |
| "r_1007_nsm.3b" { |
| @ nsm.3b: 3 min. spacing of tap_not_NSM3b_exempt & dieCut |
| EXTERNAL tap_not_NSM3b_exempt dieCut < 3.0 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| fomDummyDRC_not_NSM3b_exempt = fomDummyDRC NOT dieCut |
| "r_1008_nsm.3b" { |
| @ nsm.3b: 3 min. spacing of fomDummyDRC_not_NSM3b_exempt & dieCut |
| EXTERNAL fomDummyDRC_not_NSM3b_exempt dieCut < 3.0 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| FOMmk_not_NSM3b_exempt = FOMmk NOT dieCut |
| "r_1009_nsm.3b" { |
| @ nsm.3b: 3 min. spacing of FOMmk_not_NSM3b_exempt & dieCut |
| EXTERNAL FOMmk_not_NSM3b_exempt dieCut < 3.0 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| poly_not_NSM3b_exempt = poly NOT dieCut |
| "r_1010_nsm.3b" { |
| @ nsm.3b: 3 min. spacing of poly_not_NSM3b_exempt & dieCut |
| EXTERNAL poly_not_NSM3b_exempt dieCut < 3.0 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| P1Mmk_not_NSM3b_exempt = P1Mmk NOT dieCut |
| "r_1011_nsm.3b" { |
| @ nsm.3b: 3 min. spacing of P1Mmk_not_NSM3b_exempt & dieCut |
| EXTERNAL P1Mmk_not_NSM3b_exempt dieCut < 3.0 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| li1_not_NSM3b_exempt = li1 NOT dieCut |
| "r_1012_nsm.3b" { |
| @ nsm.3b: 3 min. spacing of li1_not_NSM3b_exempt & dieCut |
| EXTERNAL li1_not_NSM3b_exempt dieCut < 3.0 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| LI1Mmk_not_NSM3b_exempt = LI1Mmk NOT dieCut |
| "r_1013_nsm.3b" { |
| @ nsm.3b: 3 min. spacing of LI1Mmk_not_NSM3b_exempt & dieCut |
| EXTERNAL LI1Mmk_not_NSM3b_exempt dieCut < 3.0 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| met1_not_NSM3b_exempt = met1 NOT dieCut |
| "r_1014_nsm.3b" { |
| @ nsm.3b: 3 min. spacing of met1_not_NSM3b_exempt & dieCut |
| EXTERNAL met1_not_NSM3b_exempt dieCut < 3.0 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| MM1mk_not_NSM3b_exempt = MM1mk NOT dieCut |
| "r_1015_nsm.3b" { |
| @ nsm.3b: 3 min. spacing of MM1mk_not_NSM3b_exempt & dieCut |
| EXTERNAL MM1mk_not_NSM3b_exempt dieCut < 3.0 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| met2_not_NSM3b_exempt = met2 NOT dieCut |
| "r_1016_nsm.3b" { |
| @ nsm.3b: 3 min. spacing of met2_not_NSM3b_exempt & dieCut |
| EXTERNAL met2_not_NSM3b_exempt dieCut < 3.0 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| MM2Mk_not_NSM3b_exempt = MM2Mk NOT dieCut |
| "r_1017_nsm.3b" { |
| @ nsm.3b: 3 min. spacing of MM2Mk_not_NSM3b_exempt & dieCut |
| EXTERNAL MM2Mk_not_NSM3b_exempt dieCut < 3.0 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| met3_not_NSM3b_exempt = met3 NOT dieCut |
| "r_1018_nsm.3b" { |
| @ nsm.3b: 3 min. spacing of met3_not_NSM3b_exempt & dieCut |
| EXTERNAL met3_not_NSM3b_exempt dieCut < 3.0 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| MM3mk_not_NSM3b_exempt = MM3mk NOT dieCut |
| "r_1019_nsm.3b" { |
| @ nsm.3b: 3 min. spacing of MM3mk_not_NSM3b_exempt & dieCut |
| EXTERNAL MM3mk_not_NSM3b_exempt dieCut < 3.0 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| met4_not_NSM3b_exempt = met4 NOT dieCut |
| "r_1020_nsm.3b" { |
| @ nsm.3b: 3 min. spacing of met4_not_NSM3b_exempt & dieCut |
| EXTERNAL met4_not_NSM3b_exempt dieCut < 3.0 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| MM4mk_not_NSM3b_exempt = MM4mk NOT dieCut |
| "r_1021_nsm.3b" { |
| @ nsm.3b: 3 min. spacing of MM4mk_not_NSM3b_exempt & dieCut |
| EXTERNAL MM4mk_not_NSM3b_exempt dieCut < 3.0 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| met5_not_NSM3b_exempt = met5 NOT dieCut |
| "r_1022_nsm.3b" { |
| @ nsm.3b: 3 min. spacing of met5_not_NSM3b_exempt & dieCut |
| EXTERNAL met5_not_NSM3b_exempt dieCut < 3.0 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| MM5mk_not_NSM3b_exempt = MM5mk NOT dieCut |
| "r_1023_nsm.3b" { |
| @ nsm.3b: 3 min. spacing of MM5mk_not_NSM3b_exempt & dieCut |
| EXTERNAL MM5mk_not_NSM3b_exempt dieCut < 3.0 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| ncmCore_drc = (ncm AND COREID) NOT exempt_tech_CD |
| ncmOverLapCore = INTERACT ncm (ncm AND COREID) |
| NdiffInNcm = NDIFF INSIDE ncmCore_drc |
| PdiffInNcm = PDIFF INSIDE ncmCore_drc |
| normPDiff = PDIFF_PERI NOT (ESDID OR DIODEID) |
| ncmPeri_drc = ncm NOT ncmCore_drc |
| PdiffNoAreadid = PDIFF_PERI INSIDE (ESDID NOT DIODEID) |
| LVTN_Gate = INTERACT Gate (Gate AND lvtn) |
| lvtnPDiff = (INTERACT diff (diff AND lvtn)) OR LVTN_Gate |
| ncmHoles = HOLES ncm |
| nwellOutCore = NOT TOUCH (nwell OUTSIDE COREID) COREID |
| "r_1024_ncm.X.3" { |
| @ ncm.X.3: ncm_CORE not tech_CD must not overlap "ndiff" in periphery |
| ncmCore_drc AND NDIFF_PERI |
| } |
| "r_1025_ncm.1" { |
| @ ncm.1: 0.38 min. width of ncmPeri |
| INTERNAL ncmPeri_drc < 0.38 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1026_ncm.2a" { |
| @ ncm.2a: 0.38 min. spacing/notch of ncmPeri |
| EXTERNAL ncmPeri_drc < 0.38 ABUT < 90 SINGULAR REGION |
| } |
| "r_1027_ncm.7" { |
| @ ncm.7: 0.265 min. area of ncm |
| AREA ncm < 0.265 |
| } |
| "r_1028_ncm.8" { |
| @ ncm.8: 0.265 min. area of ncmHoles |
| AREA ncmHoles < 0.265 |
| } |
| "r_1029_ncm.c8" { |
| @ ncm.c8: 0.235 min. enclosure of PDIFF by ncm_CORE not tech_CD |
| q0PdiffInNcmand = PdiffInNcm AND ncmCore_drc |
| ENCLOSURE q0PdiffInNcmand ncmCore_drc < 0.235 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| "r_1030_ncm.c9" { |
| @ ncm.c9: 0.235 min. spacing of ncm_CORE not tech_CD & ndiff |
| EXTERNAL ncmCore_drc NDIFF < 0.235 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1031_ncm.c9" { |
| @ ncm.c9: ncm_CORE not tech_CD must not overlap ndiff |
| ncmCore_drc AND NDIFF |
| } |
| "r_1032_ncm.c10" { |
| @ ncm.c10: 0.38 min. spacing of nwellOutCore & ncm_CORE not tech_CD |
| EXTERNAL nwellOutCore ncmCore_drc < 0.38 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| ldntmCore = ldntm AND COREID |
| ldntmCoreExempt = ldntmCore AND exempt_tech_CD |
| ndiffLdntmEnclose = ENCLOSURE [NDIFF] ldntmCore < 0.18 SINGULAR MEASURE ALL ABUT < 90 |
| nFet = Gate NOT nwell |
| ldntmNotCore = (ldntm NOT ldntmCore) NOT exempt_tech_CD |
| "r_1033_ldntm.c1" { |
| @ ldntm.c1: 0.7 min. width of ldntmCore |
| INTERNAL ldntmCore < 0.7 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1034_ldntm.c2" { |
| @ ldntm.c2: 0.7 min. spacing/notch of ldntmCore |
| EXTERNAL ldntmCore < 0.7 ABUT < 90 SINGULAR REGION |
| } |
| "r_1035_ldntm.c3" { |
| @ ldntm.c3: enclosure of ndiff by ldntm must be more than 0.180 |
| COPY ndiffLdntmEnclose |
| } |
| "r_1036_ldntm.c4" { |
| @ ldntm.c4: 0.125 min. enclosure of nFet by ldntmCore |
| q0nFetand = nFet AND ldntmCore |
| ENCLOSURE q0nFetand ldntmCore < 0.125 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| "r_1037_ldntm.c5" { |
| @ ldntm.c5: ldntm not allowed outside areaid.ce |
| COPY ldntmNotCore |
| } |
| "r_1038_ldntm.c6" { |
| @ ldntm.c6: 0.18 min. spacing of ldntmCoreExempt & pdiff |
| EXTERNAL ldntmCoreExempt PDIFF < 0.18 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| precResistor = poly AND |
| (polyres AND |
| ((rpm OR urpm) AND psdm)) |
| precResistorTerm = (INTERACT poly precResistor) NOT polyres |
| precResistorWidthEdge = precResistor COINCIDENT EDGE poly |
| precResistor_0p35 = INTERNAL precResistorWidthEdge == 0.35 OPPOSITE PARALLEL REGION |
| precResistor_0p69 = INTERNAL precResistorWidthEdge == 0.69 OPPOSITE PARALLEL REGION |
| precResistor_1p41 = INTERNAL precResistorWidthEdge == 1.41 OPPOSITE PARALLEL REGION |
| precResistor_2p85 = INTERNAL precResistorWidthEdge == 2.85 OPPOSITE PARALLEL REGION |
| precResistor_5p73 = INTERNAL precResistorWidthEdge == 5.73 OPPOSITE PARALLEL REGION |
| precResErr = precResistor NOT (INTERACT precResistor (precResistor AND (precResistor_0p35 OR |
| (precResistor_0p69 OR |
| (precResistor_1p41 OR |
| (precResistor_2p85 OR precResistor_5p73)))))) |
| precResTerm_0p35 = precResistorTerm WITH EDGE (precResistorTerm COINCIDENT OUTSIDE EDGE precResistor_0p35) |
| precResTerm_0p69 = precResistorTerm WITH EDGE (precResistorTerm COINCIDENT OUTSIDE EDGE precResistor_0p69) |
| precResTerm_1p41 = precResistorTerm WITH EDGE (precResistorTerm COINCIDENT OUTSIDE EDGE precResistor_1p41) |
| precResTerm_2p85 = precResistorTerm WITH EDGE (precResistorTerm COINCIDENT OUTSIDE EDGE precResistor_2p85) |
| precResTerm_5p73 = precResistorTerm WITH EDGE (precResistorTerm COINCIDENT OUTSIDE EDGE precResistor_5p73) |
| precResCon_0p35 = INTERACT precResTerm_0p35 licon1 != 1 |
| precResCon_0p69 = INTERACT precResTerm_0p69 licon1 != 1 |
| precResCon_1p41 = INTERACT precResTerm_1p41 licon1 != 2 |
| precResCon_2p85 = INTERACT precResTerm_2p85 licon1 != 4 |
| precResCon_5p73 = INTERACT precResTerm_5p73 licon1 != 8 |
| |
| precResistorLengthEdge = precResistor INSIDE EDGE poly |
| precResistor_L0p5 = INTERNAL precResistorLengthEdge < 0.5 OPPOSITE PARALLEL REGION |
| |
| precResNotSupported = INTERACT precResistor (precResistor AND (precResistor_0p35 OR |
| (precResistor_0p69 OR |
| (precResistor_1p41 OR |
| (precResistor_2p85 OR precResistor_5p73))))) |
| "r_1000_rpmNotSupport" { |
| @ prec_res: precision poly resistors with length less than 0.500 um |
| COPY precResistor_L0p5 |
| } |
| rpmExempt = EXTENT CELL "s8usbpdv2_csa_top" "s8usbpdv2_20vconn_sw_300ma_ovp_ngate_unit" "s8usbpdv2_20vconn_sw_300ma_ovp" "s8usbpdv2_20sbu_sw_300ma_ovp" ORIGINAL |
| rpmNotXmt = rpm NOT rpmExempt |
| "r_1039_rpm.1a" { |
| @ rpm.1a: 1.27 min. width of (rpm OR urpm) |
| INTERNAL (rpm OR urpm) < 1.27 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1040_rpm.1b/c/d/e/f" { |
| @ rpm.1b/c/d/e/f: 0.35 or 0.69 or 1.41 or 2.85 or 5.73: allowed width of prec. resistors |
| COPY precResErr |
| } |
| /// rpm.1c is handled by rpm.1b |
| /// rpm.1d is handled by rpm.1b |
| /// rpm.1e is handled by rpm.1b |
| /// rpm.1f is handled by rpm.1b |
| "r_1041_rpm.1g" { |
| @ rpm.1g: Only 1 licon allowed in xhrpoly_0p35 precResistor terminal |
| COPY precResCon_0p35 |
| } |
| "r_1042_rpm.1h" { |
| @ rpm.1h: Only 1 licon allowed in xhrpoly_0p69 precResistor terminal |
| COPY precResCon_0p69 |
| } |
| "r_1043_rpm.1i" { |
| @ rpm.1i: Only 2 licons allowed in xhrpoly_1p41 precResistor terminal |
| COPY precResCon_1p41 |
| } |
| "r_1044_rpm.1j" { |
| @ rpm.1j: Only 4 licons allowed in xhrpoly_2p85 precResistor terminal |
| COPY precResCon_2p85 |
| } |
| "r_1045_rpm.1k" { |
| @ rpm.1k: Only 8 licons allowed in xhrpoly_5p73 precResistor terminal |
| COPY precResCon_5p73 |
| } |
| "r_1046_rpm.2" { |
| @ rpm.2: 0.84 min. spacing/notch of rpm |
| EXTERNAL (rpm OR urpm) < 0.84 ABUT < 90 SINGULAR REGION |
| } |
| "r_1047_rpm.3" { |
| @ rpm.3: 0.2 min. enclosure of precResistor by rpm |
| q0precResistorand = precResistor AND (rpm OR urpm) |
| ENCLOSURE q0precResistorand (rpm OR urpm) < 0.2 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| "r_1048_rpm.3" { |
| @ rpm.3: precResistor must be enclosed by rpm |
| precResistor NOT (rpm OR urpm) |
| } |
| "r_1049_rpm.4" { |
| @ rpm.4: 0.11 min. enclosure of precResistor by psdm |
| q1precResistorand = precResistor AND psdm |
| ENCLOSURE q1precResistorand psdm < 0.11 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| "r_1050_rpm.4" { |
| @ rpm.4: precResistor must be enclosed by psdm |
| precResistor NOT psdm |
| } |
| "r_1051_rpm.5" { |
| @ rpm.5: 0.095 min. enclosure of precResistor by npc |
| q2precResistorand = precResistor AND npc |
| ENCLOSURE q2precResistorand npc < 0.095 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| "r_1052_rpm.5" { |
| @ rpm.5: precResistor must be enclosed by npc |
| precResistor NOT npc |
| } |
| "r_1053_rpm.6" { |
| @ rpm.6: 0.2 min. spacing of rpm & nsdm |
| EXTERNAL (rpm OR urpm) nsdm < 0.2 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1054_rpm.6" { |
| @ rpm.6: rpm must not overlap nsdm |
| (rpm OR urpm) AND nsdm |
| } |
| "r_1055_rpm.7" { |
| @ rpm.7: 0.2 min. spacing of rpm & poly |
| EXTERNAL (rpm OR urpm) poly < 0.2 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1056_rpm.8" { |
| @ rpm.8: poly must not straddle rpm |
| CUT poly (rpm OR urpm) |
| } |
| "r_1057_rpm.9" { |
| @ rpm.9: 0.185 min. spacing of precResistor & hvntm |
| EXTERNAL precResistor hvntm < 0.185 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1058_rpm.9" { |
| @ rpm.9: precResistor must not overlap hvntm |
| precResistor AND hvntm |
| } |
| "r_1059_rpm.10" { |
| @ rpm.10: 2 min. spacing of rpmNotXmt & pwbm |
| EXTERNAL rpmNotXmt pwbm < 2.0 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1060_rpm.10" { |
| @ rpm.10: rpmNotXmt must not overlap pwbm |
| rpmNotXmt AND pwbm |
| } |
| hvntm_peri = hvntm NOT COREID |
| hvntmNotInHvi = hvntm NOT INSIDE hvi |
| ndiffInHvi = NDIFF AND hvi |
| ndiffInHviPeri = ndiffInHvi NOT (ndiffInHvi AND COREID) |
| ndiffOutsideHvi = NDIFF OUTSIDE hvi |
| PDIFF_notENID = PDIFF NOT ENID |
| PTAPnoButtDiff = PTAP OUTSIDE EDGE NDIFF |
| diffpTapButtEdge_sz = EXPAND EDGE (NDIFF COINCIDENT OUTSIDE EDGE PTAP) OUTSIDE BY 0.005 |
| ESD_nwell_tap_hvi = ESD_nwell_tap INSIDE hvi |
| "r_1061_hvntm.X.1" { |
| @ hvntm.X.1: hvntm must be drawn inside hvi |
| COPY hvntmNotInHvi |
| } |
| "r_1062_hvntm.1" { |
| @ hvntm.1: 0.7 min. width of hvntm_peri |
| INTERNAL hvntm_peri < 0.7 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1063_hvntm.2" { |
| @ hvntm.2: 0.7 min. spacing/notch of hvntm_peri |
| EXTERNAL hvntm_peri < 0.7 ABUT < 90 SINGULAR REGION |
| } |
| "r_1064_hvntm.3" { |
| @ hvntm.3: 0.185 min. enclosure of ndiffInHviPeri by hvntm_peri |
| q0ndiffInHviPeriand = ndiffInHviPeri AND hvntm_peri |
| ENCLOSURE q0ndiffInHviPeriand hvntm_peri < 0.185 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| "r_1065_hvntm.4" { |
| @ hvntm.4: 0.185 min. spacing of hvntm_peri & ndiffOutsideHvi |
| EXTERNAL hvntm_peri ndiffOutsideHvi < 0.185 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1066_hvntm.4" { |
| @ hvntm.4: hvntm_peri must not overlap ndiffOutsideHvi |
| hvntm_peri AND ndiffOutsideHvi |
| } |
| "r_1067_hvntm.5" { |
| @ hvntm.5: 0.185 min. spacing of hvntm_peri & PDIFF_notENID |
| EXTERNAL hvntm_peri PDIFF_notENID < 0.185 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1068_hvntm.5" { |
| @ hvntm.5: hvntm_peri must not overlap PDIFF_notENID |
| hvntm_peri AND PDIFF_notENID |
| } |
| "r_1069_hvntm.6a" { |
| @ hvntm.6a: 0.185 min. spacing of hvntm_peri & PTAPnoButtDiff |
| EXTERNAL hvntm_peri PTAPnoButtDiff < 0.185 ABUT < 90 REGION EXCLUDE FALSE |
| } |
| "r_1070_hvntm.6a" { |
| @ hvntm.6a: hvntm_peri must not overlap ptap |
| hvntm_peri AND PTAP |
| } |
| "r_1071_hvntm.6b" { |
| @ hvntm.6b: hvntm_peri must not overlap diffpTapButtEdge_sz |
| hvntm_peri AND diffpTapButtEdge_sz |
| } |
| "r_1072_hvntm.7" { |
| @ hvntm.7: 0 min. enclosure of ESD_nwell_tap_hvi by hvntm_peri |
| q0ESD_nwell_tap_hviand = ESD_nwell_tap_hvi AND hvntm_peri |
| ESD_nwell_tap_hvi NOT hvntm_peri |
| } |
| "r_1073_hvntm.7" { |
| @ hvntm.7: ESD_nwell_tap_hvi must be enclosed by hvntm_peri |
| ESD_nwell_tap_hvi NOT hvntm_peri |
| } |
| "r_1074_hvntm.9" { |
| @ hvntm.9: hvntm must not overlap COREID |
| hvntm AND COREID |
| } |
| "r_1075_hvntm.10" { |
| @ hvntm.10: hvntm must overlap hvi |
| hvntm OUTSIDE hvi |
| } |
| q1FOMmk = FOMmk AND SEALID |
| q2FOMmk = DONUT q1FOMmk |
| q3FOMmk = INTERACT SEALID FOMmk != 4 |
| "r_1076_cfom_nikon" { |
| @ cfom_nikon: FOMmk in the nikon cross has the wrong polarity |
| COPY q2FOMmk |
| } |
| "r_1077_cfom_nikon" { |
| @ cfom_nikon: FOMmk is missing from the nikon cross in the layout. |
| COPY q3FOMmk |
| } |
| q1DNMmk = DNMmk AND SEALID |
| q2DNMmk = q1DNMmk NOT (DONUT q1DNMmk) |
| q3DNMmk = INTERACT SEALID DNMmk != 4 |
| "r_1078_cdnm_nikon" { |
| @ cdnm_nikon: DNMmk in the nikon cross has the wrong polarity |
| COPY q2DNMmk |
| } |
| "r_1079_cdnm_nikon" { |
| @ cdnm_nikon: DNMmk is missing from the nikon cross in the layout. |
| COPY q3DNMmk |
| } |
| q1NWMmk = NWMmk AND SEALID |
| q2NWMmk = DONUT q1NWMmk |
| q3NWMmk = INTERACT SEALID NWMmk != 4 |
| "r_1080_cnwm_nikon" { |
| @ cnwm_nikon: NWMmk in the nikon cross has the wrong polarity |
| COPY q2NWMmk |
| } |
| "r_1081_cnwm_nikon" { |
| @ cnwm_nikon: NWMmk is missing from the nikon cross in the layout. |
| COPY q3NWMmk |
| } |
| q1HVTPMmk = HVTPMmk AND SEALID |
| q2HVTPMmk = DONUT q1HVTPMmk |
| q3HVTPMmk = INTERACT SEALID HVTPMmk != 4 |
| "r_1082_chvtpm_nikon" { |
| @ chvtpm_nikon: HVTPMmk in the nikon cross has the wrong polarity |
| COPY q2HVTPMmk |
| } |
| "r_1083_chvtpm_nikon" { |
| @ chvtpm_nikon: HVTPMmk is missing from the nikon cross in the layout. |
| COPY q3HVTPMmk |
| } |
| q1LVTNMmk = LVTNMmk AND SEALID |
| q2LVTNMmk = q1LVTNMmk NOT (DONUT q1LVTNMmk) |
| q3LVTNMmk = INTERACT SEALID LVTNMmk != 4 |
| "r_1084_clvtnm_nikon" { |
| @ clvtnm_nikon: LVTNMmk in the nikon cross has the wrong polarity |
| COPY q2LVTNMmk |
| } |
| "r_1085_clvtnm_nikon" { |
| @ clvtnm_nikon: LVTNMmk is missing from the nikon cross in the layout. |
| COPY q3LVTNMmk |
| } |
| q1LVOMmk = LVOMmk AND SEALID |
| q2LVOMmk = DONUT q1LVOMmk |
| q3LVOMmk = INTERACT SEALID LVOMmk != 4 |
| "r_1086_clvom_nikon" { |
| @ clvom_nikon: LVOMmk in the nikon cross has the wrong polarity |
| COPY q2LVOMmk |
| } |
| "r_1087_clvom_nikon" { |
| @ clvom_nikon: LVOMmk is missing from the nikon cross in the layout. |
| COPY q3LVOMmk |
| } |
| q1P1Mmk = P1Mmk AND SEALID |
| q2P1Mmk = DONUT q1P1Mmk |
| q3P1Mmk = INTERACT SEALID P1Mmk != 4 |
| "r_1088_cp1m_nikon" { |
| @ cp1m_nikon: P1Mmk in the nikon cross has the wrong polarity |
| COPY q2P1Mmk |
| } |
| "r_1089_cp1m_nikon" { |
| @ cp1m_nikon: P1Mmk is missing from the nikon cross in the layout. |
| COPY q3P1Mmk |
| } |
| q1NTMmk = NTMmk AND SEALID |
| q2NTMmk = DONUT q1NTMmk |
| q3NTMmk = INTERACT SEALID NTMmk != 4 |
| "r_1090_cntm_nikon" { |
| @ cntm_nikon: NTMmk in the nikon cross has the wrong polarity |
| COPY q2NTMmk |
| } |
| "r_1091_cntm_nikon" { |
| @ cntm_nikon: NTMmk is missing from the nikon cross in the layout. |
| COPY q3NTMmk |
| } |
| q1HVNTMmk = HVNTMmk AND SEALID |
| q2HVNTMmk = q1HVNTMmk NOT (DONUT q1HVNTMmk) |
| q3HVNTMmk = INTERACT SEALID HVNTMmk != 4 |
| "r_1092_chvntm_nikon" { |
| @ chvntm_nikon: HVNTMmk in the nikon cross has the wrong polarity |
| COPY q2HVNTMmk |
| } |
| "r_1093_chvntm_nikon" { |
| @ chvntm_nikon: HVNTMmk is missing from the nikon cross in the layout. |
| COPY q3HVNTMmk |
| } |
| q1LDNTMmk = LDNTMmk AND SEALID |
| q2LDNTMmk = q1LDNTMmk NOT (DONUT q1LDNTMmk) |
| q3LDNTMmk = INTERACT SEALID LDNTMmk != 4 |
| "r_1094_cldntm_nikon" { |
| @ cldntm_nikon: LDNTMmk in the nikon cross has the wrong polarity |
| COPY q2LDNTMmk |
| } |
| "r_1095_cldntm_nikon" { |
| @ cldntm_nikon: LDNTMmk is missing from the nikon cross in the layout. |
| COPY q3LDNTMmk |
| } |
| q1NPCMmk = NPCMmk AND SEALID |
| q2NPCMmk = q1NPCMmk NOT (DONUT q1NPCMmk) |
| q3NPCMmk = INTERACT SEALID NPCMmk != 4 |
| "r_1096_cnpc_nikon" { |
| @ cnpc_nikon: NPCMmk in the nikon cross has the wrong polarity |
| COPY q2NPCMmk |
| } |
| "r_1097_cnpc_nikon" { |
| @ cnpc_nikon: NPCMmk is missing from the nikon cross in the layout. |
| COPY q3NPCMmk |
| } |
| q1NSDMmk = NSDMmk AND SEALID |
| q2NSDMmk = DONUT q1NSDMmk |
| q3NSDMmk = INTERACT SEALID NSDMmk != 4 |
| "r_1098_cnsdm_nikon" { |
| @ cnsdm_nikon: NSDMmk in the nikon cross has the wrong polarity |
| COPY q2NSDMmk |
| } |
| "r_1099_cnsdm_nikon" { |
| @ cnsdm_nikon: NSDMmk is missing from the nikon cross in the layout. |
| COPY q3NSDMmk |
| } |
| q1PSDMmk = PSDMmk AND SEALID |
| q2PSDMmk = DONUT q1PSDMmk |
| q3PSDMmk = INTERACT SEALID PSDMmk != 4 |
| "r_1100_cpsdm_nikon" { |
| @ cpsdm_nikon: PSDMmk in the nikon cross has the wrong polarity |
| COPY q2PSDMmk |
| } |
| "r_1101_cpsdm_nikon" { |
| @ cpsdm_nikon: PSDMmk is missing from the nikon cross in the layout. |
| COPY q3PSDMmk |
| } |
| q1LICM1mk = LICM1mk AND SEALID |
| q2LICM1mk = DONUT q1LICM1mk |
| q3LICM1mk = INTERACT SEALID LICM1mk != 4 |
| "r_1102_clicm1_nikon" { |
| @ clicm1_nikon: LICM1mk in the nikon cross has the wrong polarity |
| COPY q2LICM1mk |
| } |
| "r_1103_clicm1_nikon" { |
| @ clicm1_nikon: LICM1mk is missing from the nikon cross in the layout. |
| COPY q3LICM1mk |
| } |
| q1LI1Mmk = LI1Mmk AND SEALID |
| q2LI1Mmk = DONUT q1LI1Mmk |
| q3LI1Mmk = INTERACT SEALID LI1Mmk != 4 |
| "r_1104_cli1m_nikon" { |
| @ cli1m_nikon: LI1Mmk in the nikon cross has the wrong polarity |
| COPY q2LI1Mmk |
| } |
| "r_1105_cli1m_nikon" { |
| @ cli1m_nikon: LI1Mmk is missing from the nikon cross in the layout. |
| COPY q3LI1Mmk |
| } |
| q1CTM1mk = CTM1mk AND SEALID |
| q2CTM1mk = DONUT q1CTM1mk |
| q3CTM1mk = INTERACT SEALID CTM1mk != 4 |
| "r_1106_cctm1_nikon" { |
| @ cctm1_nikon: CTM1mk in the nikon cross has the wrong polarity |
| COPY q2CTM1mk |
| } |
| "r_1107_cctm1_nikon" { |
| @ cctm1_nikon: CTM1mk is missing from the nikon cross in the layout. |
| COPY q3CTM1mk |
| } |
| q1MM1mk = MM1mk AND SEALID |
| q2MM1mk = DONUT q1MM1mk |
| q3MM1mk = INTERACT SEALID MM1mk != 4 |
| "r_1108_cmm1_nikon" { |
| @ cmm1_nikon: MM1mk in the nikon cross has the wrong polarity |
| COPY q2MM1mk |
| } |
| "r_1109_cmm1_nikon" { |
| @ cmm1_nikon: MM1mk is missing from the nikon cross in the layout. |
| COPY q3MM1mk |
| } |
| q1VIMmk = VIMmk AND SEALID |
| q2VIMmk = DONUT q1VIMmk |
| q3VIMmk = INTERACT SEALID VIMmk != 4 |
| "r_1110_cviam_nikon" { |
| @ cviam_nikon: VIMmk in the nikon cross has the wrong polarity |
| COPY q2VIMmk |
| } |
| "r_1111_cviam_nikon" { |
| @ cviam_nikon: VIMmk is missing from the nikon cross in the layout. |
| COPY q3VIMmk |
| } |
| q1MM2mk = MM2mk AND SEALID |
| q2MM2mk = DONUT q1MM2mk |
| q3MM2mk = INTERACT SEALID MM2mk != 4 |
| "r_1112_cmm2_nikon" { |
| @ cmm2_nikon: MM2mk in the nikon cross has the wrong polarity |
| COPY q2MM2mk |
| } |
| "r_1113_cmm2_nikon" { |
| @ cmm2_nikon: MM2mk is missing from the nikon cross in the layout. |
| COPY q3MM2mk |
| } |
| q1NSMmk = NSMmk AND SEALID |
| q2NSMmk = DONUT q1NSMmk |
| q3NSMmk = INTERACT SEALID NSMmk != 4 |
| "r_1114_cnsm_nikon" { |
| @ cnsm_nikon: NSMmk in the nikon cross has the wrong polarity |
| COPY q2NSMmk |
| } |
| "r_1115_cnsm_nikon" { |
| @ cnsm_nikon: NSMmk is missing from the nikon cross in the layout. |
| COPY q3NSMmk |
| } |
| q1PDMmk = PDMmk AND SEALID |
| q2PDMmk = q1PDMmk NOT (DONUT q1PDMmk) |
| q3PDMmk = INTERACT SEALID PDMmk != 4 |
| "r_1116_cpdm_nikon" { |
| @ cpdm_nikon: PDMmk in the nikon cross has the wrong polarity |
| COPY q2PDMmk |
| } |
| "r_1117_cpdm_nikon" { |
| @ cpdm_nikon: PDMmk is missing from the nikon cross in the layout. |
| COPY q3PDMmk |
| } |
| q1VIM2mk = VIM2mk AND SEALID |
| q2VIM2mk = DONUT q1VIM2mk |
| q3VIM2mk = INTERACT SEALID VIM2mk != 4 |
| "r_1118_cviam2_nikon" { |
| @ cviam2_nikon: VIM2mk in the nikon cross has the wrong polarity |
| COPY q2VIM2mk |
| } |
| "r_1119_cviam2_nikon" { |
| @ cviam2_nikon: VIM2mk is missing from the nikon cross in the layout. |
| COPY q3VIM2mk |
| } |
| q1MM3mk = MM3mk AND SEALID |
| q2MM3mk = DONUT q1MM3mk |
| q3MM3mk = INTERACT SEALID MM3mk != 4 |
| "r_1120_cmm3_nikon" { |
| @ cmm3_nikon: MM3mk in the nikon cross has the wrong polarity |
| COPY q2MM3mk |
| } |
| "r_1121_cmm3_nikon" { |
| @ cmm3_nikon: MM3mk is missing from the nikon cross in the layout. |
| COPY q3MM3mk |
| } |
| q1VIM3mk = VIM3mk AND SEALID |
| q2VIM3mk = DONUT q1VIM3mk |
| q3VIM3mk = INTERACT SEALID VIM3mk != 4 |
| "r_1122_cviam3_nikon" { |
| @ cviam3_nikon: VIM3mk in the nikon cross has the wrong polarity |
| COPY q2VIM3mk |
| } |
| "r_1123_cviam3_nikon" { |
| @ cviam3_nikon: VIM3mk is missing from the nikon cross in the layout. |
| COPY q3VIM3mk |
| } |
| q1MM4mk = MM4mk AND SEALID |
| q2MM4mk = DONUT q1MM4mk |
| q3MM4mk = INTERACT SEALID MM4mk != 4 |
| "r_1124_cmm4_nikon" { |
| @ cmm4_nikon: MM4mk in the nikon cross has the wrong polarity |
| COPY q2MM4mk |
| } |
| "r_1125_cmm4_nikon" { |
| @ cmm4_nikon: MM4mk is missing from the nikon cross in the layout. |
| COPY q3MM4mk |
| } |
| q1VIM4mk = VIM4mk AND SEALID |
| q2VIM4mk = DONUT q1VIM4mk |
| q3VIM4mk = INTERACT SEALID VIM4mk != 4 |
| "r_1126_cviam4_nikon" { |
| @ cviam4_nikon: VIM4mk in the nikon cross has the wrong polarity |
| COPY q2VIM4mk |
| } |
| "r_1127_cviam4_nikon" { |
| @ cviam4_nikon: VIM4mk is missing from the nikon cross in the layout. |
| COPY q3VIM4mk |
| } |
| q1MM5mk = MM5mk AND SEALID |
| q2MM5mk = DONUT q1MM5mk |
| q3MM5mk = INTERACT SEALID MM5mk != 4 |
| "r_1128_cmm5_nikon" { |
| @ cmm5_nikon: MM5mk in the nikon cross has the wrong polarity |
| COPY q2MM5mk |
| } |
| "r_1129_cmm5_nikon" { |
| @ cmm5_nikon: MM5mk is missing from the nikon cross in the layout. |
| COPY q3MM5mk |
| } |
| q1RPMmk = RPMmk AND SEALID |
| q2RPMmk = DONUT q1RPMmk |
| q3RPMmk = INTERACT SEALID RPMmk != 4 |
| "r_1130_crpm_nikon" { |
| @ crpm_nikon: RPMmk in the nikon cross has the wrong polarity |
| COPY q2RPMmk |
| } |
| "r_1131_crpm_nikon" { |
| @ crpm_nikon: RPMmk is missing from the nikon cross in the layout. |
| COPY q3RPMmk |
| } |
| validCoreID9 = INSIDE CELL COREID s8cell_ee_bseln s8cell_ee_cellcorn_n s8cell_ee_termcella s8cell_ee_bselp s8cell_ee_cellcorn_p s8cell_ee_termcella_int s8cell_ee_cell s8cell_ee_colend_lasta s8cell_ee_termcellb s8cell_ee_cell_int s8cell_ee_colend_lastb s8cell_ee_termcellb_int s8cell_ee_cell_last s8cell_ee_colenda s8cell_mcell4_last_int s8cell_ee_cell_last_int s8cell_ee_colendb s8sram_colenda s8sram_precharge_ce_3x s8sram_colend_cent s8sram_horstrap_opt1_blx_ce s8sram_rowend_hstrap_ce s8sram_colend s8sram_cell s8sram_hor_wlstrap_ce s8sram_cornera s8sram_precharge s8sram_precharge_ce s8sram_precharge_end_2x s8sram_corner s8sram_precharge_end s8sram_precharge_end_3x s8sram_wlstrap_ce s8sram_colenda_cent s8sram_precharge_2x s8sram_rowend_ce s8sram_horstrap_opt1_ce s8sram_precharge_3x s8sram_precharge_ce_2x s8sram_precharge_ce_via1 s8sram_precharge_ce_2x_via1 s8sram_precharge_ce_3x_via1 s8sram_precharge_end_via1 s8sram_precharge_end_2x_via1 s8sram_precharge_end_3x_via1 s8cell_col_precharge s8cell_sp_colend_opt1_ce s8cell_sp_horstrap_opt1_ce s8cell_col_precharge_ce s8cell_sp_colend_opt1a_ce s8cell_sp_horstrap_opt3_ce s8cell_col_precharge_end s8cell_sp_colend1_ce s8cell_sp_rowend_ce s8cell_sp_cell s8cell_sp_corner_ce s8cell_sp_rowend_hstrap_ce s8cell_sp_colend_ce s8cell_sp_hor_wlstrap_ce s8cell_sp_wlstrap_ce s8cell_sp_colend_cent_ce s8cell_sp_horstrap_opt1_blx_ce s8cell_tc_tech_CD_top s8cell_tc_tech_CD_lcross s8cell_tc_tech_CD_top_pcell s8nvlatch_cell1ux s8nvlatch_lvD s8nvlatch_s8cell_ee_cell s8nvlatch_cell s8nvlatch_lvC s8nvlatch_cellg s8nvlatch_cells s8nvlatch_s8cell_ee_cell_back s8cell_nvlfp_cell s8sram16x16_wlstrap_p_ce s8sram16x16_colend s8sram16x16_ctl_load_unit s8sram16x16_colend_p_cent s8sram16x16_colenda s8sram16x16_wlstrapa2x s8sram16x16_cornerb s8sram16x16_rowend_ce s8sram16x16_wlstrap2x s8sram16x16_cornera s8sram16x16_colenda_p_cent s8sram16x16_corner s8sram16x16_ctl_load s8cell_ee_colend_last s8cell_ee_colend s8cell_ee_cell s8cell_ee_corner_east s8cell_ee_cell_opt0 s8cell_ee_colend_lastb_opt0 s8cell_ee_cell_last s8cell_ee_termcellb_ref s8cell_ee_colendb s8cell_ee_cellcorn_p_ref_opt0 s8cell_ee_termcella_ref s8cell_ee_colenda s8cell_ee_colenda_opt0 s8cell_ee_rowend_west s8cell_ee_corner_east_opt0 s8cell_ee_rowend_east_opt0 s8cell_ee_cellcorn_n_ref_opt0 s8cell_ee_corner_west_opt0 s8cell_ee_colend_lasta_opt0 s8cell_ee_cell_last_opt0 s8cell_ee_cellcorn_p_ref s8cell_ee_rowend_west_opt0 s8cell_ee_termcellb_ref_opt0 s8cell_ee_corner_west s8cell_ee_colend_opt0 s8cell_ee_rowend_east s8cell_ee_cellcorn_n_ref s8cell_ee_colend_lastb s8cell_ee_termcella_ref_opt0 s8cell_ee_colenda_d s8cell_ee_colend_lasta s8cell_ee_colendb_opt0 s8cell_ee_colend_lasta_d s8cell_ee_bseln_enda_d s8cell_ee_bseln_enda_poly_d s8cell_ee_bselp_enda_d s8cell_ee_plus_1t_cell s8cell_ee_plus_rowtie_ref s8cell_ee_plus_sselptie_ref s8cell_ee_plus_sselp_ref s8cell_ee_plus_sselntie_ref s8cell_ee_plus_sseln_a s8cell_ee_plus_sseln_b s8cell_ee_plus_coltie_ref s8cell_ee_plus_corner_tie s8cell_ee_plus_sselp_a s8cell_ee_plus_sselp_b sr_blld sr_mcell_tie up_rom_tie sr_bltd_eq sr_tcell up_rom1 sr_mcell sr_tcell_tie up_romref sr_mcell_tie_L sr_mcell_tie_R sr_tcell_tie_L sr_tcell_tie_R s8tnvcell_mcell_tie_END_b_cell7 s8tnvcell_mcell_tie_END_t_cell7 s8tnvcell_tcell_END_t_cell7 s8tnvcell_tcell_END_b_cell7 s8tnvcell_mcell_tie_END_sub_t_cell7 s8tnvcell_mcell_tie_END_sub_b_cell7 s8tnvcell_tcell_tie_Rt_cell7 s8tnvcell_tcell_tie_Rb_cell7 s8tnvcell_mcell_tie_Rt_cell7 s8tnvcell_mcell_tie_Rb_cell7 s8tnvcell_mcell_Mt_cell7 s8tnvcell_mcell_Mb_cell7 s8tnvcell_mcell_t_cell7 s8tnvcell_mcell_b_cell7 s8tnvcell_tcell_t_cell7 s8tnvcell_tcell_b_cell7 s8tnvcell_mcell_tie_Lt_cell7 s8tnvcell_mcell_tie_Lb_cell7 s8tnvcell_tcell_tie_Lb_cell7 s8tnvcell_tcell_tie_Lt_cell7 s8tnvcell_tcell_tie_t_cell7 s8tnvcell_tcell_tie_b_cell7 s8tnvcell_mcell_tie_t_cell7 s8tnvcell_mcell_tie_b_cell7 s8tnvssr_bltd_eq s8tnvssr_bltd_tie s8tnvssr_blld_tie s8tnvssr_blld s8ovation_atc2_pd_12_6_BiCell |
| validCoreID1 = INSIDE CELL COREID ram8_buildspace s8diaet_md3235_a s8diaet_md7301_a s8diaet_md7302_a s8diaet_md7303_a s8diaet_md7304_a s8diaet_md7321_a s8diaet_md7322_a s8diaet_md7333_a s8diaet_md7334_a s8diaet_s7333_hvpmos_cap_a s8Fab_etch_a s8Fab_etch_b s8Fab_etch_c s8Fab_etch_d s8Fab_etch_e s8Fab_etch_f s8Fab_fab_fomc s8Fab_fab_li1mc s8Fab_fab_pimc s8Fab_fabCD_b s8Fab_fabCD_c s8Fab_fabCD_d s8Fab_fabCD_e s8Fab_plot_etch_a s8Fab_sem_CDcross s8Fab_tech_CD_drawn_a s8te2et_2t_cell_end01 s8te2et_2t_cell_end01_NoVia s8te2et_2t_cell_end01_sonos_Diff s8te2et_2t_cell_end01_sonos_Diff_b s8te2et_2t_cell_end01_sonos_Diff_R s8te2et_2t_cell_end02_opt1_L s8te2et_2t_cell_end02_opt1_L_b s8te2et_2t_cell_end02_opt1_R s8te2et_2t_cell_end02_opt1_R01 s8te2et_2t_cell_end02_opt2_L s8te2et_2t_cell_end02_opt2_L_b s8te2et_2t_cell_end02_opt2_L_c s8te2et_2t_cell_end02_opt2_R s8te2et_2t_cell_end02_opt2_R01 s8te2et_2t_cell_end02_opt3_L s8te2et_2t_cell_end02_opt3_L_b s8te2et_2t_cell_end02_opt3_L_c s8te2et_2t_cell_end02_opt3_R s8te2et_2t_cell_end02_opt3_R01 s8te2et_2t_cell_end02_opt4_L s8te2et_2t_cell_end02_opt4_L_c s8te2et_2t_cell_end02_opt4_R s8te2et_2t_cell_end02_opt4_R01 s8te2et_2t_cell_end02_sonos_Diff s8te2et_2t_cell_end02_sonos_Diff_b s8te2et_2t_cell_end02_sonos_Diff_L s8te2et_2t_cell_end02_sonos_Diff_L_b s8te2et_2t_cell_end02_sonos_Diff_R s8te2et_2t_cell_option1_swap s8te2et_2t_cell_option1_swap_b s8te2et_2t_cell_option1_swap_ncBot s8te2et_2t_cell_option1_swap_ncBot_b s8te2et_2t_cell_option1_swap_ncTop s8te2et_2t_cell_option1_swap_ncTop_b s8te2et_2t_cell_option2_swap s8te2et_2t_cell_option2_swap_b s8te2et_2t_cell_option2_swap_ncBot s8te2et_2t_cell_option2_swap_ncBot_b s8te2et_2t_cell_option2_swap_ncTop s8te2et_2t_cell_option2_swap_ncTop_b s8te2et_2t_cell_option3_swap s8te2et_2t_cell_option3_swap_b s8te2et_2t_cell_option3_swap_c s8te2et_2t_cell_option3_swap_ncTop s8te2et_2t_cell_option3_swap_ncTop_b s8te2et_2t_cell_option3_swap_ncTop_c s8te2et_2t_cell_option3_swap1_ncBot s8te2et_2t_cell_option3_swap1_ncBot_b s8te2et_2t_cell_option3_swap1_ncBot_c s8te2et_2t_cell_option4_swap s8te2et_2t_cell_option4_swap_c s8te2et_2t_cell_option4_swap_ncBot s8te2et_2t_cell_option4_swap_ncBot_c s8te2et_2t_cell_option4_swap_ncTop s8te2et_2t_cell_option4_swap_ncTop_c s8te2et_2t_cell_sonos_Diff_swap s8te2et_2t_cell_sonos_Diff_swap_b s8te2et_2t_cell_sonos_Diff_swap_ncTop s8te2et_2t_cell_sonos_Diff_swap_ncTop_b s8te2et_2t_cell_sonos_Diff_swap1_ncBot s8te2et_2t_cell_sonos_Diff_swap1_ncBot_b s8te2et_2t_cell_sonos_Diff_swapR s8te2et_2t_cell_sonos_Diff_swapR_b s8te2et_2t_cellcrnr_L s8te2et_2t_cellcrnr_R s8te2et_md1005_a s8te2et_md1092_a s8te2et_md1701_a |
| validCoreID2 = INSIDE CELL COREID s8te2et_md1702_a s8te2et_md1702_b s8te2et_md1703_a s8te2et_md1705_a s8te2et_md1773_a s8te2et_md3235_a s8te2et_md3242_b s8te2et_md3244_b s8te2et_md3248_d s8te2et_md3251_b s8te2et_md3277_b s8te2et_md3288_b s8te2et_md3288_c s8te2et_md7301_a s8te2et_md7302_a s8te2et_md7303_a s8te2et_md7304_a s8te2et_md8111_a s8te2et_md8113_a s8te2et_PassGate_sonos_Fet_novia s8te2et_s_hv_depmos_dieler_opt1 s8te2et_s_hv_depmos_dieler_opt2 s8te2et_s_hv_depmos_dieler_opt3 s8te2et_s0755_rowend_1 s8te2et_s0790_cell_1 s8te2et_s0790_cell_2 s8te2et_s0790_colend_1 s8te2et_s0791_cell_1 s8te2et_s0791_colend_1 s8te2et_s0791_rowend_1 s8te2et_s1700_hier0_basecell_a s8te2et_s1700_hier0_basecell_b s8te2et_s1700_hier0_bot_basecell_a s8te2et_s1700_hier0_corner_a s8te2et_s1700_hier0_elem_a s8te2et_s1700_hier0_elem_b s8te2et_s1700_hier0_left_a s8te2et_s1700_hier0_rcorner_a s8te2et_s1700_hier0_right_a s8te2et_s1700_hier0_top_basecell_a s8te2et_s1701_hier0_base_cell_a s8te2et_s1701_hier0_bot_con_a s8te2et_s1701_hier0_corner_a s8te2et_s1701_hier0_lft_con_a s8te2et_s1701_hier0_rht_con_a s8te2et_s1701_hier0_top_con_a s8te2et_s1702_hier0_base_cell_a s8te2et_s1702_hier0_base_cell_b s8te2et_s1702_hier0_bot_a s8te2et_s1702_hier0_corner_l_a s8te2et_s1702_hier0_corner_r_a s8te2et_s1702_hier0_left_a s8te2et_s1702_hier0_right_a s8te2et_s1702_hier0_top_a s8te2et_s1703_hier0_base_cell_a s8te2et_s1703_hier0_bot_con_a s8te2et_s1703_hier0_corner_a s8te2et_s1703_hier0_lft_con_a s8te2et_s1703_hier0_rht_con_a s8te2et_s1703_hier0_top_con_a s8te2et_s1705_hier0_base_cell_a s8te2et_s1709_hier0_base_cell_a s8te2et_s1709_hier0_lft_con_a s8te2et_s1709_hier0_rht_con_a s8te2et_s1709_hier0_top_con_a s8te2et_s1726_hier0_base_cell_a s8te2et_s1726_hier0_base_cell_b s8te2et_s1726_hier0_lft_con_a s8te2et_s1726_hier0_rht_con_b s8te2et_s1726_hier1_array_b s8te2et_s1726_hier1_array_c s8te2et_s1726_hier1_array_d s8te2et_s1726_hier2_array_a s8te2et_s1743_hier0_base_cell_a s8te2et_s1743_hier0_sl_a s8te2et_s1743_hier0_sr_a s8te2et_s1743_hier1_array_a s8te2et_s1743_hier1_array_b s8te2et_s1744_hstrap_term_a s8te2et_s1744_hstrap_term_n_a s8te2et_s1744_hstrap2_a s8te2et_s1744_npass_a s8te2et_s1744_npass_b s8te2et_s1744_npass_cent_a s8te2et_s1744_npass_horiz_term_cent_a s8te2et_s1744_npass_vert_a s8te2et_s1744_npd_a s8te2et_s1744_npd_b s8te2et_s1744_npd_cent_a s8te2et_s1744_npd_horiz_a s8te2et_s1744_npd_horiz_term_a s8te2et_s1744_npd_horiz_term_cent_a s8te2et_s1744_npd_horiz_term_wl_a s8te2et_s1744_npd_vert_a s8te2et_s1744_npd_vert_term_cent_a |
| validCoreID3 = INSIDE CELL COREID s8te2et_s1744_ppu_a s8te2et_s1744_ppu_b s8te2et_s1744_ppu_cent_c s8te2et_s1744_ppu_corn_a s8te2et_s1744_ppu_cornu_a s8te2et_s1744_ppu_vert_a s8te2et_s1744_ppu_vert_hstrap2_a s8te2et_s1744_ppu_vert_term_a s8te2et_s1744_ppu_vert_term_cent_a s8te2et_s1744_topbot_hstrap2_a s8te2et_s1756_hier0_base_cell_1_a s8te2et_s1756_hier0_base_cell_1_b s8te2et_s1756_hier0_base_cell_2_a s8te2et_s1756_hier0_bot_con_1_a s8te2et_s1756_hier0_bot_con_2_a s8te2et_s1756_hier0_top_con_1_a s8te2et_s1756_hier0_top_con_2_a s8te2et_s1756_hier1_array_2_a s8te2et_s1756_npass_bot_term_a s8te2et_s1756_npass_top_term_a s8te2et_s1756_npd_4x2_a s8te2et_s1756_npd_4x2_b s8te2et_s1756_npd_a s8te2et_s1756_npd_b s8te2et_s1756_npd_bot_term_a s8te2et_s1756_npd_top_term_a s8te2et_s1758_ppu_4x2_a s8te2et_s1758_ppu_4x2_c s8te2et_s1758_ppu_a s8te2et_s1758_ppu_bot_term_a s8te2et_s1758_ppu_c s8te2et_s1758_ppu_top_term_a s8te2et_s1760_hier1_array_a s8te2et_s1760_hier1_array_b s8te2et_s1761_hier1_array_a s8te2et_s1762_hier0_cell_1 s8te2et_s1762_hier0_colend_a s8te2et_s1762_hier0_rowend_2_a s8te2et_s1762_hier1_array_b s8te2et_s1773_hier0_base_cell_a s8te2et_s2t_cell_end02 s8te2et_s2t_cell_end02_NoVia s8te2et_s2t_cell_end03 s8te2et_s2t_cell_end03_NoVia s8te2et_s2t_cellcrnr_01_L s8te2et_s2t_cellcrnr_01_R s8te2et_s3243_sonos_0p42_0p18 s8te2et_s3243_sonos_0p42_0p18_c s8te2et_s3243_sonos_0p42_0p22 s8te2et_s3243_sonos_0p42_0p22_c s8te2et_s3243_sonos_0p42_0p26 s8te2et_s3243_sonos_0p42_0p26_c s8te2et_s3243_sonos_25_0p22 s8te2et_s3243_sonos_25_0p22_c s8te2et_s3243_sonos_25_25 s8te2et_s3243_sonos_25_25_c s8te2et_s3248_sonos_2p0_2p0 s8te2et_s3248_sonos_2p0_2p0_d s8te2et_s3255_MiniArray_b s8te2et_s3259_2t_cell_end02_opt2_L s8te2et_s3259_2t_cellcrnr_L s8te2et_s3262_2t_cell_a s8te2et_s3262_2t_cell_end02_L s8te2et_s3262_2t_cell_end02_R s8te2et_s3262_2t_cell_end02_R01 s8te2et_s3262_2t_cell_ncBot s8te2et_s3262_2t_cell_ncTop s8te2et_s3263_2t_cell_a s8te2et_s3263_2t_cell_end02_L s8te2et_s3263_2t_cell_end02_R s8te2et_s3263_2t_cell_end02_R01 s8te2et_s3263_2t_cell_ncBot s8te2et_s3263_2t_cell_ncTop s8te2et_s3264_2t_2x2_b s8te2et_s3264_2t_2x2_NoVia_b s8te2et_s3264_2t_cell_a s8te2et_s3264_2t_cell_c s8te2et_s3264_2t_cell_end02_L s8te2et_s3264_2t_cell_end02_L_b s8te2et_s3264_2t_cell_end02_L_c s8te2et_s3264_2t_cell_end02_R s8te2et_s3264_2t_cell_end02_R01 s8te2et_s3264_2t_cell_ncBot s8te2et_s3264_2t_cell_ncBot_c s8te2et_s3264_2t_cell_ncTop s8te2et_s3264_2t_cell_ncTop_c s8te2et_s3265_2t_cell_a s8te2et_s3265_2t_cell_b s8te2et_s3265_2t_cell_end01 s8te2et_s3265_2t_cell_end01_NoVia s8te2et_s3265_2t_cell_end02_L s8te2et_s3265_2t_cell_end02_L_b s8te2et_s3265_2t_cell_end02_R s8te2et_s3265_2t_cell_end02_R01 s8te2et_s3265_2t_cell_ncBot |
| validCoreID4 = INSIDE CELL COREID s8te2et_s3265_2t_cell_ncBot_b s8te2et_s3265_2t_cell_ncTop s8te2et_s3265_2t_cell_ncTop_b s8te2et_s3266_2t_cell_a s8te2et_s3266_2t_cell_b s8te2et_s3266_2t_cell_end02_L s8te2et_s3266_2t_cell_end02_L_b s8te2et_s3266_2t_cell_end02_R s8te2et_s3266_2t_cell_end02_R01 s8te2et_s3266_2t_cell_ncBot s8te2et_s3266_2t_cell_ncBot_b s8te2et_s3266_2t_cell_ncTop s8te2et_s3266_2t_cell_ncTop_b s8te2et_s3267_2t_2x2_a s8te2et_s3267_2t_2x2_b s8te2et_s3267_2t_2x2_c s8te2et_s3267_PassGate_sonos_2x2 s8te2et_s3267_PassGate_sonos_2x2_b s8te2et_s3267_PassGate_sonos_2x2_novia s8te2et_s3267_PassGate_sonos_2x2_novia_b s8te2et_s3267_PassGate_sonos_2x2_novia_c s8te2et_s3268_sonos_Fet_novia s8te2et_s3268_sonos_Fet_novia_b s8te2et_s3268_sonos_Fet_novia_c s8te2et_s3268_Sonos_soFet_2x2 s8te2et_s3268_Sonos_soFet_2x2_c s8te2et_s3269_2t_2x2_a s8te2et_s3269_2t_2x2_b s8te2et_s3269_2t_2x2_c s8te2et_s3269_PassGate_sonos_2x2 s8te2et_s3269_PassGate_sonos_2x2_b s8te2et_s3269_PassGate_sonos_2x2_c s8te2et_s3270_2t_2x2_opt3 s8te2et_s3270_2t_2x2_opt3_b s8te2et_s3270_2t_2x2_opt3_c s8te2et_s3270_2x2_NoVia s8te2et_s3270_2x2_NoVia_b s8te2et_s3270_2x2_NoVia_c s8te2et_s3270_Sonos_soFet_2x2 s8te2et_s3270_Sonos_soFet_2x2_b s8te2et_s3270_Sonos_soFet_2x2_c s8te2et_s3271_32x32_Array s8te2et_s3272_2t_2x2_a s8te2et_s3272_2t_2x2_NoVia s8te2et_s3272_2t_cell_end02_L s8te2et_s3272_2t_cell_end02_R s8te2et_s3272_32x32_Array s8te2et_s3273_2t_end02_L s8te2et_s3273_2t_end02_L_b s8te2et_s3273_2t_end02_R s8te2et_s3274_2x2_NoVia s8te2et_s3274_2x2_NoVia_b s8te2et_s3274_32x32_Array s8te2et_s3274_32x32_Array_b s8te2et_s3275_2t_cell s8te2et_s3275_2t_cell_a s8te2et_s3275_2t_cell_b s8te2et_s3275_2t_cell_end01 s8te2et_s3275_2t_cell_end01_NoVia s8te2et_s3275_2t_cell_ncBot s8te2et_s3275_2t_cell_ncTop s8te2et_s3275_2x2_NoVia s8te2et_s3275_2x2_NoVia_b s8te2et_s3275_32x32_Array s8te2et_s3275_32x32_Array_b s8te2et_s3275_cell s8te2et_s3275_cell_end01 s8te2et_s3275_cell_end01_NoVia s8te2et_s3276_W2_L2 s8te2et_s3277_W2_L2 s8te2et_s3278_clock_latch s8te2et_s3279_8T_latch s8te2et_s3280_6T_latch s8te2et_s3280_6T_latch_b s8te2et_s3282_2T_Spl_cell2x2 s8te2et_s3282_2T_Spl_cell2x2_b s8te2et_s3282_2T_Spl_cell2x2_nc s8te2et_s3282_2T_Spl_cell2x2_nosrc s8te2et_s3282_cellend s8te2et_s3282_cellend_cntr s8te2et_s3282_celltop s8te2et_s3282_celltop_nc s8te2et_s3283_3T_Dual_cell2x2_nc s8te2et_s3283_3T_Dual_cell2x2_nc_b s8te2et_s3283_3T_Dual_cell2x2_nosrc s8te2et_s3283_3T_Spl_Chanel_cell s8te2et_s3283_cellend s8te2et_s3283_cellend_cntr s8te2et_s3284_1T_SSL_cell2x2 s8te2et_s3284_1T_SSL_cell2x2_nc s8te2et_s3284_1T_SSL_cell2x2_nosrc s8te2et_s3284_cellend s8te2et_s3284_cellend_cntr s8te2et_s3284_celltop s8te2et_s3284_celltop_nc |
| validCoreID5 = INSIDE CELL COREID s8te2et_s3286_cell2x2 s8te2et_s3286_cell2x2_nc s8te2et_s3286_cell2x2_nosrc s8te2et_s3287_2t_cell_end02_opt3_L s8te2et_s3287_2x2 s8te2et_s3287_2x2_Bot s8te2et_s3287_2x2_NoVia s8te2et_s3287_2x2_NoViaB s8te2et_s3287_2x2_Top s8te2et_s3287_32x32_Array s8te2et_s3287_32x32_Array_b s8te2et_s3287_cell_end01 s8te2et_s3287_cell_end01_NoVia s8te2et_s3289_14T_latch s8te2et_s3t_cell_end s8te2et_s3t_cell_end_01 s8te2et_s3t_cell_end_01_NoVia s8te2et_s3t_cell_end_NoVia s8te2et_s3t_cellcrnr_01_L s8te2et_s3t_cellcrnr_01_R s8te2et_s3t_cellcrnr_L s8te2et_s3t_cellcrnr_R s8te2et_s4100_2t_cell_end02_opt3_L s8te2et_s4100_2t_cell_option3_NP1 s8te2et_s4100_2t_cell_option3_swap_ncTop s8te2et_s4100_2t_cell_option3_swap1_ncBot s8te2et_s4100_2t_cellcrnr_01_L s8te2et_s4100_2t_cellend_R s8te2et_s4100_2t_cellend_R01 s8te2et_s4101_2t_cell_option3_IP2 s8te2et_s4102_2t_cell_option3_swap_ncTop s8te2et_s4102_2t_cell_option3_swap1_ncBot s8te2et_s4102_2t_cell_STD s8te2et_s4102_2t_cellend_L s8te2et_s4102_2t_cellend_R s8te2et_s4102_2t_cellend_R01 s8te2et_s4103_2t_cell_Bot s8te2et_s4103_2t_cell_NoLvtn s8te2et_s4103_2t_cell_NP1 s8te2et_s4103_2t_cell_option3_swap_ncTop s8te2et_s4103_2t_cell_option3_swap1_ncBot s8te2et_s4103_2t_cell_Top s8te2et_s4103_2t_cellend_L s8te2et_s4103_2t_cellend_L_NoLvtn s8te2et_s4103_2t_cellend_R s8te2et_s4103_2t_cellend_R01 s8te2et_s4104_2t_cell_Bot s8te2et_s4104_2t_cell_NP2 s8te2et_s4104_2t_cell_Top s8te2et_s4104_2t_cellend_L s8te2et_s4105_2t_cell_Bot s8te2et_s4105_2t_cell_NP3 s8te2et_s4105_2t_cell_Top s8te2et_s4105_2t_cellend_L s8te2et_s4105_2t_cellend_R s8te2et_s4105_2t_cellend_R01 s8te2et_s4106_2t_cell_Bot s8te2et_s4106_2t_cell_NP4 s8te2et_s4106_2t_cell_Top s8te2et_s4106_2t_cellend_L s8te2et_s4106_2t_cellend_R s8te2et_s4106_2t_cellend_R01 s8te2et_s4107_2t_cell_Bot s8te2et_s4107_2t_cell_NP5 s8te2et_s4107_2t_cell_Top s8te2et_s4107_2t_cellend_L s8te2et_s4107_2t_cellend_R s8te2et_s4107_2t_cellend_R01 s8te2et_s4108_2t_cell_Bot s8te2et_s4108_2t_cell_STD s8te2et_s4108_2t_cell_Top s8te2et_s4108_2t_cellend_L s8te2et_s4108_2t_cellend_R s8te2et_s4108_2t_cellend_R01 s8te2et_s4109_2t_cell_Bot s8te2et_s4109_2t_cell_NP1 s8te2et_s4109_2t_cell_Top s8te2et_s4109_2t_cellend_L s8te2et_s4109_2t_cellend_R s8te2et_s4109_2t_cellend_R01 s8te2et_s4110_2t_cell_Bot s8te2et_s4110_2t_cell_NP2 s8te2et_s4110_2t_cell_Top s8te2et_s4110_2t_cellend_L s8te2et_s4111_2t_cell_Bot s8te2et_s4111_2t_cell_NP3 s8te2et_s4111_2t_cell_Top s8te2et_s4111_2t_cellend_L s8te2et_s4112_2t_cell_Bot s8te2et_s4112_2t_cell_NP4 s8te2et_s4112_2t_cell_Top s8te2et_s4112_2t_cellend_L s8te2et_s4112_2t_cellend_R s8te2et_s4112_2t_cellend_R01 s8te2et_s4113_2t_cell_Bot |
| validCoreID6 = INSIDE CELL COREID s8te2et_s4113_2t_cell_NP5 s8te2et_s4113_2t_cell_Top s8te2et_s4113_2t_cellend_L s8te2et_s4113_2t_cellend_R s8te2et_s4113_2t_cellend_R01 s8te2et_s4114_2t_cell_Bot s8te2et_s4114_2t_cell_STD s8te2et_s4114_2t_cell_Top s8te2et_s4114_2t_cellend_L s8te2et_s4114_2t_cellend_R s8te2et_s4114_2t_cellend_R01 s8te2et_s4115_2t_cell_Bot s8te2et_s4115_2t_cell_NP1 s8te2et_s4115_2t_cell_Top s8te2et_s4115_2t_cellend_L s8te2et_s4115_2t_cellend_R s8te2et_s4115_2t_cellend_R01 s8te2et_s4116_2t_cell_Bot s8te2et_s4116_2t_cell_NP2 s8te2et_s4116_2t_cell_Top s8te2et_s4116_2t_cellend_L s8te2et_s4117_2t_cell_Bot s8te2et_s4117_2t_cell_NP3 s8te2et_s4117_2t_cell_Top s8te2et_s4117_2t_cellend_L s8te2et_s4118_2t_cell_Bot s8te2et_s4118_2t_cell_NP4 s8te2et_s4118_2t_cell_Top s8te2et_s4118_2t_cellend_L s8te2et_s4118_2t_cellend_R s8te2et_s4118_2t_cellend_R01 s8te2et_s4119_2t_cell_Bot s8te2et_s4119_2t_cell_NP5 s8te2et_s4119_2t_cell_Top s8te2et_s4119_2t_cellend_L s8te2et_s4119_2t_cellend_R s8te2et_s4119_2t_cellend_R01 s8te2et_s4120_2t_cell_Bot s8te2et_s4120_2t_cell_STD s8te2et_s4120_2t_cell_Top s8te2et_s4120_2t_cellend_L s8te2et_s4120_2t_cellend_R s8te2et_s4120_2t_cellend_R01 s8te2et_s4121_2t_cell_Bot s8te2et_s4121_2t_cell_NP1 s8te2et_s4121_2t_cell_Top s8te2et_s4121_2t_cellend_L s8te2et_s4121_2t_cellend_R s8te2et_s4121_2t_cellend_R01 s8te2et_s4122_2t_cell_Bot s8te2et_s4122_2t_cell_NP2 s8te2et_s4122_2t_cell_Top s8te2et_s4122_2t_cellend_L s8te2et_s4123_2t_cell_Bot s8te2et_s4123_2t_cell_NP3 s8te2et_s4123_2t_cell_Top s8te2et_s4123_2t_cellend_L s8te2et_s4124_2t_cell_Bot s8te2et_s4124_2t_cell_NP4 s8te2et_s4124_2t_cell_Top s8te2et_s4124_2t_cellend_L s8te2et_s4124_2t_cellend_R s8te2et_s4124_2t_cellend_R01 s8te2et_s4125_2t_cell_Bot s8te2et_s4125_2t_cell_NP5 s8te2et_s4125_2t_cell_Top s8te2et_s4125_2t_cellend_L s8te2et_s4125_2t_cellend_R s8te2et_s4125_2t_cellend_R01 s8te2et_s4126_2t_cell_Bot s8te2et_s4126_2t_cell_STD s8te2et_s4126_2t_cell_Top s8te2et_s4126_2t_cellend_L s8te2et_s4126_2t_cellend_R s8te2et_s4126_2t_cellend_R01 s8te2et_s4127_2t_cell_Bot s8te2et_s4127_2t_cell_NP1 s8te2et_s4127_2t_cell_Top s8te2et_s4127_2t_cellend_L s8te2et_s4127_2t_cellend_R s8te2et_s4127_2t_cellend_R01 s8te2et_s4128_2t_cell_Bot s8te2et_s4128_2t_cell_NP2 s8te2et_s4128_2t_cell_Top s8te2et_s4128_2t_cellend_L s8te2et_s4128_2t_cellend_R s8te2et_s4128_2t_cellend_R01 s8te2et_s4129_2t_cell_Bot s8te2et_s4129_2t_cell_NP3 s8te2et_s4129_2t_cell_Top s8te2et_s4129_2t_cellend_L s8te2et_s4129_2t_cellend_R s8te2et_s4129_2t_cellend_R01 s8te2et_s4130_2t_cell_Bot s8te2et_s4130_2t_cell_NP4 |
| validCoreID7 = INSIDE CELL COREID s8te2et_s4130_2t_cell_Top s8te2et_s4130_2t_cellend_L s8te2et_s4130_2t_cellend_R s8te2et_s4130_2t_cellend_R01 s8te2et_s4131_2t_cell_Bot s8te2et_s4131_2t_cell_NP5 s8te2et_s4131_2t_cell_Top s8te2et_s4131_2t_cellend_L s8te2et_s4131_2t_cellend_R s8te2et_s4131_2t_cellend_R01 s8te2et_s4132_2t_cellend_L s8te2et_s4132_3t_cell_Bot s8te2et_s4132_3t_cell_STD s8te2et_s4132_3t_cell_Top s8te2et_s4132_3t_cellend_R s8te2et_s4132_3t_cellend_R01 s8te2et_s4133_2t_cellend_L s8te2et_s4133_3t_cell_Bot s8te2et_s4133_3t_cell_NP1 s8te2et_s4133_3t_cell_Top s8te2et_s4133_3t_cellend_R s8te2et_s4133_3t_cellend_R01 s8te2et_s4135_2t_cellend_L s8te2et_s4135_3t_cell_Bot s8te2et_s4135_3t_cell_NP3 s8te2et_s4135_3t_cell_Top s8te2et_s4135_3t_cellend_R s8te2et_s4135_3t_cellend_R01 s8te2et_s4150_2t_cell s8te2et_s4150_2t_cell_Bot s8te2et_s4150_2t_cell_Top s8te2et_s4150_2t_cellcrnr_L s8te2et_s4150_2t_cellcrnr_R s8te2et_s4150_2t_cellend_L s8te2et_s4150_2t_cellend_R s8te2et_s4150_32x32_Array s8te2et_s4151_2t_2x2_a s8te2et_s4151_2t_cell_end01 s8te2et_s4151_2t_cell_end01_no_mcon s8te2et_s4151_2t_cell_end02_L s8te2et_s4151_2t_cell_end02_R s8te2et_s4151_2t_cell_end02_R01 s8te2et_s4151_2t_cellcrnr_L s8te2et_s4151_2t_cellcrnr_R s8te2et_s4151_PassGate_sonos_2x2 s8te2et_s4151_PassGate_sonos_2x2_no_mcon s8te2et_s4152_2t_2x2_a s8te2et_s4152_PassGate_sonos_2x2 s8te2et_s4154_2t_cell_a s8te2et_s4154_2t_cell_end02_L s8te2et_s4154_2t_cell_end02_R s8te2et_s4154_2t_cell_end02_R01 s8te2et_s4154_2t_cell_ncBot s8te2et_s4154_2t_cell_ncTop s8te2et_s4155_2t_cell_a s8te2et_s4155_2t_cell_end02_L s8te2et_s4155_2t_cell_end02_R s8te2et_s4155_2t_cell_end02_R01 s8te2et_s4155_2t_cell_ncBot s8te2et_s4155_2t_cell_ncTop s8te2et_s4156_2t_cell s8te2et_s4156_2t_cell_end s8te2et_s4156_2t_cell_end_no_mcon s8te2et_s4156_2t_cell_ncBot s8te2et_s4156_2t_cell_ncTop s8te2et_s7300_DNW_Ring s8te2et_s7300_DNW_Ring_Big s8te2et_s7300_DNW_Ring_s s8te2et_s7306_cap_padNFPASS_a s8te2et_sonos_Diff_MiniArray_opt3 s8te2et_SONOS_L0p13_Wmin s8te2et_SONOS_L0p15_Wmin s8te2et_SONOS_L0p17_Wmin s8te2et_SONOS_L0p18_Wmin s8te2et_sonos_L0p22_W25 s8te2et_SONOS_L0p22_W25 s8te2et_SONOS_L0p22_Wmin s8te2et_SONOS_L0p26_Wmin s8te2et_sonos_L25_W25 s8te2et_SONOS_L25_W25 s8te2et_sonos_L25_W25_cntm_ldntm s8te2et_SONOS_L25_Wmin s8te2et_sonos_Lmin_W25 s8te2et_SONOS_Lmin_W25 s8te2et_sonos_Lmin_W25_cntm_ldntm s8te2et_SONOS_Lmin_Wmin s8te2et_sonos_Lp5_W25 s8te2et_sonos_Lp5_Wp8 s8te2et_Sonos_soFet_2x2 s8te2et_sonos_W1_L1 s8te2et_sonos_W1_L1_NoDnw s8te2et_sonos_W1_L25 s8te2et_sonos_W1_L25_NoDnw s8tnvet_md5216_a s8tnvet_s9xxx_cyp_cap_padNHLV40 |
| validCoreID8 = INSIDE CELL COREID s8tnvet_s9xxx_cyp_cap_padNPD40 s8tnvet_s9xxx_cyp_cap_padPPU40 s8tnvet_s9xxx_cyp_cap_padS40 s8tnvet_s9xxx_pcm_iso_ppu_14_15 s8tnvet_s9xxx_pcm_iso_ppu_21_15 s8tnvet_s9xxx_pcm_iso_ppu_30_15 s8tnvet_s9xxx_pcm_multi_nhlv s8tnvet_s9xxx_pcm_multi_npass s8tnvet_s9xxx_pcm_multi_npd s8tnvet_s9xxx_pcm_multi_ppu s8tnvet_s9xxx_sr_mcell s8tnvet_s9xxx_sr_mcell_nTfr_1x s8tnvet_s9xxx_sr_mcell_pLoad_1x s8tnvet_s9xxx_sr_mcell_pLoad_1x_2 s8tnvet_s9xxx_sr_mcell_rcl s8tnvet_s9xxx_sr_mcell_rcl_2 s8tnvet_s9xxx_sr_mcell_TGvsr_1x_b s8tnvet_s9xxx_sr_mcell_TGvsr_1x_b_2 s8tnvet_s9xxx_sr_mcell_tie s8tnvet_s9xxx_sr_mcell_tie_special_L s8tnvet_s9xxx_sr_mcell_tie_special_R s8tnvet_s9xxx_sr_tcell s8cell_ee_vcctrk_cell s8cell_ee_vcctrk_cellcorn_p s8cell_ee_vcctrk_termcella s8cell_ee_vcctrk_cellcorn_n s8cell_ee_vcctrk_colend s8cell_ee_vcctrk_termcellb s8cell_ee_colenda_d s8cell_ee_colend_lasta_d "s8sram_tech_CD_top*" s8sram_tech_CD_lcross s8sram_tech_CD_top_pcell "s8cell_ee_tech_CD_top*" s8cell_ee_tech_CD_lcross s8cell_ee_tech_CD_top_pcell |
| validCoreID10 = INSIDE CELL COREID "s8q_tech_CD_top*" s8q_tech_CD_lcross s8q_tech_CD_top_pcell |
| validCoreIDAW = INSIDE CELL COREID sr_mcell_b_cell7 sr_mcell_tie_Mt_cell7 sr_tcell_tie_b_cell7 sr_mcell_t_cell7 sr_mcell_tie_Rb_cell7 sr_tcell_tie_t_cell7 sr_mcell_tie_END_b_cell7 sr_mcell_tie_Rt_cell7 sr_tcell_END_b_cell7 sr_mcell_tie_END_t_cell7 sr_tcell_b_cell7 sr_tcell_END_t_cell7 sr_mcell_tie_Lb_cell7 sr_tcell_t_cell7 sr_tcell_tie_Rb_cell7 sr_mcell_tie_Lt_cell7 sr_tcell_tie_Lt_cell7 sr_tcell_tie_Rt_cell7 sr_mcell_tie_Mb_cell7 sr_tcell_tie_Lb_cell7 sr_blld_tie "s8sram_s8p_tech_CD_top*" |
| validCoreID_TDRrevCA = INSIDE CELL COREID s8tnvpsr_bltd_eq s8tnvpsr_bltd_tie s8tnvpsr_blld_tie s8tnvpsr_blld s8tnvpsr_mcell_tie_END_sub_t_cell7 s8tnvpsr_mcell_tie_Mt_cell7 s8tnvpsr_mcell_tie_Lt_cell7 s8tnvpsr_mcell_tie_Rt_cell7 s8tnv64kssr_bltd_eq s8tnv64kssr_bltd_tie s8tnv64kssr_blld_tie s8tnv64kssr_blld |
| validCoreID_TDRrevCL = INSIDE CELL COREID s8fmlt64k_cell_cell s8fmlt64k_cell_cell_last s8fmlt64k_cell_cellcorn_n s8fmlt64k_cell_cellcorn_p s8fmlt64k_cell_colend_lasta_d s8fmlt64k_cell_colend_lastb s8fmlt64k_cell_colenda_d s8fmlt64k_cell_colendb s8fmlt64k_cell_strapn s8fmlt64k_cell_strapp |
| validCoreID_TDRrevCW = INSIDE CELL COREID s8rom_rom_wlvnb2 s8rom_romb0 s8rom_romb1 |
| validCoreID_s8fmlt_cell = INSIDE CELL COREID s8fmlt_cell_cell s8fmlt_cell_cellcorn_p s8fmlt_cell_colenda_d s8fmlt_cell_strapp s8fmlt_cell_cell_last s8fmlt_cell_colend_lasta_d s8fmlt_cell_colendb s8fmlt_cell_cellcorn_n s8fmlt_cell_colend_lastb s8fmlt_cell_strapn |
| validCoreID_product_srom = INSIDE CELL COREID "*_srom*_rom*" |
| validCoreID_s8fs = INSIDE CELL COREID s8fs_cell_vcctrk_cell s8fs_cell_bseln_endb s8fs_cell_strapn s8fs_cell_vcctrk_cellcorn_n s8fs_cell_bselp_enda_d s8fs_cell_strapn_colendb_d s8fs_cell_vcctrk_cellcorn_p s8fs_cell_cellcorn_n s8fs_cell_strapp s8fs_cell_vcctrk_colend s8fs_cell_cellcorn_p s8fs_cell_strapp_colenda_d s8fs_cell_vcctrk_termcella s8fs_cell_cellcorn_poly s8fs_cell_termcella s8fs_cell_vcctrk_termcellb s8fs_cell_colenda_d s8fs_cell_termcellb s8fs_cell_cell s8fs_cell_colendb |
| validCoreID = (((validCoreID1 OR validCoreID2) OR (validCoreID3 OR validCoreID4)) OR ((validCoreID5 OR validCoreID6) OR (validCoreID7 OR (validCoreID8 OR validCoreID10)))) OR (validCoreID9 OR |
| (validCoreIDAW OR |
| (validCoreID_TDRrevCA OR |
| (validCoreID_TDRrevCL OR |
| (validCoreID_TDRrevCW OR |
| (validCoreID_s8fmlt_cell OR |
| (validCoreID_product_srom OR validCoreID_s8fs))))))) |
| inValidCoreID = COREID NOT validCoreID |
| "r_1132_areaid.1" { |
| @ areaid.1: Unapproved cells contain areaid.ce layer |
| COPY inValidCoreID |
| } |
| met5_vpp = COPY met5 |
| via4_vpp = COPY via4 |
| met4_vpp = COPY met4 |
| via3_vpp = COPY via3 |
| CONNECT met3 met4_vpp BY via3_vpp |
| CONNECT met4 met5_vpp BY via4_vpp |
| nhvnativeW10 = EXPAND EDGE (LENGTH (nhvnative NOT COINCIDENT EDGE diff) == 10.0) INSIDE BY 0.005 |
| nhvnativeL4 = EXPAND EDGE (LENGTH (nhvnative COINCIDENT EDGE diff) == 4.0) INSIDE BY 0.005 |
| nhvnative10x4 = INTERACT (INTERACT nhvnative nhvnativeW10) nhvnativeL4 |
| xcmvpp2_nhvnative = INTERACT (EXTENT CELL "s8rf_xcmvpp2" ORIGINAL) ((EXTENT CELL "s8rf_xcmvpp2" ORIGINAL) AND nhvnative10x4) |
| pfet_moscap = phv OR |
| (pshort OR |
| (phighvt OR plowvt)) |
| phvW5 = EXPAND EDGE (LENGTH (pfet_moscap NOT COINCIDENT EDGE diff) == 5.0) INSIDE BY 0.005 |
| phvL4 = EXPAND EDGE (LENGTH (pfet_moscap COINCIDENT EDGE diff) == 4.0) INSIDE BY 0.005 |
| phv5x4 = INTERACT (INTERACT pfet_moscap phvW5) phvL4 |
| xcmvpp2_phv = INTERACT (EXTENT CELL "s8rf_xcmvpp2_nwell" ORIGINAL) ((EXTENT CELL "s8rf_xcmvpp2_nwell" ORIGINAL) AND phv5x4) |
| vpp_over_MOSCAP = xcmvpp2_nhvnative OR (xcmvpp2_phv AND capacitor) |
| vppM3ShieldA = EXTENT CELL "s8rf_xcmvpp1p8x1p8_m3shield" ORIGINAL |
| vppM3ShieldB = EXTENT CELL "s8rf_xcmvpp4p4x4p6_m3shield" ORIGINAL |
| vppM3ShieldC = EXTENT CELL "s8rf_xcmvpp8p6x7p9_m3shield" ORIGINAL |
| vppM3ShieldD = EXTENT CELL "s8rf_xcmvpp11p5x11p7_m3shield" ORIGINAL |
| cap100fF_liShield = EXTENT CELL "s8rf_xcmvpp11p5x11p7_m3_lishield" ORIGINAL |
| cap50fF_liShield = EXTENT CELL "s8rf_xcmvpp8p6x7p9_m3_lishield" ORIGINAL |
| cap12fF_liShield = EXTENT CELL "s8rf_xcmvpp4p4x4p6_m3_lishield" ORIGINAL |
| cap1fF_liShield = EXTENT CELL "s8rf_xcmvpp1p8x1p8_lishield" ORIGINAL |
| vppM5ShieldA = EXTENT CELL "s8rf2_xcmvpp11p5x11p7_m5shield" ORIGINAL |
| vppM5ShieldB = EXTENT CELL "s8rf2_xcmvpp11p5x11p7_polym5shield" ORIGINAL |
| vppM5ShieldC = EXTENT CELL "s8rf2_xcmvpp11p5x11p7_lim5shield" ORIGINAL |
| vppM5ShieldD = EXTENT CELL "s8rf2_xcmvpp8p6x7p9_m3_lim5shield" ORIGINAL |
| vppM5ShieldE = EXTENT CELL "s8rf2_xcmvpp11p5x11p7_m4shield" ORIGINAL |
| vppM5ShieldF = EXTENT CELL "s8rf2_xcmvpp11p5x11p7_polym4shield" ORIGINAL |
| vppM5ShieldG = EXTENT CELL "s8rf2_xcmvpp6p8x6p1_polym4shield" ORIGINAL |
| vppM5ShieldH = EXTENT CELL "s8rf2_xcmvpp6p8x6p1_lim4shield" ORIGINAL |
| vppM5ShieldI = EXTENT CELL "s8rf2_xcmvppx4_2xnhvnative10x4" ORIGINAL |
| vppM5ShieldJ = EXTENT CELL "s8rf2_xcmvpp11p5x11p7_m3_lim5shield" ORIGINAL |
| vppM5ShieldK = EXTENT CELL "s8rf2_xcmvpp4p4x4p6_m3_lim5shield" ORIGINAL |
| vppM5ShieldL = EXTENT CELL "s8rf2_xcmvpp11p5x11p7_m1m4m5shield" ORIGINAL |
| vppM5ShieldM = EXTENT CELL "s8rf2_xcmvpp11p5x11p7_m1m4" ORIGINAL |
| vppM5ShieldN = EXTENT CELL "s8rf2_xcmvpp11p5x11p7_polym50p4shield" ORIGINAL |
| vppLIShield = EXTENT CELL "s8rf*_li*shield" |
| vppM3Shield = vppM3ShieldA OR |
| (vppM3ShieldB OR |
| (vppM3ShieldC OR vppM3ShieldD)) |
| vpp_w_met5 = vpp_hd5 OR |
| (vppM5ShieldA OR |
| (vppM5shieldB OR |
| (vppM5ShieldC OR |
| (vppM5ShieldD OR |
| (vppM5ShieldE OR |
| (vppM5shieldF OR |
| (vppM5ShieldG OR |
| (vppM5ShieldH OR |
| (vppM5ShieldI OR |
| (vppM5ShieldJ OR |
| (vppM5ShieldK OR |
| (vppM5ShieldL OR vppM5ShieldN)))))))))))) |
| vpp_hd5_atlas = EXTENT CELL "s8rf2_xcmvpp_hd5_atlas*" ORIGINAL |
| vpp_w_met5_noatlas = vpp_w_met5 NOT vpp_hd5_atlas |
| vpp_w_met5polyShield = vpp_hd5 OR |
| (vppM5ShieldF OR |
| (vppM5ShieldG OR |
| (vppM5ShieldI OR |
| (vppM5ShieldB OR vppM5ShieldN)))) |
| vppShield = vppM3Shield OR |
| (vppLIShield OR vpp_w_met5) |
| vpp5c_unexempt = vppM5ShieldM OR vpp_hd5_atlas |
| vpp_w_noLi = (EXTENT CELL "s8rf2_xcmvpp3" ORIGINAL) OR |
| ((EXTENT CELL "s8rf2_xcmvpp4" ORIGINAL) OR |
| ((EXTENT CELL "s8rf2_xcmvpp5" ORIGINAL) OR |
| ((EXTENT CELL "s8rf2_xcmvpp4p4x4p6_m1m2" ORIGINAL) OR |
| ((EXTENT CELL "s8rf2_xcmvpp11p5x11p7_m1m2" ORIGINAL) OR |
| ((EXTENT CELL "s8rf2_xcmvpp11p5x11p7_m1m4" ORIGINAL) OR (EXTENT CELL "s8rf2_xcmvpp11p5x11p7_m1m4m5shield" ORIGINAL)))))) |
| vpp_err_li_exempt = vpp_w_noLi NOT vpp5c_unexempt |
| cap_in_noLi = capacitor AND vpp_w_noLi |
| cap_Li = capacitor NOT cap_in_noLi |
| capNotShield = capacitor NOT (vppM3Shield OR |
| (vppLIShield OR |
| (vpp_w_met5 OR vpp_w_noLi))) |
| capRing = (capacitor NOT (SIZE capacitor BY -0.005)) NOT vpp_over_MOSCAP |
| capRingLI = li1 AND capRing |
| capRingPY = poly AND capRing |
| capRingM1 = met1 AND capRing |
| capRingM2 = met2 AND capRing |
| capRingM3 = met3 AND capRing |
| capRingM4 = met4_vpp AND capRing |
| pyNOTcap = poly NOT capacitor |
| liNOTcap = li1 NOT capacitor |
| m1NOTcap = met1 NOT capacitor |
| m2NOTcap = met2 NOT capacitor |
| m3NOTcap = met3 NOT capacitor |
| m4NOTcap = met4_vpp NOT capacitor |
| m5NOTcap = met5_vpp NOT capacitor |
| vpp_5_flag_li = (INTERACT (EXTERNAL liNOTcap capRingLI < 1.5 ABUT < 90 NOT CONNECTED SINGULAR REGION) capNotShield) OR |
| ((INTERACT (EXTERNAL liNOTcap capRingPY < 1.5 ABUT < 90 NOT CONNECTED SINGULAR REGION) capNotShield) OR |
| ((INTERACT (EXTERNAL liNOTcap capRingM1 < 1.5 ABUT < 90 NOT CONNECTED SINGULAR REGION) capNotShield) OR (INTERACT (EXTERNAL liNOTcap capRingM2 < 1.5 ABUT < 90 NOT CONNECTED SINGULAR REGION) capNotShield))) |
| vpp_5_flag_py = (INTERACT (EXTERNAL pyNOTcap capRingLI < 1.5 ABUT < 90 NOT CONNECTED SINGULAR REGION) capNotShield) OR |
| ((INTERACT (EXTERNAL pyNOTcap capRingPY < 1.5 ABUT < 90 NOT CONNECTED SINGULAR REGION) capNotShield) OR |
| ((INTERACT (EXTERNAL pyNOTcap capRingM1 < 1.5 ABUT < 90 NOT CONNECTED SINGULAR REGION) capNotShield) OR (INTERACT (EXTERNAL pyNOTcap capRingM2 < 1.5 ABUT < 90 NOT CONNECTED SINGULAR REGION) capNotShield))) |
| vpp_5_flag_m1 = (INTERACT (EXTERNAL m1NOTcap capRingLI < 1.5 ABUT < 90 NOT CONNECTED SINGULAR REGION) capNotShield) OR |
| ((INTERACT (EXTERNAL m1NOTcap capRingPY < 1.5 ABUT < 90 NOT CONNECTED SINGULAR REGION) capNotShield) OR |
| ((INTERACT (EXTERNAL m1NOTcap capRingM1 < 1.5 ABUT < 90 NOT CONNECTED SINGULAR REGION) capNotShield) OR (INTERACT (EXTERNAL m1NOTcap capRingM2 < 1.5 ABUT < 90 NOT CONNECTED SINGULAR REGION) capNotShield))) |
| vpp_5_flag_m2 = (INTERACT (EXTERNAL m2NOTcap capRingLI < 1.5 ABUT < 90 NOT CONNECTED SINGULAR REGION) capNotShield) OR |
| ((INTERACT (EXTERNAL m2NOTcap capRingPY < 1.5 ABUT < 90 NOT CONNECTED SINGULAR REGION) capNotShield) OR |
| ((INTERACT (EXTERNAL m2NOTcap capRingM1 < 1.5 ABUT < 90 NOT CONNECTED SINGULAR REGION) capNotShield) OR (INTERACT (EXTERNAL m2NOTcap capRingM2 < 1.5 ABUT < 90 NOT CONNECTED SINGULAR REGION) capNotShield))) |
| vpp_5_err_li = vpp_5_flag_li NOT (WITH WIDTH (AREA vpp_5_flag_li < 2.25) < 2.0) |
| vpp_5_err_py = vpp_5_flag_py NOT (WITH WIDTH (AREA vpp_5_flag_py < 2.25) < 2.0) |
| vpp_5_err_m1 = vpp_5_flag_m1 NOT (WITH WIDTH (AREA vpp_5_flag_m1 < 2.25) < 2.0) |
| vpp_5_err_m2 = vpp_5_flag_m2 NOT (WITH WIDTH (AREA vpp_5_flag_m2 < 2.25) < 2.0) |
| vpp_5a = DENSITY met3 > 0.25 INSIDE OF LAYER capacitor |
| vpp_5b = DENSITY met4 > 0.3 INSIDE OF LAYER capacitor |
| vpp_5c = DENSITY met5 > 0.4 INSIDE OF LAYER capacitor |
| vpp_5a_err = vpp_5a NOT (vpp_over_MOSCAP OR |
| (vppShield OR vppM5ShieldM)) |
| vpp_5b_err = vpp_5b NOT (vppM3Shield OR |
| (vpp_w_met5 OR |
| (vpp_over_MOSCAP OR vppM5ShieldM))) |
| vpp_5c_err = vpp_5c NOT (vppM3Shield OR |
| (vpp_w_met5_noatlas OR |
| (vpp_over_MOSCAP OR vpp_err_li_exempt))) |
| vpp3_xmt1 = vppLIshield OR |
| (vpp_over_MOSCAP OR (INTERACT poly (poly AND (vppM3Shield OR vpp_w_met5polyShield)))) |
| vpp3_xmt2 = (diff OR tap) AND vpp_w_met5polyShield |
| vpp3NotXmt = capacitor NOT (vpp3_xmt1 OR vpp3_xmt2) |
| xcmvppCell = INSIDE CELL pwell_pin "s8rf_xcmvpp*" PRIMARY ONLY |
| capErr = INTERACT capacitor xcmvppCell > 1 |
| vpp9NotXmt = capacitor NOT vpp_over_MOSCAP |
| vppMosDens1 = DENSITY nhvnative10x4 < 0.87 INSIDE OF LAYER xcmvpp2_nhvnative |
| vppMosDens2 = DENSITY phv5x4 < 0.87 INSIDE OF LAYER (xcmvpp2_phv AND capacitor) |
| vpp_11_err = vppMosDens1 OR vppMosDens2 |
| vpp_12_good = RECTANGLE met4 == 2.01 ASPECT == 1 |
| vpp_12c_good = RECTANGLE met4 == 1.5 ASPECT == 1 |
| vpp_12a_err1 = INTERACT (capacitor AND vppM5shieldD) (met4 NOT vpp_12_good) |
| vpp_12a_err2 = INTERACT (capacitor AND vppM5shieldD) met4 != 9.0 |
| vpp_12b_err1 = INTERACT (capacitor AND vppM5shieldJ) (met4 NOT vpp_12_good) |
| vpp_12b_err2 = INTERACT (capacitor AND vppM5shieldJ) met4 != 16.0 |
| vpp_12c_err1 = INTERACT (capacitor AND vppM5shieldK) (met4 NOT vpp_12c_good) |
| vpp_12c_err2 = INTERACT (capacitor AND vppM5shieldK) met4 != 4.0 |
| vpp_12a_err = vpp_12a_err1 OR vpp_12a_err2 |
| vpp_12b_err = vpp_12b_err1 OR vpp_12b_err2 |
| vpp_12c_err = vpp_12c_err1 OR vpp_12c_err2 |
| vpp_1b_err = capacitor NOT (vpp_w_met5 OR |
| (vppM3Shield OR |
| (vpp_over_MOSCAP OR |
| (vppLIShield OR vpp_w_noLi)))) |
| "r_1133_vpp.5" { |
| @ vpp.5: 1.5 min spacing of (li1, poly, or met1/2) overlapping cap.dg to other li1 |
| COPY vpp_5_err_li |
| } |
| "r_1134_vpp.5" { |
| @ vpp.5: 1.5 min spacing of (li1, poly, or met1/2) overlapping cap.dg to other poly |
| COPY vpp_5_err_py |
| } |
| "r_1135_vpp.5" { |
| @ vpp.5: 1.5 min spacing of (li1, poly, or met1/2) overlapping cap.dg to other met1 |
| COPY vpp_5_err_m1 |
| } |
| "r_1136_vpp.5" { |
| @ vpp.5: 1.5 min spacing of (li1, poly, or met1/2) overlapping cap.dg to other met2 |
| COPY vpp_5_err_m2 |
| } |
| "r_1137_vpp.5a" { |
| @ vpp.5a: 0.25 max PD ratio of met3.dg to capacitor.dg |
| COPY vpp_5a_err |
| } |
| "r_1138_vpp.5b" { |
| @ vpp.5b: 0.3 max PD ratio of met4.dg to capacitor.dg |
| COPY vpp_5b_err |
| } |
| "r_1139_vpp.5c" { |
| @ vpp.5c: 0.4 max PD ratio of met5.dg to capacitor.dg |
| COPY vpp_5c_err |
| } |
| "r_1140_vpp.10" { |
| @ vpp.10: capacitors are not allow to overlap |
| COPY capErr |
| } |
| "r_1141_vpp.11" { |
| @ vpp.11: 0.87 Minimum vpp_over_MOSCAP density over related gate |
| COPY vpp_11_err |
| } |
| "r_1142_vpp.12a" { |
| @ vpp.12a: capacitor in s8rf2_xcmvpp8p6x7p9_m3_lim5shield must overlap only 9.0 met4 2.01x2.01 polygons |
| COPY vpp_12a_err |
| } |
| "r_1143_vpp.12b" { |
| @ vpp.12b: capacitor in s8rf2_xcmvpp11p5x11p7_m3_lim5shield must overlap only 16.0 met4 2.01x2.01 polygons |
| COPY vpp_12b_err |
| } |
| "r_1144_vpp.12c" { |
| @ vpp.12c: capacitor in s8rf2_xcmvpp4p4x4p6_m3_lim5shield must overlap only 4.0 met4 1.5x1.5 polygons |
| COPY vpp_12c_err |
| } |
| "r_1145_vpp.1" { |
| @ vpp.1: 1.43 min. width of capacitor |
| INTERNAL capacitor < 1.43 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1146_vpp.1b" { |
| @ vpp.1b: 11.35 max. width of vpp_1b_err |
| q0vpp_1b_err = SIZE vpp_1b_err BY -5.675 |
| SIZE q0vpp_1b_err BY 5.675 |
| } |
| q0vppM3shieldA = NOT RECTANGLE vppM3shieldA ORTHOGONAL ONLY |
| "r_1147_vpp.1c" { |
| @ vpp.1c: vppM3shieldA should be rectangular |
| COPY q0vppM3shieldA |
| } |
| q1vppM3shieldA = INTERNAL vppM3shieldA < 3.88 REGION |
| "r_1148_vpp.1c" { |
| @ vpp.1c: 3.88 min. width of vppM3shieldA |
| COPY q1vppM3shieldA |
| } |
| q2vppM3shieldA = vppM3shieldA WITH EDGE (LENGTH vppM3shieldA > 3.88) |
| "r_1149_vpp.1c" { |
| @ vpp.1c: 3.88 max. length of vppM3shieldA |
| COPY q2vppM3shieldA |
| } |
| "r_1150_vpp.3" { |
| @ vpp.3: vpp3NotXmt must not overlap poly |
| @ vpp.3: vpp3NotXmt must not overlap diff |
| @ vpp.3: vpp3NotXmt must not overlap tap |
| vpp3NotXmt AND poly |
| vpp3NotXmt AND diff |
| vpp3NotXmt AND tap |
| } |
| "r_1151_vpp.4" { |
| @ vpp.4: capacitor must not straddle nwell |
| CUT capacitor nwell |
| } |
| "r_1152_vpp.4" { |
| @ vpp.4: capacitor must not straddle dnwell |
| CUT capacitor dnwell |
| } |
| "r_1153_vpp.8" { |
| @ vpp.8: 1.5 min. enclosure of capacitor by nwell |
| q2capacitorand = capacitor AND nwell |
| ENCLOSURE q2capacitorand nwell < 1.5 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| "r_1154_vpp.9" { |
| @ vpp.9: 1.5 min. spacing of capacitor & nwell |
| EXTERNAL vpp9NotXmt nwell < 1.5 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| VHVDiff = diff AND vhvi |
| VHVdiffResblock = WITH TEXT diffres "vhv_block" |
| VHVpolyResblock = WITH TEXT polyres "vhv_block" |
| VHVpwmResblock = WITH TEXT pwres "vhv_block" |
| PwellRes = INTERACT DnwNoRing (DnwNoRing AND pwres) |
| pwellNoBlockRes = PwellRes NOT (INTERACT PwellRes (PwellRes AND VHVpwmResblock)) |
| Polyconn = licon1 AND npc |
| diffNoBlockRes = diff NOT VHVdiffResblock |
| diffResTerminal = (TOUCH diffNoBlockRes diffres) INSIDE licon1 |
| polyNoBlockRes = poly NOT VHVpolyResblock |
| polyResTerminal = (TOUCH polyNoBlockRes polyres) INSIDE Polyconn |
| VHVSrcDrnProp = diffTap NOT (poly OR |
| (VHVdiffResblock OR |
| (diffResTerminal OR ESDID))) |
| VHVSrcDrn = INTERACT VHVSrcDrnProp (VHVSrcDrnProp AND vhvi) |
| VHVPolyProp = poly NOT (VHVpolyResblock OR polyResTerminal) |
| VHVPoly = INTERACT VHVPolyProp (VHVPolyProp AND vhvi) |
| VHVGate = VHVPoly AND diff |
| LiconTpNwell = licon1 AND (tap AND nwell) |
| DISCONNECT |
| CONNECT dnwell nwell |
| CONNECT nwell li1 BY LiconTpNwell |
| CONNECT li1 met1 BY mcon |
| CONNECT met1 met2 BY via |
| CONNECT VHVSrcDrnProp li1 BY licon1 |
| CONNECT VHVPolyProp li1 BY Polyconn |
| CONNECT VHVSrcDrn VHVSrcDrnProp BY vhvi |
| CONNECT VHVPoly VHVPolyProp BY vhvi |
| CONNECT pwellNoBlockRes li1 BY GoodTapLicon |
| CONNECT met3 met2 BY via2 |
| CONNECT met3 met4 BY via3 |
| CONNECT met4 met5 BY via4 |
| CONNECT met5 pad |
| CONNECT rdl pad |
| DiffConnVHVSrcDrn = NET AREA RATIO VHVSrcDrnProp VHVSrcDrn > 0 |
| DiffConnVHVSrcDrnErr = DiffConnVHVSrcDrn NOT (ESDID OR |
| (ENID OR VHVSrcDrn)) |
| VHVoverCE = INTERACT vhvi (vhvi AND COREID) |
| PolyVHVSrcDrnConn = NET AREA RATIO VHVPolyProp VHVSrcDrn > 0 |
| VHVPolyVHVSrcDrnConn = INTERACT PolyVHVSrcDrnConn (PolyVHVSrcDrnConn AND vhvi) |
| VHVNoPolyVHVSrcDrnConn = PolyVHVSrcDrnConn NOT VHVPolyVHVSrcDrnConn |
| VHVvhvSrcDrn = INTERACT vhvi (vhvi AND VHVSrcDrn) |
| VHVvhvSrcDrnoverPoly = INTERACT VHVvhvSrcDrn (VHVvhvSrcDrn AND poly) |
| VHVnwell = INTERACT nwell (nwell AND vhvi) |
| NSrcDrnProp = VHVSrcDrnProp NOT ((INTERACT diff (diff AND VHVnwell)) OR nwell) |
| VHVnwellDnConn = NET AREA RATIO dnwell VHVnwell > 0 |
| VHVnwellNwConn = NET AREA RATIO nwell VHVnwell > 0 |
| VHVnwellNdiffConn = NET AREA RATIO NSrcDrnProp VHVnwell > 0 |
| VHVnwellDnNoConn = dnwell NOT VHVnwellDnConn |
| VHVnwellNwNoConn = nwell NOT VHVnwellNwConn |
| VHVnwellNdiffNoConn = NSrcDrnProp NOT VHVnwellNdiffConn |
| VHVnwellNoConn = VHVnwellDnNoConn OR |
| (VHVnwellNwNoConn OR VHVnwellNdiffNoConn) |
| "r_1155_vhvi.vhv.5" { |
| @ vhvi.vhv.5: diffusion not in drain-extended devices must not be connected to VHVSrcDrn |
| COPY DiffConnVHVSrcDrnErr |
| } |
| "r_1156_vhvi.1" { |
| @ vhvi.1: 0.02 min. width of vhvi |
| INTERNAL vhvi < 0.02 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1157_vhvi.2" { |
| @ vhvi.2: vhvi must not overlap areaid.ce |
| COPY VHVoverCE |
| } |
| "r_1158_vhvi.3" { |
| @ vhvi.3: VHVGate must overlap hvi |
| VHVGate OUTSIDE hvi |
| } |
| "r_1159_vhvi.4" { |
| @ vhvi.4: poly connected to same net as VHVsourcedrain must be tagged by vhvi |
| COPY VHVNoPolyVHVSrcDrnConn |
| } |
| "r_1160_vhvi.5" { |
| @ vhvi.5: vhvi must not straddle VHVSrcDrn |
| CUT vhvi VHVSrcDrn |
| } |
| "r_1161_vhvi.6" { |
| @ vhvi.6: vhvi overlapping VHVSrcDrn must not overlap poly |
| COPY VHVvhvSrcDrnoverPoly |
| } |
| "r_1162_vhvi.7" { |
| @ vhvi.7: vhvi must not straddle VHVPoly |
| CUT vhvi VHVPoly |
| } |
| "r_1163_vhvi.8" { |
| @ vhvi.8: 11.24 min. spacing of VHVnwell & VHVnwellNoConn |
| EXTERNAL VHVnwell VHVnwellNoConn < 11.24 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| HVSrcDrnProp = diff NOT (diffres OR poly) |
| HVSrcDrn = INTERACT HVSrcDrnProp (HVSrcDrnProp AND diffhvp) |
| HVnSrcDrn = HVSrcDrn NOT nwell |
| HVpolyNotRes = poly NOT polyres |
| lcTapnw = INTERACT licon1 (licon1 AND (tap AND nwell)) |
| DISCONNECT |
| CONNECT dnwell nwell |
| CONNECT nwell li1 BY lcTapnw |
| CONNECT li1 met1 BY mcon |
| CONNECT met1 met2 BY via |
| CONNECT HVSrcDrnProp li1 BY licon1 |
| CONNECT HVpolyNotRes li1 BY npccon |
| CONNECT HVSrcDrn HVSrcDrnProp BY diffhvp |
| CONNECT met3 met2 BY via2 |
| CONNECT met3 met4 BY via3 |
| CONNECT met4 met5 BY via4 |
| CONNECT met5 pad |
| CONNECT rdl pad |
| diffTapEdge1 = diff COINCIDENT OUTSIDE EDGE tap |
| diffHVminSpc = EXTERNAL [HVSrcDrn] diff < 0.3 ABUT < 90 SINGULAR |
| hvSrcDrnnoTap = diffHVminSpc NOT COINCIDENT EDGE diffTapEdge1 |
| diffConnHVSrcDrn = NET AREA RATIO HVSrcDrnProp HVSrcDrn > 0 |
| nwellConHVdiff = NET AREA RATIO nwell HVSrcDrn > 0 |
| diffResButtHV = diffres WITH EDGE (diffres COINCIDENT OUTSIDE EDGE diffConnHVSrcDrn) |
| diffDiodeHV = DIODEID AND diffConnHVSrcDrn |
| ndiffResButtHV = diffResButtHV NOT nwell |
| ndiffDiodeHV = diffDiodeHV NOT nwell |
| hvPoly = NET AREA RATIO HVpolyNotRes HVSrcDrn > 0 |
| hvPd_0 = hvPoly OUTSIDE diff |
| hvPd_1 = INTERACT hvPoly diff == 1 |
| badHvPolytmp = hvPoly OUTSIDE (hvPd_0 OR hvPd_1) |
| hvPolyTexted = WITH TEXT hvPoly "hv_bb" |
| badHvPoly = badHvPolytmp NOT hvPolyTexted |
| hvPolyField = hvPoly NOT (ENID OR GATE) |
| hvPolyExmpt = hvPolyField NOT hvPolyTexted |
| deFetStradNW = CUT deFetPoly nwell |
| hvPolyExmpt2 = hvPolyExmpt NOT deFetStradNW |
| nwellHoleEdge = nwellring COINCIDENT EDGE nwellHoles |
| BadhvpolyEdge = nwell INSIDE EDGE hvPolyExmpt |
| badHvPoly2 = BadhvpolyEdge NOT COINCIDENT EDGE nwellHoleEdge |
| DiffButthvPolyExmpt = diff WITH EDGE (diff COINCIDENT OUTSIDE EDGE hvPolyExmpt) |
| hvPolyExmptDiff = hvPolyExmpt OR DiffButthvPolyExmpt |
| unrelDiff = diff NOT hvPolyExmptDiff |
| normSRCDRN = SRCDRN NOT HVSrcDrn |
| hvGate = GATE WITH EDGE (GATE COINCIDENT OUTSIDE EDGE HVSrcDrn) |
| hvGateButtSRCDRN = hvGate WITH EDGE (hvGate COINCIDENT OUTSIDE EDGE normSRCDRN) |
| hvGateButtSRCDRNtexted = WITH TEXT hvGateButtSRCDRN "hv_lv" |
| hvGateExmpt = hvGate NOT hvGateButtSRCDRNtexted |
| hvGateEdge = hvGateExmpt COINCIDENT INSIDE EDGE diff |
| hvGateEdgeBad = ENCLOSURE [hvGateEdge] poly < 0.16 MEASURE COINCIDENT ABUT < 90 |
| hvGateEdgeBadSz = EXPAND EDGE hvGateEdgeBad OUTSIDE BY 0.005 |
| hvGateExt = hvGateEdgeBadSz NOT ENID |
| GateExmpt = GATE NOT hvGateButtSRCDRNtexted |
| GateEdge = GateExmpt COINCIDENT INSIDE EDGE diff |
| p6bGateEdgeBad = ENCLOSURE [GateEdge] hvpoly < 0.16 MEASURE COINCIDENT ABUT < 90 |
| p6bGateEdgeBadSz = EXPAND EDGE p6bGateEdgeBad OUTSIDE BY 0.005 |
| p6bGateExt = p6bGateEdgeBadSz NOT ENID |
| "r_1164_hv.diff.1a" { |
| @ hv.diff.1a: Min space between hv_srcdrn and hv_srcdrn/diff for edges not butting tap is 0.3 |
| COPY hvSrcDrnnoTap |
| } |
| "r_1165_hv.diff.1b" { |
| @ hv.diff.1b: 0.3 min. spacing of diffResButtHV & diff |
| EXTERNAL diffResButtHV diff < 0.3 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1166_hv.diff.1b" { |
| @ hv.diff.1b: 0.3 min. spacing of diffDiodeHV & diff |
| EXTERNAL diffDiodeHV diff < 0.3 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1167_hv.diff.2" { |
| @ hv.diff.2: 0.43 min. spacing of nwellConHVdiff & ndiff (not for source of drain extended device) |
| EXTERNAL nwellConHVdiff ENIDNsource < 0.43 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1168_hv.diff.3a" { |
| @ hv.diff.3a: 0.55 min. spacing of HVnSrcDrn & nwell |
| EXTERNAL HVnSrcDrn nwell < 0.55 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1169_hv.diff.3b" { |
| @ hv.diff.3b: 0.55 min. spacing of diffResButtHV & nwell |
| EXTERNAL diffResButtHV nwell < 0.55 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1170_hv.diff.3b" { |
| @ hv.diff.3b: 0.55 min. spacing of diffDiodeHV & nwell |
| EXTERNAL diffDiodeHV nwell < 0.55 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1171_hv.poly.1" { |
| @ hv.poly.1: hv poly can be drawn over only one diff |
| COPY badHvPoly |
| } |
| "r_1172_hv.poly.1" { |
| @ hv.poly.1: hvPolyExmpt must not straddle nwell |
| CUT hvPolyExmpt nwell |
| } |
| "r_1173_hv.poly.1" { |
| @ hv.poly.1: hvpoly cannot cross nwell boundary (except nwell hole edge |
| COPY badHvPoly2 |
| } |
| "r_1174_hv.poly.2" { |
| @ hv.poly.2: 0.3 min. spacing of hvPolyExmpt & unrelDiff |
| EXTERNAL hvPolyExmpt unrelDiff < 0.3 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1175_hv.poly.3" { |
| @ hv.poly.3: 0.55 min. spacing of hvPolyExmpt2 & nwell |
| EXTERNAL hvPolyExmpt2 nwell < 0.55 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1176_hv.poly.4" { |
| @ hv.poly.4: 0.3 min. enclosure of hvPolyExmpt2 by nwell |
| q0hvPolyExmpt2and = hvPolyExmpt2 AND nwell |
| ENCLOSURE q0hvPolyExmpt2and nwell < 0.3 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| "r_1177_hv.poly.6a" { |
| @ hv.poly.6a: 0.16 min extension of poly beyond hv gate is |
| COPY hvGateExt |
| } |
| "r_1178_hv.poly.6b" { |
| @ hv.poly.6b: 0.16 min extension of hvpoly beyond gate |
| COPY p6bGateExt |
| } |
| capSz = SIZE capacitor BY 0.17 |
| x22_exempt = exempt_tech_CD OR |
| (inductor_exempt OR |
| (moduleCutAREA OR |
| (capSz OR (EXTENT CELL "s8blerf_*")))) |
| licon1ply = licon1 OUTSIDE diffTap |
| licon1fom = licon1 NOT licon1ply |
| licon1NDIFF = licon1fom AND NDIFF |
| licon1PDIFF = licon1fom AND PDIFF |
| licon1NTAP = licon1fom AND NTAP |
| licon1PTAP = licon1fom AND PTAP |
| topCell_li1_pin = INSIDE CELL li1_pin "s8pir_10r_vcells_drc" PRIMARY ONLY |
| topCell_poly_pin = INSIDE CELL poly_pin "s8pir_10r_vcells_drc" PRIMARY ONLY |
| topCell_met1_pin = INSIDE CELL met1_pin "s8pir_10r_vcells_drc" PRIMARY ONLY |
| topCell_met2_pin = INSIDE CELL met2_pin "s8pir_10r_vcells_drc" PRIMARY ONLY |
| topCell_met3_pin = INSIDE CELL met3_pin "s8pir_10r_vcells_drc" PRIMARY ONLY |
| polyToGateContact = COPY GATE |
| DISCONNECT |
| CONNECT li1 pSRCDRN BY licon1PDIFF |
| CONNECT li1 nSRCDRN BY licon1NDIFF |
| CONNECT li1 PTAP BY licon1PTAP |
| CONNECT li1 NTAP BY licon1NTAP |
| CONNECT li1 poly BY licon1ply |
| CONNECT poly GATE BY polyToGateContact |
| CONNECT met1 li1 BY mcon |
| CONNECT met2 met1 BY via |
| CONNECT met3 met3tt |
| CONNECT met2 met2tt |
| CONNECT met1 met1tt |
| CONNECT li1 li1tt |
| CONNECT poly polytt |
| CONNECT pad padtt |
| CONNECT poly topCell_poly_pin polypt |
| CONNECT li1 topCell_li1_pin li1pt |
| CONNECT met1 topCell_met1_pin met1pt |
| CONNECT met2 topCell_met2_pin met2pt |
| CONNECT met3 topCell_met3_pin met3pt |
| CONNECT pad pad_pin padpt |
| CONNECT met3 met2 BY via2 |
| topCell_met4_pin = INSIDE CELL met4_pin "s8pir_10r_vcells_drc" PRIMARY ONLY |
| topCell_met5_pin = INSIDE CELL met5_pin "s8pir_10r_vcells_drc" PRIMARY ONLY |
| CONNECT met4 met3 BY via3 |
| CONNECT met4 met4tt |
| CONNECT met4 topCell_met4_pin met4pt |
| CONNECT met5 met4 BY via4 |
| CONNECT met5 met5tt |
| CONNECT met5 topCell_met5_pin met5pt |
| CONNECT pad met5 |
| floating_poly_net_tmp = NET AREA RATIO poly OVER pSRCDRN nSRCDRN PTAP NTAP topCell_li1_pin topCell_met1_pin topCell_met2_pin topCell_met3_pin pad_pin topCell_met4_pin topCell_met5_pin topCell_poly_pin GATE == 0 |
| floating_poly_net_no_xmt = floating_poly_net_tmp NOT x22_exempt |
| float_text_poly_extent = EXPAND TEXT "poly_float" BY (0.005 * 2) |
| tie_text_poly_extent = EXPAND TEXT "poly_tie" BY (0.005 * 2) |
| floating_poly_netTexted = (WITH TEXT floating_poly_net_tmp "poly_float" textlabel) NOT x22_exempt |
| tie_poly_netTexted = (WITH TEXT floating_poly_net_tmp "poly_tie" textlabel) NOT x22_exempt |
| floating_tie_poly_netTexted = floating_poly_netTexted AND tie_poly_netTexted |
| floating_poly_netBad = floating_poly_net_no_xmt NOT floating_poly_netTexted |
| floating_poly_net = floating_poly_netBad AND SEALnoHoles_ORIGIN |
| floating_poly_net_tie = floating_poly_net AND tie_poly_netTexted |
| floating_poly_net_notie = floating_poly_net NOT tie_poly_netTexted |
| floating_poly_netIPtmp = floating_poly_netBad NOT SEALnoHoles_ORIGIN |
| floating_poly_netIPtmp2 = floating_poly_netIPtmp NOT tie_poly_netTexted |
| floating_poly_netIPsc = floating_poly_netIPtmp2 INSIDE STDCID |
| floating_poly_netIP = floating_poly_netIPtmp2 NOT floating_poly_netIPsc |
| connected_poly_net_tmp = poly NOT floating_poly_net_tmp |
| bad_connected_poly_net_tmp = WITH TEXT connected_poly_net_tmp "poly_float" textlabel |
| bad_connected_poly_net = bad_connected_poly_net_tmp AND SEALnoHoles_ORIGIN |
| bad_connected_poly_netIP = bad_connected_poly_net_tmp NOT SEALnoHoles_ORIGIN |
| floating_tie_poly_netTexted_IP = floating_tie_poly_netTexted NOT SEALnoHoles_ORIGIN |
| floating_tie_poly_netTexted_chip = floating_tie_poly_netTexted AND SEALnoHoles_ORIGIN |
| allChipNotpolytmppoly_float = chip NOT "poly" |
| allChipNotpoly = allChipNotpolytmppoly_float AND SEALnoHoles_ORIGIN |
| allChipNotpolyIP = allChipNotpolytmppoly_float NOT SEALnoHoles_ORIGIN |
| extraneous_poly_floatText = allChipNotpoly AND (float_text_poly_extent OR tie_text_poly_extent) |
| extraneous_poly_floatTextIP = allChipNotpolyIP AND (float_text_poly_extent OR tie_text_poly_extent) |
| "s_9_X.22" { |
| @ X.22: Floating poly_float or poly_tie text not over poly |
| COPY extraneous_poly_floatText |
| } |
| "s_10_X.22" { |
| @ X.22: poly marked with poly_float not floating |
| COPY bad_connected_poly_net |
| } |
| "s_11_X.22" { |
| @ X.22: Nets on poly is floating |
| COPY floating_poly_net_notie |
| } |
| "s_12_X.22" { |
| @ X.22: Floating poly marked with poly_tie at chiplevel without connecting |
| COPY floating_poly_net_tie |
| } |
| "s_13_X.22" { |
| @ X.22: Metal on poly is texted as both tied and floating (Chip level) |
| COPY floating_tie_poly_netTexted_chip |
| } |
| "r_1179_X.22" { |
| @ X.22: Floating poly_float or poly_tie text not over poly |
| COPY extraneous_poly_floatTextIP |
| } |
| "r_1180_X.22" { |
| @ X.22: poly marked with poly_float not floating |
| COPY bad_connected_poly_netIP |
| } |
| "r_1181_X.22" { |
| @ X.22: Nets on poly is floating |
| COPY floating_poly_netIP |
| } |
| "r_1182_X.22" { |
| @ X.22: Metal on poly is texted as both tied and floating (IP Level) |
| COPY floating_tie_poly_netTexted_IP |
| } |
| floating_li1_net_tmp = NET AREA RATIO li1 OVER pSRCDRN nSRCDRN PTAP NTAP topCell_li1_pin topCell_met1_pin topCell_met2_pin topCell_met3_pin pad_pin topCell_met4_pin topCell_met5_pin topCell_poly_pin GATE == 0 |
| floating_li1_net_no_xmt = floating_li1_net_tmp NOT x22_exempt |
| float_text_li1_extent = EXPAND TEXT "li1_float" BY (0.005 * 2) |
| tie_text_li1_extent = EXPAND TEXT "li1_tie" BY (0.005 * 2) |
| floating_li1_netTexted = (WITH TEXT floating_li1_net_tmp "li1_float" textlabel) NOT x22_exempt |
| tie_li1_netTexted = (WITH TEXT floating_li1_net_tmp "li1_tie" textlabel) NOT x22_exempt |
| floating_tie_li1_netTexted = floating_li1_netTexted AND tie_li1_netTexted |
| floating_li1_netBad = floating_li1_net_no_xmt NOT floating_li1_netTexted |
| floating_li1_net = floating_li1_netBad AND SEALnoHoles_ORIGIN |
| floating_li1_net_tie = floating_li1_net AND tie_li1_netTexted |
| floating_li1_net_notie = floating_li1_net NOT tie_li1_netTexted |
| floating_li1_netIPtmp = floating_li1_netBad NOT SEALnoHoles_ORIGIN |
| floating_li1_netIPtmp2 = floating_li1_netIPtmp NOT tie_li1_netTexted |
| floating_li1_netIPsc = floating_li1_netIPtmp2 INSIDE STDCID |
| floating_li1_netIP = floating_li1_netIPtmp2 NOT floating_li1_netIPsc |
| connected_li1_net_tmp = li1 NOT floating_li1_net_tmp |
| bad_connected_li1_net_tmp = WITH TEXT connected_li1_net_tmp "li1_float" textlabel |
| bad_connected_li1_net = bad_connected_li1_net_tmp AND SEALnoHoles_ORIGIN |
| bad_connected_li1_netIP = bad_connected_li1_net_tmp NOT SEALnoHoles_ORIGIN |
| floating_tie_li1_netTexted_IP = floating_tie_li1_netTexted NOT SEALnoHoles_ORIGIN |
| floating_tie_li1_netTexted_chip = floating_tie_li1_netTexted AND SEALnoHoles_ORIGIN |
| allChipNotli1tmpli1_float = chip NOT "li1" |
| allChipNotli1 = allChipNotli1tmpli1_float AND SEALnoHoles_ORIGIN |
| allChipNotli1IP = allChipNotli1tmpli1_float NOT SEALnoHoles_ORIGIN |
| extraneous_li1_floatText = allChipNotli1 AND (float_text_li1_extent OR tie_text_li1_extent) |
| extraneous_li1_floatTextIP = allChipNotli1IP AND (float_text_li1_extent OR tie_text_li1_extent) |
| "s_14_X.22" { |
| @ X.22: Floating li1_float or li1_tie text not over li1 |
| COPY extraneous_li1_floatText |
| } |
| "s_15_X.22" { |
| @ X.22: li1 marked with li1_float not floating |
| COPY bad_connected_li1_net |
| } |
| "s_16_X.22" { |
| @ X.22: Nets on li1 is floating |
| COPY floating_li1_net_notie |
| } |
| "s_17_X.22" { |
| @ X.22: Floating li1 marked with li1_tie at chiplevel without connecting |
| COPY floating_li1_net_tie |
| } |
| "s_18_X.22" { |
| @ X.22: Metal on li1 is texted as both tied and floating (Chip level) |
| COPY floating_tie_li1_netTexted_chip |
| } |
| "r_1183_X.22" { |
| @ X.22: Floating li1_float or li1_tie text not over li1 |
| COPY extraneous_li1_floatTextIP |
| } |
| "r_1184_X.22" { |
| @ X.22: li1 marked with li1_float not floating |
| COPY bad_connected_li1_netIP |
| } |
| "r_1185_X.22" { |
| @ X.22: Nets on li1 is floating |
| COPY floating_li1_netIP |
| } |
| "r_1186_X.22" { |
| @ X.22: Metal on li1 is texted as both tied and floating (IP Level) |
| COPY floating_tie_li1_netTexted_IP |
| } |
| floating_met1_net_tmp = NET AREA RATIO met1 OVER pSRCDRN nSRCDRN PTAP NTAP topCell_li1_pin topCell_met1_pin topCell_met2_pin topCell_met3_pin pad_pin topCell_met4_pin topCell_met5_pin topCell_poly_pin GATE == 0 |
| floating_met1_net_no_xmt = floating_met1_net_tmp NOT x22_exempt |
| float_text_met1_extent = EXPAND TEXT "m1_float" BY (0.005 * 2) |
| tie_text_met1_extent = EXPAND TEXT "m1_tie" BY (0.005 * 2) |
| floating_met1_netTexted = (WITH TEXT floating_met1_net_tmp "m1_float" textlabel) NOT x22_exempt |
| tie_met1_netTexted = (WITH TEXT floating_met1_net_tmp "m1_tie" textlabel) NOT x22_exempt |
| floating_tie_met1_netTexted = floating_met1_netTexted AND tie_met1_netTexted |
| floating_met1_netBad = floating_met1_net_no_xmt NOT floating_met1_netTexted |
| floating_met1_net = floating_met1_netBad AND SEALnoHoles_ORIGIN |
| floating_met1_net_tie = floating_met1_net AND tie_met1_netTexted |
| floating_met1_net_notie = floating_met1_net NOT tie_met1_netTexted |
| floating_met1_netIPtmp = floating_met1_netBad NOT SEALnoHoles_ORIGIN |
| floating_met1_netIPtmp2 = floating_met1_netIPtmp NOT tie_met1_netTexted |
| floating_met1_netIPsc = floating_met1_netIPtmp2 INSIDE STDCID |
| floating_met1_netIP = floating_met1_netIPtmp2 NOT floating_met1_netIPsc |
| connected_met1_net_tmp = met1 NOT floating_met1_net_tmp |
| bad_connected_met1_net_tmp = WITH TEXT connected_met1_net_tmp "m1_float" textlabel |
| bad_connected_met1_net = bad_connected_met1_net_tmp AND SEALnoHoles_ORIGIN |
| bad_connected_met1_netIP = bad_connected_met1_net_tmp NOT SEALnoHoles_ORIGIN |
| floating_tie_met1_netTexted_IP = floating_tie_met1_netTexted NOT SEALnoHoles_ORIGIN |
| floating_tie_met1_netTexted_chip = floating_tie_met1_netTexted AND SEALnoHoles_ORIGIN |
| allChipNotmet1tmpm1_float = chip NOT "met1" |
| allChipNotmet1 = allChipNotmet1tmpm1_float AND SEALnoHoles_ORIGIN |
| allChipNotmet1IP = allChipNotmet1tmpm1_float NOT SEALnoHoles_ORIGIN |
| extraneous_m1_floatText = allChipNotmet1 AND (float_text_met1_extent OR tie_text_met1_extent) |
| extraneous_m1_floatTextIP = allChipNotmet1IP AND (float_text_met1_extent OR tie_text_met1_extent) |
| "s_19_X.22" { |
| @ X.22: Floating m1_float or m1_tie text not over met1 |
| COPY extraneous_m1_floatText |
| } |
| "s_20_X.22" { |
| @ X.22: met1 marked with m1_float not floating |
| COPY bad_connected_met1_net |
| } |
| "s_21_X.22" { |
| @ X.22: Nets on met1 is floating |
| COPY floating_met1_net_notie |
| } |
| "s_22_X.22" { |
| @ X.22: Floating met1 marked with m1_tie at chiplevel without connecting |
| COPY floating_met1_net_tie |
| } |
| "s_23_X.22" { |
| @ X.22: Metal on met1 is texted as both tied and floating (Chip level) |
| COPY floating_tie_met1_netTexted_chip |
| } |
| "r_1187_X.22" { |
| @ X.22: Floating m1_float or m1_tie text not over met1 |
| COPY extraneous_m1_floatTextIP |
| } |
| "r_1188_X.22" { |
| @ X.22: met1 marked with m1_float not floating |
| COPY bad_connected_met1_netIP |
| } |
| "r_1189_X.22" { |
| @ X.22: Nets on met1 is floating |
| COPY floating_met1_netIP |
| } |
| "r_1190_X.22" { |
| @ X.22: Metal on met1 is texted as both tied and floating (IP Level) |
| COPY floating_tie_met1_netTexted_IP |
| } |
| floating_met2_net_tmp = NET AREA RATIO met2 OVER pSRCDRN nSRCDRN PTAP NTAP topCell_li1_pin topCell_met1_pin topCell_met2_pin topCell_met3_pin pad_pin topCell_met4_pin topCell_met5_pin topCell_poly_pin GATE == 0 |
| floating_met2_net_no_xmt = floating_met2_net_tmp NOT x22_exempt |
| float_text_met2_extent = EXPAND TEXT "m2_float" BY (0.005 * 2) |
| tie_text_met2_extent = EXPAND TEXT "m2_tie" BY (0.005 * 2) |
| floating_met2_netTexted = (WITH TEXT floating_met2_net_tmp "m2_float" textlabel) NOT x22_exempt |
| tie_met2_netTexted = (WITH TEXT floating_met2_net_tmp "m2_tie" textlabel) NOT x22_exempt |
| floating_tie_met2_netTexted = floating_met2_netTexted AND tie_met2_netTexted |
| floating_met2_netBad = floating_met2_net_no_xmt NOT floating_met2_netTexted |
| floating_met2_net = floating_met2_netBad AND SEALnoHoles_ORIGIN |
| floating_met2_net_tie = floating_met2_net AND tie_met2_netTexted |
| floating_met2_net_notie = floating_met2_net NOT tie_met2_netTexted |
| floating_met2_netIPtmp = floating_met2_netBad NOT SEALnoHoles_ORIGIN |
| floating_met2_netIPtmp2 = floating_met2_netIPtmp NOT tie_met2_netTexted |
| floating_met2_netIPsc = floating_met2_netIPtmp2 INSIDE STDCID |
| floating_met2_netIP = floating_met2_netIPtmp2 NOT floating_met2_netIPsc |
| connected_met2_net_tmp = met2 NOT floating_met2_net_tmp |
| bad_connected_met2_net_tmp = WITH TEXT connected_met2_net_tmp "m2_float" textlabel |
| bad_connected_met2_net = bad_connected_met2_net_tmp AND SEALnoHoles_ORIGIN |
| bad_connected_met2_netIP = bad_connected_met2_net_tmp NOT SEALnoHoles_ORIGIN |
| floating_tie_met2_netTexted_IP = floating_tie_met2_netTexted NOT SEALnoHoles_ORIGIN |
| floating_tie_met2_netTexted_chip = floating_tie_met2_netTexted AND SEALnoHoles_ORIGIN |
| allChipNotmet2tmpm2_float = chip NOT "met2" |
| allChipNotmet2 = allChipNotmet2tmpm2_float AND SEALnoHoles_ORIGIN |
| allChipNotmet2IP = allChipNotmet2tmpm2_float NOT SEALnoHoles_ORIGIN |
| extraneous_m2_floatText = allChipNotmet2 AND (float_text_met2_extent OR tie_text_met2_extent) |
| extraneous_m2_floatTextIP = allChipNotmet2IP AND (float_text_met2_extent OR tie_text_met2_extent) |
| "s_24_X.22" { |
| @ X.22: Floating m2_float or m2_tie text not over met2 |
| COPY extraneous_m2_floatText |
| } |
| "s_25_X.22" { |
| @ X.22: met2 marked with m2_float not floating |
| COPY bad_connected_met2_net |
| } |
| "s_26_X.22" { |
| @ X.22: Nets on met2 is floating |
| COPY floating_met2_net_notie |
| } |
| "s_27_X.22" { |
| @ X.22: Floating met2 marked with m2_tie at chiplevel without connecting |
| COPY floating_met2_net_tie |
| } |
| "s_28_X.22" { |
| @ X.22: Metal on met2 is texted as both tied and floating (Chip level) |
| COPY floating_tie_met2_netTexted_chip |
| } |
| "r_1191_X.22" { |
| @ X.22: Floating m2_float or m2_tie text not over met2 |
| COPY extraneous_m2_floatTextIP |
| } |
| "r_1192_X.22" { |
| @ X.22: met2 marked with m2_float not floating |
| COPY bad_connected_met2_netIP |
| } |
| "r_1193_X.22" { |
| @ X.22: Nets on met2 is floating |
| COPY floating_met2_netIP |
| } |
| "r_1194_X.22" { |
| @ X.22: Metal on met2 is texted as both tied and floating (IP Level) |
| COPY floating_tie_met2_netTexted_IP |
| } |
| floating_met3_net_tmp = NET AREA RATIO met3 OVER pSRCDRN nSRCDRN PTAP NTAP topCell_li1_pin topCell_met1_pin topCell_met2_pin topCell_met3_pin pad_pin topCell_met4_pin topCell_met5_pin topCell_poly_pin GATE == 0 |
| floating_met3_net_no_xmt = floating_met3_net_tmp NOT x22_exempt |
| float_text_met3_extent = EXPAND TEXT "m3_float" BY (0.005 * 2) |
| tie_text_met3_extent = EXPAND TEXT "m3_tie" BY (0.005 * 2) |
| floating_met3_netTexted = (WITH TEXT floating_met3_net_tmp "m3_float" textlabel) NOT x22_exempt |
| tie_met3_netTexted = (WITH TEXT floating_met3_net_tmp "m3_tie" textlabel) NOT x22_exempt |
| floating_tie_met3_netTexted = floating_met3_netTexted AND tie_met3_netTexted |
| floating_met3_netBad = floating_met3_net_no_xmt NOT floating_met3_netTexted |
| floating_met3_net = floating_met3_netBad AND SEALnoHoles_ORIGIN |
| floating_met3_net_tie = floating_met3_net AND tie_met3_netTexted |
| floating_met3_net_notie = floating_met3_net NOT tie_met3_netTexted |
| floating_met3_netIPtmp = floating_met3_netBad NOT SEALnoHoles_ORIGIN |
| floating_met3_netIPtmp2 = floating_met3_netIPtmp NOT tie_met3_netTexted |
| floating_met3_netIPsc = floating_met3_netIPtmp2 INSIDE STDCID |
| floating_met3_netIP = floating_met3_netIPtmp2 NOT floating_met3_netIPsc |
| connected_met3_net_tmp = met3 NOT floating_met3_net_tmp |
| bad_connected_met3_net_tmp = WITH TEXT connected_met3_net_tmp "m3_float" textlabel |
| bad_connected_met3_net = bad_connected_met3_net_tmp AND SEALnoHoles_ORIGIN |
| bad_connected_met3_netIP = bad_connected_met3_net_tmp NOT SEALnoHoles_ORIGIN |
| floating_tie_met3_netTexted_IP = floating_tie_met3_netTexted NOT SEALnoHoles_ORIGIN |
| floating_tie_met3_netTexted_chip = floating_tie_met3_netTexted AND SEALnoHoles_ORIGIN |
| allChipNotmet3tmpm3_float = chip NOT "met3" |
| allChipNotmet3 = allChipNotmet3tmpm3_float AND SEALnoHoles_ORIGIN |
| allChipNotmet3IP = allChipNotmet3tmpm3_float NOT SEALnoHoles_ORIGIN |
| extraneous_m3_floatText = allChipNotmet3 AND (float_text_met3_extent OR tie_text_met3_extent) |
| extraneous_m3_floatTextIP = allChipNotmet3IP AND (float_text_met3_extent OR tie_text_met3_extent) |
| "s_29_X.22" { |
| @ X.22: Floating m3_float or m3_tie text not over met3 |
| COPY extraneous_m3_floatText |
| } |
| "s_30_X.22" { |
| @ X.22: met3 marked with m3_float not floating |
| COPY bad_connected_met3_net |
| } |
| "s_31_X.22" { |
| @ X.22: Nets on met3 is floating |
| COPY floating_met3_net_notie |
| } |
| "s_32_X.22" { |
| @ X.22: Floating met3 marked with m3_tie at chiplevel without connecting |
| COPY floating_met3_net_tie |
| } |
| "s_33_X.22" { |
| @ X.22: Metal on met3 is texted as both tied and floating (Chip level) |
| COPY floating_tie_met3_netTexted_chip |
| } |
| "r_1195_X.22" { |
| @ X.22: Floating m3_float or m3_tie text not over met3 |
| COPY extraneous_m3_floatTextIP |
| } |
| "r_1196_X.22" { |
| @ X.22: met3 marked with m3_float not floating |
| COPY bad_connected_met3_netIP |
| } |
| "r_1197_X.22" { |
| @ X.22: Nets on met3 is floating |
| COPY floating_met3_netIP |
| } |
| "r_1198_X.22" { |
| @ X.22: Metal on met3 is texted as both tied and floating (IP Level) |
| COPY floating_tie_met3_netTexted_IP |
| } |
| floating_met4_net_tmp = NET AREA RATIO met4 OVER pSRCDRN nSRCDRN PTAP NTAP topCell_li1_pin topCell_met1_pin topCell_met2_pin topCell_met3_pin pad_pin topCell_met4_pin topCell_met5_pin topCell_poly_pin GATE == 0 |
| floating_met4_net_no_xmt = floating_met4_net_tmp NOT x22_exempt |
| float_text_met4_extent = EXPAND TEXT "m4_float" BY (0.005 * 2) |
| tie_text_met4_extent = EXPAND TEXT "m4_tie" BY (0.005 * 2) |
| floating_met4_netTexted = (WITH TEXT floating_met4_net_tmp "m4_float" textlabel) NOT x22_exempt |
| tie_met4_netTexted = (WITH TEXT floating_met4_net_tmp "m4_tie" textlabel) NOT x22_exempt |
| floating_tie_met4_netTexted = floating_met4_netTexted AND tie_met4_netTexted |
| floating_met4_netBad = floating_met4_net_no_xmt NOT floating_met4_netTexted |
| floating_met4_net = floating_met4_netBad AND SEALnoHoles_ORIGIN |
| floating_met4_net_tie = floating_met4_net AND tie_met4_netTexted |
| floating_met4_net_notie = floating_met4_net NOT tie_met4_netTexted |
| floating_met4_netIPtmp = floating_met4_netBad NOT SEALnoHoles_ORIGIN |
| floating_met4_netIPtmp2 = floating_met4_netIPtmp NOT tie_met4_netTexted |
| floating_met4_netIPsc = floating_met4_netIPtmp2 INSIDE STDCID |
| floating_met4_netIP = floating_met4_netIPtmp2 NOT floating_met4_netIPsc |
| connected_met4_net_tmp = met4 NOT floating_met4_net_tmp |
| bad_connected_met4_net_tmp = WITH TEXT connected_met4_net_tmp "m4_float" textlabel |
| bad_connected_met4_net = bad_connected_met4_net_tmp AND SEALnoHoles_ORIGIN |
| bad_connected_met4_netIP = bad_connected_met4_net_tmp NOT SEALnoHoles_ORIGIN |
| floating_tie_met4_netTexted_IP = floating_tie_met4_netTexted NOT SEALnoHoles_ORIGIN |
| floating_tie_met4_netTexted_chip = floating_tie_met4_netTexted AND SEALnoHoles_ORIGIN |
| allChipNotmet4tmpm4_float = chip NOT "met4" |
| allChipNotmet4 = allChipNotmet4tmpm4_float AND SEALnoHoles_ORIGIN |
| allChipNotmet4IP = allChipNotmet4tmpm4_float NOT SEALnoHoles_ORIGIN |
| extraneous_m4_floatText = allChipNotmet4 AND (float_text_met4_extent OR tie_text_met4_extent) |
| extraneous_m4_floatTextIP = allChipNotmet4IP AND (float_text_met4_extent OR tie_text_met4_extent) |
| "s_34_X.22" { |
| @ X.22: Floating m4_float or m4_tie text not over met4 |
| COPY extraneous_m4_floatText |
| } |
| "s_35_X.22" { |
| @ X.22: met4 marked with m4_float not floating |
| COPY bad_connected_met4_net |
| } |
| "s_36_X.22" { |
| @ X.22: Nets on met4 is floating |
| COPY floating_met4_net_notie |
| } |
| "s_37_X.22" { |
| @ X.22: Floating met4 marked with m4_tie at chiplevel without connecting |
| COPY floating_met4_net_tie |
| } |
| "s_38_X.22" { |
| @ X.22: Metal on met4 is texted as both tied and floating (Chip level) |
| COPY floating_tie_met4_netTexted_chip |
| } |
| "r_1199_X.22" { |
| @ X.22: Floating m4_float or m4_tie text not over met4 |
| COPY extraneous_m4_floatTextIP |
| } |
| "r_1200_X.22" { |
| @ X.22: met4 marked with m4_float not floating |
| COPY bad_connected_met4_netIP |
| } |
| "r_1201_X.22" { |
| @ X.22: Nets on met4 is floating |
| COPY floating_met4_netIP |
| } |
| "r_1202_X.22" { |
| @ X.22: Metal on met4 is texted as both tied and floating (IP Level) |
| COPY floating_tie_met4_netTexted_IP |
| } |
| floating_met5_net_tmp = NET AREA RATIO met5 OVER pSRCDRN nSRCDRN PTAP NTAP topCell_li1_pin topCell_met1_pin topCell_met2_pin topCell_met3_pin pad_pin topCell_met4_pin topCell_met5_pin topCell_poly_pin GATE == 0 |
| floating_met5_net_no_xmt = floating_met5_net_tmp NOT x22_exempt |
| float_text_met5_extent = EXPAND TEXT "m5_float" BY (0.005 * 2) |
| tie_text_met5_extent = EXPAND TEXT "m5_tie" BY (0.005 * 2) |
| floating_met5_netTexted = (WITH TEXT floating_met5_net_tmp "m5_float" textlabel) NOT x22_exempt |
| tie_met5_netTexted = (WITH TEXT floating_met5_net_tmp "m5_tie" textlabel) NOT x22_exempt |
| floating_tie_met5_netTexted = floating_met5_netTexted AND tie_met5_netTexted |
| floating_met5_netBad = floating_met5_net_no_xmt NOT floating_met5_netTexted |
| floating_met5_net = floating_met5_netBad AND SEALnoHoles_ORIGIN |
| floating_met5_net_tie = floating_met5_net AND tie_met5_netTexted |
| floating_met5_net_notie = floating_met5_net NOT tie_met5_netTexted |
| floating_met5_netIPtmp = floating_met5_netBad NOT SEALnoHoles_ORIGIN |
| floating_met5_netIPtmp2 = floating_met5_netIPtmp NOT tie_met5_netTexted |
| floating_met5_netIPsc = floating_met5_netIPtmp2 INSIDE STDCID |
| floating_met5_netIP = floating_met5_netIPtmp2 NOT floating_met5_netIPsc |
| connected_met5_net_tmp = met5 NOT floating_met5_net_tmp |
| bad_connected_met5_net_tmp = WITH TEXT connected_met5_net_tmp "m5_float" textlabel |
| bad_connected_met5_net = bad_connected_met5_net_tmp AND SEALnoHoles_ORIGIN |
| bad_connected_met5_netIP = bad_connected_met5_net_tmp NOT SEALnoHoles_ORIGIN |
| floating_tie_met5_netTexted_IP = floating_tie_met5_netTexted NOT SEALnoHoles_ORIGIN |
| floating_tie_met5_netTexted_chip = floating_tie_met5_netTexted AND SEALnoHoles_ORIGIN |
| allChipNotmet5tmpm5_float = chip NOT "met5" |
| allChipNotmet5 = allChipNotmet5tmpm5_float AND SEALnoHoles_ORIGIN |
| allChipNotmet5IP = allChipNotmet5tmpm5_float NOT SEALnoHoles_ORIGIN |
| extraneous_m5_floatText = allChipNotmet5 AND (float_text_met5_extent OR tie_text_met5_extent) |
| extraneous_m5_floatTextIP = allChipNotmet5IP AND (float_text_met5_extent OR tie_text_met5_extent) |
| "s_39_X.22" { |
| @ X.22: Floating m5_float or m5_tie text not over met5 |
| COPY extraneous_m5_floatText |
| } |
| "s_40_X.22" { |
| @ X.22: met5 marked with m5_float not floating |
| COPY bad_connected_met5_net |
| } |
| "s_41_X.22" { |
| @ X.22: Nets on met5 is floating |
| COPY floating_met5_net_notie |
| } |
| "s_42_X.22" { |
| @ X.22: Floating met5 marked with m5_tie at chiplevel without connecting |
| COPY floating_met5_net_tie |
| } |
| "s_43_X.22" { |
| @ X.22: Metal on met5 is texted as both tied and floating (Chip level) |
| COPY floating_tie_met5_netTexted_chip |
| } |
| "r_1203_X.22" { |
| @ X.22: Floating m5_float or m5_tie text not over met5 |
| COPY extraneous_m5_floatTextIP |
| } |
| "r_1204_X.22" { |
| @ X.22: met5 marked with m5_float not floating |
| COPY bad_connected_met5_netIP |
| } |
| "r_1205_X.22" { |
| @ X.22: Nets on met5 is floating |
| COPY floating_met5_netIP |
| } |
| "r_1206_X.22" { |
| @ X.22: Metal on met5 is texted as both tied and floating (IP Level) |
| COPY floating_tie_met5_netTexted_IP |
| } |
| isoPwellCondiode = dnwell NOT nwell |
| condiode = EXPAND TEXT condiode textdraw BY 0.001 |
| badCondiode = SIZE (condiode NOT isoPwellCondiode) BY 0.005 |
| "r_1207_X.24" { |
| @ X.24: condiode label must be in isolated pwell |
| COPY badCondiode |
| } |
| floatM1Shield = met1Shield AND floating_met1_net |
| met1ShieldConMet = met1 AND met1Shield |
| met1ShieldConPad = met1Shield AND (NET AREA RATIO met1ShieldConMet pad_pin > 0) |
| "r_1208_pad.20" { |
| @ pad.20: met1 shielding pad, must not float |
| COPY floatM1Shield |
| } |
| "r_1209_pad.20" { |
| @ pad.20: met1 shielding pad, must not connected to pad |
| COPY met1ShieldConPad |
| } |
| chipAreaBigEnough = AREA chip > 40000.0 |
| entireChipForDensity = INTERACT chip sealHoles |
| MM1outOxide_drc = SIZE met1 BY 0.6 |
| waffle1DropDensity70 = DENSITY cmm1WaffleDrop == 1.0 WINDOW 700 STEP 70 |
| mm1DensityUnder70 = DENSITY MM1outOxide_drc < 0.7 WINDOW 700 STEP 70 INSIDE of LAYER waffle1DropDensity70 RDB mm1_70_window_700_err.rdb |
| mm1DensityUnder70Chip = INTERACT mm1DensityUnder70 entireChipForDensity |
| mm1DensityUnder70tmp = mm1DensityUnder70 NOT mm1DensityUnder70Chip |
| mm1DensityUnder70IP = mm1DensityUnder70tmp AND chipAreaBigEnough |
| "r_1210_m1.x.1" { |
| @ m1.x.1: <70% metal density when 700x700 window 100% covered by mm1.waffledrop |
| COPY mm1DensityUnder70IP |
| } |
| "s_44_m1.x.1" { |
| @ m1.x.1: <70% metal density when 700x700 window 100% covered by mm1.waffledrop |
| COPY mm1DensityUnder70Chip |
| } |
| waffle1DropDensity65 = DENSITY cmm1WaffleDrop > 0.8 <= 1.0 WINDOW 700 STEP 70 |
| mm1DensityUnder65 = DENSITY MM1outOxide_drc < 0.65 WINDOW 700 STEP 70 INSIDE of LAYER waffle1DropDensity65 RDB mm1_65_window_700_err.rdb |
| mm1DensityUnder65Chip = INTERACT mm1DensityUnder65 entireChipForDensity |
| mm1DensityUnder65tmp = mm1DensityUnder65 NOT mm1DensityUnder65Chip |
| mm1DensityUnder65IP = mm1DensityUnder65tmp AND chipAreaBigEnough |
| "r_1211_m1.x.1" { |
| @ m1.x.1: <65% metal density when 700x700 window 80-100% covered by mm1.waffledrop |
| COPY mm1DensityUnder65IP |
| } |
| "s_45_m1.x.1" { |
| @ m1.x.1: <65% metal density when 700x700 window 80-100% covered by mm1.waffledrop |
| COPY mm1DensityUnder65Chip |
| } |
| waffle1DropDensity60 = DENSITY cmm1WaffleDrop > 0.6 <= 0.8 WINDOW 700 STEP 70 |
| mm1DensityUnder60 = DENSITY MM1outOxide_drc < 0.6 WINDOW 700 STEP 70 INSIDE of LAYER waffle1DropDensity60 RDB mm1_60_window_700_err.rdb |
| mm1DensityUnder60Chip = INTERACT mm1DensityUnder60 entireChipForDensity |
| mm1DensityUnder60tmp = mm1DensityUnder60 NOT mm1DensityUnder60Chip |
| mm1DensityUnder60IP = mm1DensityUnder60tmp AND chipAreaBigEnough |
| "r_1212_m1.x.1" { |
| @ m1.x.1: <60% metal density when 700x700 window 60-80% covered by mm1.waffledrop |
| COPY mm1DensityUnder60IP |
| } |
| "s_46_m1.x.1" { |
| @ m1.x.1: <60% metal density when 700x700 window 60-80% covered by mm1.waffledrop |
| COPY mm1DensityUnder60Chip |
| } |
| waffle1DropDensity50 = DENSITY cmm1WaffleDrop > 0.5 <= 0.6 WINDOW 700 STEP 70 |
| mm1DensityUnder50 = DENSITY MM1outOxide_drc < 0.5 WINDOW 700 STEP 70 INSIDE of LAYER waffle1DropDensity50 RDB mm1_50_window_700_err.rdb |
| mm1DensityUnder50Chip = INTERACT mm1DensityUnder50 entireChipForDensity |
| mm1DensityUnder50tmp = mm1DensityUnder50 NOT mm1DensityUnder50Chip |
| mm1DensityUnder50IP = mm1DensityUnder50tmp AND chipAreaBigEnough |
| "r_1213_m1.x.1" { |
| @ m1.x.1: <50% metal density when 700x700 window 50-60% covered by mm1.waffledrop |
| COPY mm1DensityUnder50IP |
| } |
| "s_47_m1.x.1" { |
| @ m1.x.1: <50% metal density when 700x700 window 50-60% covered by mm1.waffledrop |
| COPY mm1DensityUnder50Chip |
| } |
| waffle1DropDensity40 = DENSITY cmm1WaffleDrop > 0.4 <= 0.5 WINDOW 700 STEP 70 |
| mm1DensityUnder40 = DENSITY MM1outOxide_drc < 0.4 WINDOW 700 STEP 70 INSIDE of LAYER waffle1DropDensity40 RDB mm1_40_window_700_err.rdb |
| mm1DensityUnder40Chip = INTERACT mm1DensityUnder40 entireChipForDensity |
| mm1DensityUnder40tmp = mm1DensityUnder40 NOT mm1DensityUnder40Chip |
| mm1DensityUnder40IP = mm1DensityUnder40tmp AND chipAreaBigEnough |
| "r_1214_m1.x.1" { |
| @ m1.x.1: <40% metal density when 700x700 window 40-50% covered by mm1.waffledrop |
| COPY mm1DensityUnder40IP |
| } |
| "s_48_m1.x.1" { |
| @ m1.x.1: <40% metal density when 700x700 window 40-50% covered by mm1.waffledrop |
| COPY mm1DensityUnder40Chip |
| } |
| waffle1DropDensity30 = DENSITY cmm1WaffleDrop > 0.3 <= 0.4 WINDOW 700 STEP 70 |
| mm1DensityUnder30 = DENSITY MM1outOxide_drc < 0.3 WINDOW 700 STEP 70 INSIDE of LAYER waffle1DropDensity30 RDB mm1_30_window_700_err.rdb |
| mm1DensityUnder30Chip = INTERACT mm1DensityUnder30 entireChipForDensity |
| mm1DensityUnder30tmp = mm1DensityUnder30 NOT mm1DensityUnder30Chip |
| mm1DensityUnder30IP = mm1DensityUnder30tmp AND chipAreaBigEnough |
| "r_1215_m1.x.1" { |
| @ m1.x.1: <30% metal density when 700x700 window 30-40% covered by mm1.waffledrop |
| COPY mm1DensityUnder30IP |
| } |
| "s_49_m1.x.1" { |
| @ m1.x.1: <30% metal density when 700x700 window 30-40% covered by mm1.waffledrop |
| COPY mm1DensityUnder30Chip |
| } |
| MM2outOxide_drc = SIZE met2 BY 0.6 |
| waffle2DropDensity70 = DENSITY cmm2WaffleDrop == 1.0 WINDOW 700 STEP 70 |
| mm2DensityUnder70 = DENSITY MM2outOxide_drc < 0.7 WINDOW 700 STEP 70 INSIDE of LAYER waffle2DropDensity70 RDB mm2_70_window_700_err.rdb |
| mm2DensityUnder70Chip = INTERACT mm2DensityUnder70 entireChipForDensity |
| mm2DensityUnder70tmp = mm2DensityUnder70 NOT mm2DensityUnder70Chip |
| mm2DensityUnder70IP = mm2DensityUnder70tmp AND chipAreaBigEnough |
| "r_1216_m2.x.1" { |
| @ m2.x.1: <70% metal density when 700x700 window 100% covered by mm2.waffledrop |
| COPY mm2DensityUnder70IP |
| } |
| "s_50_m2.x.1" { |
| @ m2.x.1: <70% metal density when 700x700 window 100% covered by mm2.waffledrop |
| COPY mm2DensityUnder70Chip |
| } |
| waffle2DropDensity65 = DENSITY cmm2WaffleDrop > 0.8 <= 1.0 WINDOW 700 STEP 70 |
| mm2DensityUnder65 = DENSITY MM2outOxide_drc < 0.65 WINDOW 700 STEP 70 INSIDE of LAYER waffle2DropDensity65 RDB mm2_65_window_700_err.rdb |
| mm2DensityUnder65Chip = INTERACT mm2DensityUnder65 entireChipForDensity |
| mm2DensityUnder65tmp = mm2DensityUnder65 NOT mm2DensityUnder65Chip |
| mm2DensityUnder65IP = mm2DensityUnder65tmp AND chipAreaBigEnough |
| "r_1217_m2.x.1" { |
| @ m2.x.1: <65% metal density when 700x700 window 80-100% covered by mm2.waffledrop |
| COPY mm2DensityUnder65IP |
| } |
| "s_51_m2.x.1" { |
| @ m2.x.1: <65% metal density when 700x700 window 80-100% covered by mm2.waffledrop |
| COPY mm2DensityUnder65Chip |
| } |
| waffle2DropDensity60 = DENSITY cmm2WaffleDrop > 0.6 <= 0.8 WINDOW 700 STEP 70 |
| mm2DensityUnder60 = DENSITY MM2outOxide_drc < 0.6 WINDOW 700 STEP 70 INSIDE of LAYER waffle2DropDensity60 RDB mm2_60_window_700_err.rdb |
| mm2DensityUnder60Chip = INTERACT mm2DensityUnder60 entireChipForDensity |
| mm2DensityUnder60tmp = mm2DensityUnder60 NOT mm2DensityUnder60Chip |
| mm2DensityUnder60IP = mm2DensityUnder60tmp AND chipAreaBigEnough |
| "r_1218_m2.x.1" { |
| @ m2.x.1: <60% metal density when 700x700 window 60-80% covered by mm2.waffledrop |
| COPY mm2DensityUnder60IP |
| } |
| "s_52_m2.x.1" { |
| @ m2.x.1: <60% metal density when 700x700 window 60-80% covered by mm2.waffledrop |
| COPY mm2DensityUnder60Chip |
| } |
| waffle2DropDensity50 = DENSITY cmm2WaffleDrop > 0.5 <= 0.6 WINDOW 700 STEP 70 |
| mm2DensityUnder50 = DENSITY MM2outOxide_drc < 0.5 WINDOW 700 STEP 70 INSIDE of LAYER waffle2DropDensity50 RDB mm2_50_window_700_err.rdb |
| mm2DensityUnder50Chip = INTERACT mm2DensityUnder50 entireChipForDensity |
| mm2DensityUnder50tmp = mm2DensityUnder50 NOT mm2DensityUnder50Chip |
| mm2DensityUnder50IP = mm2DensityUnder50tmp AND chipAreaBigEnough |
| "r_1219_m2.x.1" { |
| @ m2.x.1: <50% metal density when 700x700 window 50-60% covered by mm2.waffledrop |
| COPY mm2DensityUnder50IP |
| } |
| "s_53_m2.x.1" { |
| @ m2.x.1: <50% metal density when 700x700 window 50-60% covered by mm2.waffledrop |
| COPY mm2DensityUnder50Chip |
| } |
| waffle2DropDensity40 = DENSITY cmm2WaffleDrop > 0.4 <= 0.5 WINDOW 700 STEP 70 |
| mm2DensityUnder40 = DENSITY MM2outOxide_drc < 0.4 WINDOW 700 STEP 70 INSIDE of LAYER waffle2DropDensity40 RDB mm2_40_window_700_err.rdb |
| mm2DensityUnder40Chip = INTERACT mm2DensityUnder40 entireChipForDensity |
| mm2DensityUnder40tmp = mm2DensityUnder40 NOT mm2DensityUnder40Chip |
| mm2DensityUnder40IP = mm2DensityUnder40tmp AND chipAreaBigEnough |
| "r_1220_m2.x.1" { |
| @ m2.x.1: <40% metal density when 700x700 window 40-50% covered by mm2.waffledrop |
| COPY mm2DensityUnder40IP |
| } |
| "s_54_m2.x.1" { |
| @ m2.x.1: <40% metal density when 700x700 window 40-50% covered by mm2.waffledrop |
| COPY mm2DensityUnder40Chip |
| } |
| waffle2DropDensity30 = DENSITY cmm2WaffleDrop > 0.3 <= 0.4 WINDOW 700 STEP 70 |
| mm2DensityUnder30 = DENSITY MM2outOxide_drc < 0.3 WINDOW 700 STEP 70 INSIDE of LAYER waffle2DropDensity30 RDB mm2_30_window_700_err.rdb |
| mm2DensityUnder30Chip = INTERACT mm2DensityUnder30 entireChipForDensity |
| mm2DensityUnder30tmp = mm2DensityUnder30 NOT mm2DensityUnder30Chip |
| mm2DensityUnder30IP = mm2DensityUnder30tmp AND chipAreaBigEnough |
| "r_1221_m2.x.1" { |
| @ m2.x.1: <30% metal density when 700x700 window 30-40% covered by mm2.waffledrop |
| COPY mm2DensityUnder30IP |
| } |
| "s_55_m2.x.1" { |
| @ m2.x.1: <30% metal density when 700x700 window 30-40% covered by mm2.waffledrop |
| COPY mm2DensityUnder30Chip |
| } |
| MM3outOxide_drc = SIZE met3 BY 1.15 |
| waffle3DropDensity70 = DENSITY cmm3WaffleDrop == 1.0 WINDOW 700 STEP 70 |
| mm3DensityUnder70 = DENSITY MM3outOxide_drc < 0.7 WINDOW 700 STEP 70 INSIDE of LAYER waffle3DropDensity70 RDB mm3_70_window_700_err.rdb |
| mm3DensityUnder70Chip = INTERACT mm3DensityUnder70 entireChipForDensity |
| mm3DensityUnder70tmp = mm3DensityUnder70 NOT mm3DensityUnder70Chip |
| mm3DensityUnder70IP = mm3DensityUnder70tmp AND chipAreaBigEnough |
| "r_1222_m3.x.1" { |
| @ m3.x.1: <70% metal density when 700x700 window 100% covered by mm3.waffledrop |
| COPY mm3DensityUnder70IP |
| } |
| "s_56_m3.x.1" { |
| @ m3.x.1: <70% metal density when 700x700 window 100% covered by mm3.waffledrop |
| COPY mm3DensityUnder70Chip |
| } |
| waffle3DropDensity65 = DENSITY cmm3WaffleDrop > 0.8 <= 1.0 WINDOW 700 STEP 70 |
| mm3DensityUnder65 = DENSITY MM3outOxide_drc < 0.65 WINDOW 700 STEP 70 INSIDE of LAYER waffle3DropDensity65 RDB mm3_65_window_700_err.rdb |
| mm3DensityUnder65Chip = INTERACT mm3DensityUnder65 entireChipForDensity |
| mm3DensityUnder65tmp = mm3DensityUnder65 NOT mm3DensityUnder65Chip |
| mm3DensityUnder65IP = mm3DensityUnder65tmp AND chipAreaBigEnough |
| "r_1223_m3.x.1" { |
| @ m3.x.1: <65% metal density when 700x700 window 80-100% covered by mm3.waffledrop |
| COPY mm3DensityUnder65IP |
| } |
| "s_57_m3.x.1" { |
| @ m3.x.1: <65% metal density when 700x700 window 80-100% covered by mm3.waffledrop |
| COPY mm3DensityUnder65Chip |
| } |
| waffle3DropDensity60 = DENSITY cmm3WaffleDrop > 0.6 <= 0.8 WINDOW 700 STEP 70 |
| mm3DensityUnder60 = DENSITY MM3outOxide_drc < 0.6 WINDOW 700 STEP 70 INSIDE of LAYER waffle3DropDensity60 RDB mm3_60_window_700_err.rdb |
| mm3DensityUnder60Chip = INTERACT mm3DensityUnder60 entireChipForDensity |
| mm3DensityUnder60tmp = mm3DensityUnder60 NOT mm3DensityUnder60Chip |
| mm3DensityUnder60IP = mm3DensityUnder60tmp AND chipAreaBigEnough |
| "r_1224_m3.x.1" { |
| @ m3.x.1: <60% metal density when 700x700 window 60-80% covered by mm3.waffledrop |
| COPY mm3DensityUnder60IP |
| } |
| "s_58_m3.x.1" { |
| @ m3.x.1: <60% metal density when 700x700 window 60-80% covered by mm3.waffledrop |
| COPY mm3DensityUnder60Chip |
| } |
| waffle3DropDensity50 = DENSITY cmm3WaffleDrop > 0.5 <= 0.6 WINDOW 700 STEP 70 |
| mm3DensityUnder50 = DENSITY MM3outOxide_drc < 0.5 WINDOW 700 STEP 70 INSIDE of LAYER waffle3DropDensity50 RDB mm3_50_window_700_err.rdb |
| mm3DensityUnder50Chip = INTERACT mm3DensityUnder50 entireChipForDensity |
| mm3DensityUnder50tmp = mm3DensityUnder50 NOT mm3DensityUnder50Chip |
| mm3DensityUnder50IP = mm3DensityUnder50tmp AND chipAreaBigEnough |
| "r_1225_m3.x.1" { |
| @ m3.x.1: <50% metal density when 700x700 window 50-60% covered by mm3.waffledrop |
| COPY mm3DensityUnder50IP |
| } |
| "s_59_m3.x.1" { |
| @ m3.x.1: <50% metal density when 700x700 window 50-60% covered by mm3.waffledrop |
| COPY mm3DensityUnder50Chip |
| } |
| waffle3DropDensity40 = DENSITY cmm3WaffleDrop > 0.4 <= 0.5 WINDOW 700 STEP 70 |
| mm3DensityUnder40 = DENSITY MM3outOxide_drc < 0.4 WINDOW 700 STEP 70 INSIDE of LAYER waffle3DropDensity40 RDB mm3_40_window_700_err.rdb |
| mm3DensityUnder40Chip = INTERACT mm3DensityUnder40 entireChipForDensity |
| mm3DensityUnder40tmp = mm3DensityUnder40 NOT mm3DensityUnder40Chip |
| mm3DensityUnder40IP = mm3DensityUnder40tmp AND chipAreaBigEnough |
| "r_1226_m3.x.1" { |
| @ m3.x.1: <40% metal density when 700x700 window 40-50% covered by mm3.waffledrop |
| COPY mm3DensityUnder40IP |
| } |
| "s_60_m3.x.1" { |
| @ m3.x.1: <40% metal density when 700x700 window 40-50% covered by mm3.waffledrop |
| COPY mm3DensityUnder40Chip |
| } |
| waffle3DropDensity30 = DENSITY cmm3WaffleDrop > 0.3 <= 0.4 WINDOW 700 STEP 70 |
| mm3DensityUnder30 = DENSITY MM3outOxide_drc < 0.3 WINDOW 700 STEP 70 INSIDE of LAYER waffle3DropDensity30 RDB mm3_30_window_700_err.rdb |
| mm3DensityUnder30Chip = INTERACT mm3DensityUnder30 entireChipForDensity |
| mm3DensityUnder30tmp = mm3DensityUnder30 NOT mm3DensityUnder30Chip |
| mm3DensityUnder30IP = mm3DensityUnder30tmp AND chipAreaBigEnough |
| "r_1227_m3.x.1" { |
| @ m3.x.1: <30% metal density when 700x700 window 30-40% covered by mm3.waffledrop |
| COPY mm3DensityUnder30IP |
| } |
| "s_61_m3.x.1" { |
| @ m3.x.1: <30% metal density when 700x700 window 30-40% covered by mm3.waffledrop |
| COPY mm3DensityUnder30Chip |
| } |
| MM4outOxide_drc = SIZE met4 BY 1.15 |
| waffle4DropDensity70 = DENSITY cmm4WaffleDrop == 1.0 WINDOW 700 STEP 70 |
| mm4DensityUnder70 = DENSITY MM4outOxide_drc < 0.7 WINDOW 700 STEP 70 INSIDE of LAYER waffle4DropDensity70 RDB mm4_70_window_700_err.rdb |
| mm4DensityUnder70Chip = INTERACT mm4DensityUnder70 entireChipForDensity |
| mm4DensityUnder70tmp = mm4DensityUnder70 NOT mm4DensityUnder70Chip |
| mm4DensityUnder70IP = mm4DensityUnder70tmp AND chipAreaBigEnough |
| "r_1228_m4.x.1" { |
| @ m4.x.1: <70% metal density when 700x700 window 100% covered by mm4.waffledrop |
| COPY mm4DensityUnder70IP |
| } |
| "s_62_m4.x.1" { |
| @ m4.x.1: <70% metal density when 700x700 window 100% covered by mm4.waffledrop |
| COPY mm4DensityUnder70Chip |
| } |
| waffle4DropDensity65 = DENSITY cmm4WaffleDrop > 0.8 <= 1.0 WINDOW 700 STEP 70 |
| mm4DensityUnder65 = DENSITY MM4outOxide_drc < 0.65 WINDOW 700 STEP 70 INSIDE of LAYER waffle4DropDensity65 RDB mm4_65_window_700_err.rdb |
| mm4DensityUnder65Chip = INTERACT mm4DensityUnder65 entireChipForDensity |
| mm4DensityUnder65tmp = mm4DensityUnder65 NOT mm4DensityUnder65Chip |
| mm4DensityUnder65IP = mm4DensityUnder65tmp AND chipAreaBigEnough |
| "r_1229_m4.x.1" { |
| @ m4.x.1: <65% metal density when 700x700 window 80-100% covered by mm4.waffledrop |
| COPY mm4DensityUnder65IP |
| } |
| "s_63_m4.x.1" { |
| @ m4.x.1: <65% metal density when 700x700 window 80-100% covered by mm4.waffledrop |
| COPY mm4DensityUnder65Chip |
| } |
| waffle4DropDensity60 = DENSITY cmm4WaffleDrop > 0.6 <= 0.8 WINDOW 700 STEP 70 |
| mm4DensityUnder60 = DENSITY MM4outOxide_drc < 0.6 WINDOW 700 STEP 70 INSIDE of LAYER waffle4DropDensity60 RDB mm4_60_window_700_err.rdb |
| mm4DensityUnder60Chip = INTERACT mm4DensityUnder60 entireChipForDensity |
| mm4DensityUnder60tmp = mm4DensityUnder60 NOT mm4DensityUnder60Chip |
| mm4DensityUnder60IP = mm4DensityUnder60tmp AND chipAreaBigEnough |
| "r_1230_m4.x.1" { |
| @ m4.x.1: <60% metal density when 700x700 window 60-80% covered by mm4.waffledrop |
| COPY mm4DensityUnder60IP |
| } |
| "s_64_m4.x.1" { |
| @ m4.x.1: <60% metal density when 700x700 window 60-80% covered by mm4.waffledrop |
| COPY mm4DensityUnder60Chip |
| } |
| waffle4DropDensity50 = DENSITY cmm4WaffleDrop > 0.5 <= 0.6 WINDOW 700 STEP 70 |
| mm4DensityUnder50 = DENSITY MM4outOxide_drc < 0.5 WINDOW 700 STEP 70 INSIDE of LAYER waffle4DropDensity50 RDB mm4_50_window_700_err.rdb |
| mm4DensityUnder50Chip = INTERACT mm4DensityUnder50 entireChipForDensity |
| mm4DensityUnder50tmp = mm4DensityUnder50 NOT mm4DensityUnder50Chip |
| mm4DensityUnder50IP = mm4DensityUnder50tmp AND chipAreaBigEnough |
| "r_1231_m4.x.1" { |
| @ m4.x.1: <50% metal density when 700x700 window 50-60% covered by mm4.waffledrop |
| COPY mm4DensityUnder50IP |
| } |
| "s_65_m4.x.1" { |
| @ m4.x.1: <50% metal density when 700x700 window 50-60% covered by mm4.waffledrop |
| COPY mm4DensityUnder50Chip |
| } |
| waffle4DropDensity40 = DENSITY cmm4WaffleDrop > 0.4 <= 0.5 WINDOW 700 STEP 70 |
| mm4DensityUnder40 = DENSITY MM4outOxide_drc < 0.4 WINDOW 700 STEP 70 INSIDE of LAYER waffle4DropDensity40 RDB mm4_40_window_700_err.rdb |
| mm4DensityUnder40Chip = INTERACT mm4DensityUnder40 entireChipForDensity |
| mm4DensityUnder40tmp = mm4DensityUnder40 NOT mm4DensityUnder40Chip |
| mm4DensityUnder40IP = mm4DensityUnder40tmp AND chipAreaBigEnough |
| "r_1232_m4.x.1" { |
| @ m4.x.1: <40% metal density when 700x700 window 40-50% covered by mm4.waffledrop |
| COPY mm4DensityUnder40IP |
| } |
| "s_66_m4.x.1" { |
| @ m4.x.1: <40% metal density when 700x700 window 40-50% covered by mm4.waffledrop |
| COPY mm4DensityUnder40Chip |
| } |
| waffle4DropDensity30 = DENSITY cmm4WaffleDrop > 0.3 <= 0.4 WINDOW 700 STEP 70 |
| mm4DensityUnder30 = DENSITY MM4outOxide_drc < 0.3 WINDOW 700 STEP 70 INSIDE of LAYER waffle4DropDensity30 RDB mm4_30_window_700_err.rdb |
| mm4DensityUnder30Chip = INTERACT mm4DensityUnder30 entireChipForDensity |
| mm4DensityUnder30tmp = mm4DensityUnder30 NOT mm4DensityUnder30Chip |
| mm4DensityUnder30IP = mm4DensityUnder30tmp AND chipAreaBigEnough |
| "r_1233_m4.x.1" { |
| @ m4.x.1: <30% metal density when 700x700 window 30-40% covered by mm4.waffledrop |
| COPY mm4DensityUnder30IP |
| } |
| "s_67_m4.x.1" { |
| @ m4.x.1: <30% metal density when 700x700 window 30-40% covered by mm4.waffledrop |
| COPY mm4DensityUnder30Chip |
| } |
| met1Routing = SIZE met1pin BY 0.07 INSIDE OF met1 STEP 0.095 |
| "r_1234_metblk.1" { |
| @ metblk.1: 0.14 min. spacing of met1 & met1Block |
| EXTERNAL met1 met1Block < 0.14 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1235_metblk.1" { |
| @ metblk.1: met1 must not overlap met1Block |
| met1 AND met1Block |
| } |
| "r_1236_metblk.3" { |
| @ metblk.3: 0.145 min. spacing of met1Block & met1Routing |
| EXTERNAL met1Block met1Routing < 0.145 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| met2Routing = SIZE met2pin BY 0.07 INSIDE OF met2 STEP 0.095 |
| "r_1237_metblk.1" { |
| @ metblk.1: 0.14 min. spacing of met2 & met2Block |
| EXTERNAL met2 met2Block < 0.14 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1238_metblk.1" { |
| @ metblk.1: met2 must not overlap met2Block |
| met2 AND met2Block |
| } |
| "r_1239_metblk.3" { |
| @ metblk.3: 0.145 min. spacing of met2Block & met2Routing |
| EXTERNAL met2Block met2Routing < 0.145 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| met3Routing = SIZE met3pin BY 0.15 INSIDE OF met3 STEP 0.21 |
| "r_1240_metblk.1" { |
| @ metblk.1: 0.3 min. spacing of met3 & met3Block |
| EXTERNAL met3 met3Block < 0.3 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1241_metblk.1" { |
| @ metblk.1: met3 must not overlap met3Block |
| met3 AND met3Block |
| } |
| "r_1242_metblk.3" { |
| @ metblk.3: 0.305 min. spacing of met3Block & met3Routing |
| EXTERNAL met3Block met3Routing < 0.305 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| met4Routing = SIZE met4pin BY 0.15 INSIDE OF met4 STEP 0.21 |
| "r_1243_metblk.1" { |
| @ metblk.1: 0.3 min. spacing of met4 & met4Block |
| EXTERNAL met4 met4Block < 0.3 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1244_metblk.1" { |
| @ metblk.1: met4 must not overlap met4Block |
| met4 AND met4Block |
| } |
| "r_1245_metblk.3" { |
| @ metblk.3: 0.305 min. spacing of met4Block & met4Routing |
| EXTERNAL met4Block met4Routing < 0.305 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| met5Routing = SIZE met5pin BY 0.8 INSIDE OF met5 STEP 1.13 |
| "r_1246_metblk.1" { |
| @ metblk.1: 1.6 min. spacing of met5 & met5Block |
| EXTERNAL met5 met5Block < 1.6 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1247_metblk.1" { |
| @ metblk.1: met5 must not overlap met5Block |
| met5 AND met5Block |
| } |
| "r_1248_metblk.3" { |
| @ metblk.3: 1.605 min. spacing of met5Block & met5Routing |
| EXTERNAL met5Block met5Routing < 1.605 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| li1Routing = SIZE li1pin BY 0.085 INSIDE OF li1 STEP 0.12 |
| prBndryChip = prBndry AND SEALnoHoles_ORIGIN |
| prBndryIP = prBndry NOT SEALnoHoles_ORIGIN |
| "r_1249_metblk.2" { |
| @ metblk.2: 0.17 min. spacing of li1 & li1Block |
| EXTERNAL li1 li1Block < 0.17 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1250_metblk.2" { |
| @ metblk.2: li1 must not overlap li1Block |
| li1 AND li1Block |
| } |
| "r_1251_metblk.4" { |
| @ metblk.4: 0.17 min. spacing of li1Block & li1Routing |
| EXTERNAL li1Block li1Routing < 0.17 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1252_metblk.6" { |
| @ metblk.6: prBoundary.boundary not allowed in layout |
| COPY prBndryIP |
| } |
| "s_68_metblk.6" { |
| @ metblk.6: prBoundary.boundary not allowed in layout |
| COPY prBndryChip |
| } |
| polyBndryChip = INTERACT polyBndry SEALnoHoles_ORIGIN |
| polyBndryIP = polyBndry NOT polyBndryChip |
| "r_1253_metblk.7" { |
| @ metblk.7: poly.boundary not allowed in layout |
| COPY polyBndryIP |
| } |
| "s_69_metblk.7" { |
| @ metblk.7: poly.boundary not allowed in layout |
| COPY polyBndryChip |
| } |
| diffBndryChip = INTERACT diffBndry SEALnoHoles_ORIGIN |
| diffBndryIP = diffBndry NOT diffBndryChip |
| "r_1254_metblk.7" { |
| @ metblk.7: diff.boundary not allowed in layout |
| COPY diffBndryIP |
| } |
| "s_70_metblk.7" { |
| @ metblk.7: diff.boundary not allowed in layout |
| COPY diffBndryChip |
| } |
| tapBndryChip = INTERACT tapBndry SEALnoHoles_ORIGIN |
| tapBndryIP = tapBndry NOT tapBndryChip |
| "r_1255_metblk.7" { |
| @ metblk.7: tap.boundary not allowed in layout |
| COPY tapBndryIP |
| } |
| "s_71_metblk.7" { |
| @ metblk.7: tap.boundary not allowed in layout |
| COPY tapBndryChip |
| } |
| ESD_pwr2gnd_clamps = (EXTENT CELL "s8_esd_pwr2gnd_rc_50_sym_hv_4k") OR |
| ((EXTENT CELL "s8_esd_pwr2gnd_rc_50_sym_hv_4k_aup1") OR |
| ((EXTENT CELL "s8_esd_pwr2gnd_rc_50_sym_hv_2k") OR |
| ((EXTENT CELL "s8_esd_pwr2gnd_rc_50_sym_hv_2k_dnwl") OR |
| ((EXTENT CELL "s8_esd_pwr2gnd_rc_50_sym_hv_2k_aup1") OR |
| ((EXTENT CELL "s8_esd_pwr2gnd_rc_50_sym_hv_2k_aup1_b") OR |
| ((EXTENT CELL "s8_esd_pwr2gnd_rc_50_sym_hv_2k_aup1_c") OR |
| ((EXTENT CELL "s8_esd_pwr2gnd_rc_40_sym_hv_2k") OR |
| ((EXTENT CELL "s8_esd_pwr2gnd_rc_21_sym_hv_2k") OR |
| ((EXTENT CELL "s8_esd_pwr2gnd_rc_21_asym_hv_2k") OR |
| ((EXTENT CELL "s8_esd_pwr2gnd_50_casc_sym_hv_2k") OR |
| ((EXTENT CELL "s8_esd_pwr2gnd_rc_40_asym_lv_4k") OR |
| ((EXTENT CELL "s8_esd_pwr2gnd_rc_40_asym_lv_2k") OR |
| ((EXTENT CELL "s8_esd_pwr2gnd_rc_40_asym_lv_2k_dnwl") OR |
| ((EXTENT CELL "s8_esd_pwr2gnd_50_casc_sym_hv_2k_dnwl") OR |
| ((EXTENT CELL "s8_esd_pwr2gnd_50_casc_sym_hv_2k_dnwl_aup1") OR (EXTENT CELL "s8_esd_pwr2gnd_rc_40_asym_lv_2k_aup1")))))))))))))))) |
| ESDIDDIFF_NoXmt = (ESDID AND diff) NOT ESD_pwr2gnd_clamps |
| ESDIDSz50 = SIZE ESDIDDIFF_NoXmt BY 50 |
| ESDIDSz150 = SIZE ESDIDDIFF_NoXmt BY 150 |
| ErrESDIDSz50 = ESDIDSz50 AND LDID |
| ErrESDIDSz150 = ESDIDSz150 AND IJID |
| "s_72_chipint.1" { |
| @ chipint.1: areaid.ld not allowed within 50.0 um of ESDID |
| COPY ErrESDIDSz50 |
| } |
| "s_73_chipint.2" { |
| @ chipint.2: areaid.ij not allowed within 150.0 um of ESDID |
| COPY ErrESDIDSz150 |
| } |
| bigfomDummy = LENGTH fomDummyDRC > 25.0 |
| photoArrayDRC = (nwellAndDnwellDRC OR nwellDnwellHolesDRC) ENCLOSE photoDiode |
| fomDmy_keepout_1 = diffTap OR |
| (poly OR |
| (PwellRes OR |
| (pad OR |
| (cfom OR |
| (FOMmk OR |
| (photoArrayDRC OR P1Mmk)))))) |
| "r_1256_fomdmy.1" { |
| @ fomdmy.1: 0.5 min. width of fomDummyDRC |
| INTERNAL fomDummyDRC < 0.5 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1257_fomdmy_1a" { |
| @ fomdmy_1a: max width of fom dummy 25.0 |
| COPY bigfomDummy |
| } |
| "r_1258_fomdmy.2" { |
| @ fomdmy.2: 0.4 min. spacing/notch of fomDummyDRC |
| EXTERNAL fomDummyDRC < 0.4 ABUT < 90 SINGULAR REGION |
| } |
| "r_1259_fomdmy.4" { |
| @ fomdmy.4: 1 min. spacing of fomDummyDRC & SEALID |
| EXTERNAL fomDummyDRC SEALID < 1.0 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1260_fomdmy.4" { |
| @ fomdmy.4: fomDummyDRC must not overlap SEALID |
| fomDummyDRC AND SEALID |
| } |
| "r_1261_fomdmy.6" { |
| @ fomdmy.6: 3.25 min. spacing of fomDummyDRC & fuse |
| EXTERNAL fomDummyDRC fuse < 3.25 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1262_fomdmy.6" { |
| @ fomdmy.6: fomDummyDRC must not overlap fuse |
| fomDummyDRC AND fuse |
| } |
| "r_1263_fomdmy.7" { |
| @ fomdmy.7: 0.13 min. spacing of fomDummyDRC & nsdm |
| EXTERNAL fomDummyDRC nsdm < 0.13 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1264_fomdmy.7" { |
| @ fomdmy.7: fomDummyDRC must not overlap nsdm |
| fomDummyDRC AND nsdm |
| } |
| "r_1265_fomdmy.7" { |
| @ fomdmy.7: 0.13 min. spacing of fomDummyDRC & psdm |
| EXTERNAL fomDummyDRC psdm < 0.13 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1266_fomdmy.7" { |
| @ fomdmy.7: fomDummyDRC must not overlap psdm |
| fomDummyDRC AND psdm |
| } |
| "r_1267_fomdmy.8" { |
| @ fomdmy.8: 0.18 min. enclosure of fomDummyDRC by nwell |
| q0fomDummyDRCand = fomDummyDRC AND nwell |
| ENCLOSURE q0fomDummyDRCand nwell < 0.18 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| "r_1268_fomdmy.9" { |
| @ fomdmy.9: 0.34 min. spacing of fomDummyDRC & nwell |
| EXTERNAL fomDummyDRC nwell < 0.34 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1269_fomdmy.10" { |
| @ fomdmy.10: 0.43 min. enclosure of fomDummyDRC by HVnwell |
| q1fomDummyDRCand = fomDummyDRC AND HVnwell |
| ENCLOSURE q1fomDummyDRCand HVnwell < 0.43 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| "r_1270_fomdmy.11" { |
| @ fomdmy.11: 0.33 min. spacing of fomDummyDRC & HVnwell |
| EXTERNAL fomDummyDRC HVnwell < 0.33 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1271_fomdmy.12" { |
| @ fomdmy.12: 0.5 min. enclosure of fomDummyDRC by FRAMEID |
| q2fomDummyDRCand = fomDummyDRC AND FRAMEID |
| ENCLOSURE q2fomDummyDRCand FRAMEID < 0.5 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| "r_1272_fomdmy.13" { |
| @ fomdmy.13: 0.5 min. spacing of fomDummyDRC & dieCut |
| EXTERNAL fomDummyDRC dieCut < 0.5 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| rdlInScribe = ((rdl OR CU1Mmk) AND frameBndr) NOT dieCut |
| nonCSPRDL = NOT INTERACT rdl bump |
| "r_1273_rdl.1" { |
| @ rdl.1: 10 min. width of rdl |
| INTERNAL rdl < 10.0 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1274_rdl.2" { |
| @ rdl.2: 10 min. spacing/notch of rdl |
| EXTERNAL rdl < 10.0 REGION CORNER TO EDGE |
| } |
| "r_1275_rdl.2" { |
| @ rdl.2: 10 min. spacing/notch of rdl |
| EXTERNAL rdl < 10.0 REGION OPPOSITE PARALLEL ONLY |
| } |
| "r_1276_rdl.3" { |
| @ rdl.3: 10.75 min. enclosure of pad by nonCSPRDL |
| q0padand = pad AND nonCSPRDL |
| ENCLOSURE q0padand nonCSPRDL < 10.75 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| "r_1277_rdl.4" { |
| @ rdl.4: 15 min. enclosure of rdl by SEALnoHoles_ORIGIN |
| q0rdland = rdl AND SEALnoHoles_ORIGIN |
| ENCLOSURE q0rdland SEALnoHoles_ORIGIN < 15.0 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| "r_1278_rdl.5" { |
| @ rdl.5: (rdl OR ccu1m.mk) in scribe must not overlap areaid.ft. |
| COPY rdlInScribe |
| } |
| "r_1279_rdl.6" { |
| @ rdl.6: 19.66 min. spacing of nonCSPRDL & pad |
| EXTERNAL nonCSPRDL pad < 19.66 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| metXopt = met3 OR |
| (metop1_met3 OR |
| (metop2_met3 OR |
| (metop3_met3 OR |
| (metop4_met3 OR |
| (metop5_met3 OR |
| (metop6_met3 OR |
| (metop7_met3 OR metop8_met3))))))) |
| /// s8tee-5r pad and fuse rules |
| /// $Id: s8_drcRules 1 2018/06/18 17:29:47 GMT ssoares Exp $ |
| METxFUSE = met4 AND fuse |
| q0METxFUSE = NOT RECTANGLE METxFUSE ORTHOGONAL ONLY |
| "r_1280_mf.1&2" { |
| @ mf.1&2: metal4 fuse should be rectangular |
| COPY q0METxFUSE |
| } |
| q1METxFUSE = INTERNAL METxFUSE < 0.8 REGION |
| "r_1281_mf.1&2" { |
| @ mf.1&2: 0.8 min. width of metal4 fuse |
| COPY q1METxFUSE |
| } |
| q2METxFUSE = INTERNAL METxFUSE <= 0.8 REGION |
| q3METxFUSE = METxFUSE NOT q2METxFUSE |
| "r_1282_mf.1&2" { |
| @ mf.1&2: 0.8 max. width of metal4 fuse |
| COPY q3METxFUSE |
| } |
| q4METxFUSE = INTERNAL METxFUSE < 7.2 PROJECTING < 7.2 REGION |
| "r_1283_mf.1&2" { |
| @ mf.1&2: 7.2 min. length of metal4 fuse |
| COPY q4METxFUSE |
| } |
| q5METxFUSE = METxFUSE WITH EDGE (LENGTH METxFUSE > 7.2) |
| "r_1284_mf.1&2" { |
| @ mf.1&2: 7.2 max. length of metal4 fuse |
| COPY q5METxFUSE |
| } |
| "r_1285_mf.3" { |
| @ mf.3: 2.75 min. spacing of target |
| EXTERNAL target < 2.75 ABUT < 90 SINGULAR REGION SPACE EXCLUDE FALSE |
| } |
| METxFSIZE = SIZE METxFUSE BY 0.83 |
| METxOVERFUSE = NOT TOUCH (INTERACT met4 fuse) fuse |
| METxContact = METxOVERFUSE NOT METxFUSE |
| FUSEstraddMETx = fuse AND (CUT METxOVERFUSE METxFSIZE) |
| "r_1286_mf.5" { |
| @ mf.5: 0.83 max extension of met4 beyond fuse boundary |
| COPY FUSEstraddMETx |
| } |
| "r_1287_mf.22" { |
| @ mf.22: 1.96 min. spacing of METxContact |
| EXTERNAL METxContact < 1.96 ABUT < 90 SINGULAR REGION SPACE EXCLUDE FALSE |
| } |
| "r_1288_mf.6" { |
| @ mf.6: 3.295 min. spacing of target & met1 |
| EXTERNAL target met1 < 3.295 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1289_mf.6" { |
| @ mf.6: target must not overlap met1 |
| target AND met1 |
| } |
| "r_1290_mf.7" { |
| @ mf.7: 3.295 min. spacing of target & li1 |
| EXTERNAL target li1 < 3.295 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1291_mf.7" { |
| @ mf.7: target must not overlap li1 |
| target AND li1 |
| } |
| "r_1292_mf.8" { |
| @ mf.8: 2.655 min. spacing of target & poly |
| EXTERNAL target poly < 2.655 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1293_mf.8" { |
| @ mf.8: target must not overlap poly |
| target AND poly |
| } |
| "r_1294_mf.9" { |
| @ mf.9: 2.635 min. spacing of target & tap |
| EXTERNAL target tap < 2.635 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1295_mf.9" { |
| @ mf.9: target must not overlap tap |
| target AND tap |
| } |
| "r_1296_mf.10" { |
| @ mf.10: 3.245 min. spacing of target & diff |
| EXTERNAL target diff < 3.245 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1297_mf.10" { |
| @ mf.10: target must not overlap diff |
| target AND diff |
| } |
| "r_1298_mf.11" { |
| @ mf.11: 3.315 min. spacing of target & nwell |
| EXTERNAL target nwell < 3.315 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1299_mf.11" { |
| @ mf.11: target must not overlap nwell |
| target AND nwell |
| } |
| "r_1300_mf.19" { |
| @ mf.19: 3.295 min. spacing of target & met2 |
| EXTERNAL target met2 < 3.295 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1301_mf.19" { |
| @ mf.19: target must not overlap met2 |
| target AND met2 |
| } |
| floatingMetal = met4 NOT (NOT TOUCH (INTERACT met4 via3) via3) |
| shieldArea = SIZE target BY 3.3 |
| fuseShieldMetal = NOT TOUCH (INTERACT floatingMetal shieldArea) shieldArea |
| fuseShield = RECTANGLE fuseShieldMetal == 2.4 BY == 0.5 |
| badShield = ((EXTERNAL target floatingMetal <= 3.295 ABUT < 90 SINGULAR REGION) COINCIDENT EDGE floatingMetal) NOT COINCIDENT EDGE fuseShield |
| "r_1302_mf.12" { |
| @ mf.12: mf.12: 2.40x0.50 size of a fuse_shield |
| COPY badShield |
| } |
| nonfusemetX = met4 NOT fuse |
| endfuse = fuse COINCIDENT EDGE nonfusemetX |
| endFuseSz = EXPAND EDGE endfuse OUTSIDE BY 0.005 |
| METnotFUSE = (met4 NOT (fuse OR fuseShield)) OUTSIDE endFuseSz |
| "r_1303_mf.4" { |
| @ mf.4: 3.295 min. spacing of target & METnotFUSE |
| EXTERNAL target METnotFUSE < 3.295 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| fuseGroup = INTERACT METxFUSE (EXTERNAL target <= 3.995 ABUT < 90 REGION) |
| singleFuse = METxFUSE NOT fuseGroup |
| nonIsolatedFuse_a = (EXTERNAL singleFuse METnotFUSE < 4.0 REGION) OUTSIDE nonfusemetX |
| nonIsolatedFuse_e = singleFuse COINCIDENT OUTSIDE EDGE nonIsolatedFuse_a |
| "r_1304_mf.13" { |
| @ mf.13: 2.195 min. spacing of target & fuseShield |
| EXTERNAL target fuseShield < 2.195 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| mf_14Good = EXTERNAL nonIsolatedFuse_e fuseShield <= 2.9 REGION |
| mf_14 = (NOT INTERACT (EXPAND EDGE nonIsolatedFuse_e OUTSIDE BY 0.005) mf_14Good) COINCIDENT OUTSIDE EDGE singleFuse |
| "r_1305_mf.14" { |
| @ mf.14: max shield to target spacing |
| COPY mf_14 |
| } |
| mf_15a = fuseShield OUTSIDE nonIsolatedFuse_a |
| mf_15b = nonIsolatedFuse_a NOT (NOT TOUCH (INTERACT nonIsolatedFuse_a fuseShield) fuseShield) |
| "r_1306_mf.15a" { |
| @ mf.15a: fuseShield is allowed for non_isolated fuse edges ONLY |
| COPY mf_15a |
| } |
| "r_1307_mf.15b" { |
| @ mf.15b: fuseShield is required between peri metal and non isolated fuse edges |
| COPY mf_15b |
| } |
| shieldedMetal = EXPAND EDGE ((METnotFUSE NOT fuseShield) COINCIDENT OUTSIDE EDGE nonIsolatedFuse_a) INSIDE BY 0.005 |
| mf_18good = EXTERNAL fuseShield shieldedMetal >= 0.595 <= 0.605 OPPOSITE REGION |
| mf_18 = NOT INTERACT shieldedMetal mf_18good |
| "r_1308_mf.18" { |
| @ mf.18: 0.6 min&max space between fuse_shield and met4 |
| COPY mf_18 |
| } |
| mf_20 = INTERACT METxOVERFUSE (METxOVERFUSE AND fuse) > 1 |
| "r_1309_mf.20" { |
| @ mf.20: only one fuse allowed per metal line |
| COPY mf_20 |
| } |
| "r_1310_mf.24" { |
| @ mf.24: 3.295 min. spacing of target & met5 |
| EXTERNAL target met5 < 3.295 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1311_mf.24" { |
| @ mf.24: target must not overlap met5 |
| target AND met5 |
| } |
| SEALhole = HOLES SEALID |
| dieEdgeHoriz = ANGLE SEALID == 0 |
| dieEdgePerp = ANGLE SEALID == 90 |
| dieEdgeHorizSz = EXPAND EDGE dieEdgeHoriz OUTSIDE BY 0.005 |
| dieEdgePerpSz = EXPAND EDGE dieEdgePerp OUTSIDE BY 0.005 |
| dieEdgeH = dieEdgeHorizSz COINCIDENT EDGE SEALhole |
| dieEdgeP = dieEdgePerpSz COINCIDENT EDGE SEALhole |
| hoizXaxis = COPY 4006 |
| perpXaxis = COPY 4007 |
| padNoSEAL = pad NOT SEALID |
| dieEdgStepH41 = EXPAND EDGE dieEdgeH INSIDE by 41 |
| dieEdgStepHpad41 = (INTERACT padNoSEAL (padNoSEAL AND dieEdgStepH41)) NOT perpXaxis |
| allHorizX41 = hoizXaxis OR dieEdgStepHpad41 |
| dieEdgStepP41 = EXPAND EDGE dieEdgeP INSIDE by 41 |
| dieEdgStepPpad41 = (INTERACT padNoSEAL (padNoSEAL AND dieEdgStepP41)) NOT dieEdgStepHpad41 |
| allPerpX41 = perpXaxis OR dieEdgStepPpad41 |
| newSetPad41 = padNoSEAL NOT (dieEdgStepHpad41 OR dieEdgStepPpad41) |
| cornerPads41 = (INTERACT padNoSEAL (padNoSEAL AND dieEdgStepH41)) AND (INTERACT padNoSEAL (padNoSEAL AND dieEdgStepP41)) |
| horzAndCornPad = dieEdgStepH41 AND cornerPads41 |
| vertAndCornPad = dieEdgStepP41 AND cornerPads41 |
| padEdgeHorzErr = EXTERNAL padCenter horzAndCornPad < 60.0 ABUT < 90 PARALLEL OPPOSITE |
| padEdgeVertErr = EXTERNAL padCenter vertAndCornPad < 60.0 ABUT < 90 PARALLEL OPPOSITE |
| dfmVertXedge = DFM PROPERTY cornerPads41 padEdgeHorzErr padEdgeVertErr OVERLAP [edgeCheck =MIN(EW(padEdgeHorzErr))-MIN(EW(padEdgeVertErr))]>0 |
| dfmHorzXedge = DFM PROPERTY cornerPads41 padEdgeHorzErr padEdgeVertErr OVERLAP [edgeCheck =MIN(EW(padEdgeVertErr))-MIN(EW(padEdgeHorzErr))]>0 |
| dieEdgStepH82 = EXPAND EDGE dieEdgeH INSIDE by 82 |
| dieEdgStepHpad82 = (INTERACT padNoSEAL (padNoSEAL AND dieEdgStepH82)) NOT allPerpX41 |
| allHorizX82 = allHorizX41 OR dieEdgStepHpad82 |
| dieEdgStepP82 = EXPAND EDGE dieEdgeP INSIDE by 82 |
| dieEdgStepPpad82 = (INTERACT padNoSEAL (padNoSEAL AND dieEdgStepP82)) NOT dieEdgStepHpad82 |
| allPerpX82 = allPerpX41 OR dieEdgStepPpad82 |
| newSetPad82 = padNoSEAL NOT (dieEdgStepHpad82 OR dieEdgStepPpad82) |
| dieEdgStepH123 = EXPAND EDGE dieEdgeH INSIDE by 123 |
| dieEdgStepHpad123 = (INTERACT padNoSEAL (padNoSEAL AND dieEdgStepH123)) NOT allPerpX82 |
| allHorizX123 = allHorizX82 OR dieEdgStepHpad123 |
| dieEdgStepP123 = EXPAND EDGE dieEdgeP INSIDE by 123 |
| dieEdgStepPpad123 = (INTERACT padNoSEAL (padNoSEAL AND dieEdgStepP123)) NOT dieEdgStepHpad123 |
| allPerpX123 = allPerpX82 OR dieEdgStepPpad123 |
| newSetPad123 = padNoSEAL NOT (dieEdgStepHpad123 OR dieEdgStepPpad123) |
| dieEdgStepH164 = EXPAND EDGE dieEdgeH INSIDE by 164 |
| dieEdgStepHpad164 = (INTERACT padNoSEAL (padNoSEAL AND dieEdgStepH164)) NOT allPerpX123 |
| allHorizX164 = allHorizX123 OR dieEdgStepHpad164 |
| dieEdgStepP164 = EXPAND EDGE dieEdgeP INSIDE by 164 |
| dieEdgStepPpad164 = (INTERACT padNoSEAL (padNoSEAL AND dieEdgStepP164)) NOT dieEdgStepHpad164 |
| allPerpX164 = allPerpX123 OR dieEdgStepPpad164 |
| newSetPad164 = padNoSEAL NOT (dieEdgStepHpad164 OR dieEdgStepPpad164) |
| dieEdgStepH205 = EXPAND EDGE dieEdgeH INSIDE by 205 |
| dieEdgStepHpad205 = (INTERACT padNoSEAL (padNoSEAL AND dieEdgStepH205)) NOT allPerpX164 |
| allHorizX205 = allHorizX164 OR dieEdgStepHpad205 |
| dieEdgStepP205 = EXPAND EDGE dieEdgeP INSIDE by 205 |
| dieEdgStepPpad205 = (INTERACT padNoSEAL (padNoSEAL AND dieEdgStepP205)) NOT dieEdgStepHpad205 |
| allPerpX205 = allPerpX164 OR dieEdgStepPpad205 |
| newSetPad205 = padNoSEAL NOT (dieEdgStepHpad205 OR dieEdgStepPpad205) |
| dieEdgStepH246 = EXPAND EDGE dieEdgeH INSIDE by 246 |
| dieEdgStepHpad246 = (INTERACT padNoSEAL (padNoSEAL AND dieEdgStepH246)) NOT allPerpX205 |
| allHorizX246 = allHorizX205 OR dieEdgStepHpad246 |
| dieEdgStepP246 = EXPAND EDGE dieEdgeP INSIDE by 246 |
| dieEdgStepPpad246 = (INTERACT padNoSEAL (padNoSEAL AND dieEdgStepP246)) NOT dieEdgStepHpad246 |
| allPerpX246 = allPerpX205 OR dieEdgStepPpad246 |
| newSetPad246 = padNoSEAL NOT (dieEdgStepHpad246 OR dieEdgStepPpad246) |
| dieEdgStepH287 = EXPAND EDGE dieEdgeH INSIDE by 287 |
| dieEdgStepHpad287 = (INTERACT padNoSEAL (padNoSEAL AND dieEdgStepH287)) NOT allPerpX246 |
| allHorizX287 = allHorizX246 OR dieEdgStepHpad287 |
| dieEdgStepP287 = EXPAND EDGE dieEdgeP INSIDE by 287 |
| dieEdgStepPpad287 = (INTERACT padNoSEAL (padNoSEAL AND dieEdgStepP287)) NOT dieEdgStepHpad287 |
| allPerpX287 = allPerpX246 OR dieEdgStepPpad287 |
| newSetPad287 = padNoSEAL NOT (dieEdgStepHpad287 OR dieEdgStepPpad287) |
| dieEdgStepH328 = EXPAND EDGE dieEdgeH INSIDE by 328 |
| dieEdgStepHpad328 = (INTERACT padNoSEAL (padNoSEAL AND dieEdgStepH328)) NOT allPerpX287 |
| allHorizX328 = allHorizX287 OR dieEdgStepHpad328 |
| dieEdgStepP328 = EXPAND EDGE dieEdgeP INSIDE by 328 |
| dieEdgStepPpad328 = (INTERACT padNoSEAL (padNoSEAL AND dieEdgStepP328)) NOT dieEdgStepHpad328 |
| allPerpX328 = allPerpX287 OR dieEdgStepPpad328 |
| newSetPad328 = padNoSEAL NOT (dieEdgStepHpad328 OR dieEdgStepPpad328) |
| dieEdgStepH369 = EXPAND EDGE dieEdgeH INSIDE by 369 |
| dieEdgStepHpad369 = (INTERACT padNoSEAL (padNoSEAL AND dieEdgStepH369)) NOT allPerpX328 |
| allHorizX369 = allHorizX328 OR dieEdgStepHpad369 |
| dieEdgStepP369 = EXPAND EDGE dieEdgeP INSIDE by 369 |
| dieEdgStepPpad369 = (INTERACT padNoSEAL (padNoSEAL AND dieEdgStepP369)) NOT dieEdgStepHpad369 |
| allPerpX369 = allPerpX328 OR dieEdgStepPpad369 |
| newSetPad369 = padNoSEAL NOT (dieEdgStepHpad369 OR dieEdgStepPpad369) |
| dieEdgStepH410 = EXPAND EDGE dieEdgeH INSIDE by 410 |
| dieEdgStepHpad410 = (INTERACT padNoSEAL (padNoSEAL AND dieEdgStepH410)) NOT allPerpX369 |
| allHorizX410 = allHorizX369 OR dieEdgStepHpad410 |
| dieEdgStepP410 = EXPAND EDGE dieEdgeP INSIDE by 410 |
| dieEdgStepPpad410 = (INTERACT padNoSEAL (padNoSEAL AND dieEdgStepP410)) NOT dieEdgStepHpad410 |
| allPerpX410 = allPerpX369 OR dieEdgStepPpad410 |
| newSetPad410 = padNoSEAL NOT (dieEdgStepHpad410 OR dieEdgStepPpad410) |
| dieEdgStepH451 = EXPAND EDGE dieEdgeH INSIDE by 451 |
| dieEdgStepHpad451 = (INTERACT padNoSEAL (padNoSEAL AND dieEdgStepH451)) NOT allPerpX410 |
| allHorizX451 = allHorizX410 OR dieEdgStepHpad451 |
| dieEdgStepP451 = EXPAND EDGE dieEdgeP INSIDE by 451 |
| dieEdgStepPpad451 = (INTERACT padNoSEAL (padNoSEAL AND dieEdgStepP451)) NOT dieEdgStepHpad451 |
| allPerpX451 = allPerpX410 OR dieEdgStepPpad451 |
| newSetPad451 = padNoSEAL NOT (dieEdgStepHpad451 OR dieEdgStepPpad451) |
| dieEdgStepH492 = EXPAND EDGE dieEdgeH INSIDE by 492 |
| dieEdgStepHpad492 = (INTERACT padNoSEAL (padNoSEAL AND dieEdgStepH492)) NOT allPerpX451 |
| allHorizX492 = allHorizX451 OR dieEdgStepHpad492 |
| dieEdgStepP492 = EXPAND EDGE dieEdgeP INSIDE by 492 |
| dieEdgStepPpad492 = (INTERACT padNoSEAL (padNoSEAL AND dieEdgStepP492)) NOT dieEdgStepHpad492 |
| allPerpX492 = allPerpX451 OR dieEdgStepPpad492 |
| newSetPad492 = padNoSEAL NOT (dieEdgStepHpad492 OR dieEdgStepPpad492) |
| dieEdgStepH533 = EXPAND EDGE dieEdgeH INSIDE by 533 |
| dieEdgStepHpad533 = (INTERACT padNoSEAL (padNoSEAL AND dieEdgStepH533)) NOT allPerpX492 |
| allHorizX533 = allHorizX492 OR dieEdgStepHpad533 |
| dieEdgStepP533 = EXPAND EDGE dieEdgeP INSIDE by 533 |
| dieEdgStepPpad533 = (INTERACT padNoSEAL (padNoSEAL AND dieEdgStepP533)) NOT dieEdgStepHpad533 |
| allPerpX533 = allPerpX492 OR dieEdgStepPpad533 |
| newSetPad533 = padNoSEAL NOT (dieEdgStepHpad533 OR dieEdgStepPpad533) |
| padXorg = COPY allHorizX533 |
| padYorg = COPY allPerpX533 |
| padCornerXtmp = COPY dfmHorzXedge |
| padCornerYtmp = COPY dfmVertXedge |
| padCornXpitchPadX = EXPAND EDGE (ANGLE padCornerXtmp == 90) OUTSIDE BY 7 |
| padCornXpitchPadY = EXPAND EDGE (ANGLE padCornerXtmp == 0) OUTSIDE BY 7 |
| padCornXtouchPitchInY = TOUCH padCornXpitchPadY pad == 2 |
| padCornXtouchPitchInX = TOUCH padCornXpitchPadX pad == 2 |
| padCornerSwapxtoY = NOT TOUCH (TOUCH padCornerXtmp padCornXtouchPitchInY) padCornXtouchPitchInX |
| padCornerX = (padCornerXtmp OR padCornerSwapYtoX) NOT padCornerSwapXtoY |
| padCornYpitchPadY = EXPAND EDGE (ANGLE padCornerYtmp == 90) OUTSIDE BY 7 |
| padCornYpitchPadX = EXPAND EDGE (ANGLE padCornerYtmp == 0) OUTSIDE BY 7 |
| padCornYtouchPitchInY = TOUCH padCornYpitchPadY pad == 2 |
| padCornYtouchPitchInX = TOUCH padCornYpitchPadX pad == 2 |
| padCornerSwapYtoX = NOT TOUCH (TOUCH padCornerYtmp padCornYtouchPitchInY) padCornYtouchPitchInX |
| padCornerY = (padCornerYtmp OR padCornerSwapXtoY) NOT padCornerSwapYtoX |
| padX = (padXorg OR padCornerX) NOT padCornerY |
| padY = (padYorg OR padCornerY) NOT padCornerX |
| minSpacepadYedges = EXPAND EDGE (ANGLE padY == 0) INSIDE BY 0.005 |
| minSpacepadYyEdge = EXPAND EDGE (ANGLE padY == 90) INSIDE BY 0.005 |
| minSpacepadXedges = EXPAND EDGE (ANGLE padX == 90) INSIDE BY 0.005 |
| minSpacepadXyEdge = EXPAND EDGE (ANGLE padX == 0) INSIDE BY 0.005 |
| laser_targetCells = EXTENT CELL "lazX_*" "lazY_*" ORIGINAL |
| BONDPAD = pad OUTSIDE (SEALID OR |
| (moduleCutAREA OR |
| (fuse OR |
| (FRAMEID OR laser_targetCells)))) |
| padInInd = pad AND inductor |
| viapcell = EXTENT CELL "M5RDL*" ORIGINAL |
| bondpadPcell = (EXTENT CELL "padPL*" ORIGINAL) OR bondpadCuPillar |
| plasticPackPad = WITH TEXT bondpadPcell "plastic" textlabel |
| hermeticPackPad = WITH TEXT bondpadPcell "hermetic" textlabel |
| PadPLhp = WITH TEXT bondpadPcell "HP" textlabel |
| PadPLfp = WITH TEXT bondpadPcell "FP" textlabel |
| PadPLstg = WITH TEXT bondpadPcell "STG" textlabel |
| PadPLwlbi = WITH TEXT bondpadPcell "WLBI" textlabel |
| bondpadCuPillar = EXTENT CELL "s8fpafeg1_io_amkor_pad*" "fpg1_amkor_39x39_pad*" ORIGINAL |
| notValidbondPad = BONDPAD NOT (viapcell OR |
| (padInInd OR |
| (bondpadPcell OR bondpadCuPillar))) |
| bondpadPcellNoText = bondpadPcell NOT plasticPackPad |
| anyPadPlastic = pad AND plasticPackPad |
| "r_1312_pad.1" { |
| @ pad.1: padPL pcells should be used for bondpad |
| COPY notValidbondPad |
| } |
| "r_1313_pad.1" { |
| @ pad.1: padPL pcells should have text plastic to be used for bondpad |
| COPY bondpadPcellNoText |
| } |
| "r_1314_pad.16" { |
| @ pad.16: Hermetic package pads are not supported inthis flow |
| COPY hermeticPackPad |
| } |
| bondpadNormal = BONDPAD AND bondpadPcell |
| bondpadNormalPlastic = BONDPAD AND plasticPackPad |
| bondpadHP = BONDPAD AND PadPLhp |
| bondpadFP = BONDPAD AND PadPLfp |
| bondpadSTG = BONDPAD AND PadPLstg |
| bondpadWLBI = BONDPAD AND PadPLwlbi |
| "r_1315_pad.4/4a" { |
| @ pad.4/4a: 2.7 min. enclosure of bondpadNormal by met5 |
| q0bondpadNormaland = bondpadNormal AND met5 |
| ENCLOSURE q0bondpadNormaland met5 < 2.7 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| met4_ring = DONUT (met4 AND (bondpadPcell NOT BONDPAD)) |
| met4_err_ringSpc = INTERACT met4_ring (met4_ring AND bondpadNormal) |
| "r_1316_pad.5" { |
| @ pad.5: Zero Spacing between lower level met4 ring and Advanced Bondpad |
| COPY met4_err_ringSpc |
| } |
| bondpadEdges = BONDPAD COINCIDENT EDGE (minSpacepadXedges OR minSpacepadYedges) |
| bondpadEdgesSz = EXPAND EDGE bondpadEdges INSIDE BY 30 |
| bondpadEdgesSide = EXPAND EDGE (LENGTH (bondpadEdgesSz INSIDE EDGE BONDPAD) <= 60.0 > (60.0 / 2.0)) INSIDE BY 0.005 |
| SmallBondPad = INTERACT BONDPAD bondpadEdgesSide |
| LargeBondPad = BONDPAD NOT SmallBondPad |
| padGroupingY = (INTERACT BONDPAD (BONDPAD AND (padCenter AND padCenterDieY))) OR padCenterDieY |
| smallGroupingY = (INTERACT padGroupingY (padGroupingY AND (padCenter AND SmallBondPad))) AND BONDPAD |
| largeGroupingY = (padGroupingY NOT smallGroupingY) AND BONDPAD |
| padGroupingX = (INTERACT BONDPAD (BONDPAD AND (padCenter AND padCenterDieX))) OR padCenterDieX |
| smallGroupingX = (INTERACT padGroupingX (padGroupingX AND (padCenter AND SmallBondPad))) AND BONDPAD |
| largeGroupingX = (padGroupingX NOT smallGroupingX) AND BONDPAD |
| met5OutsidePad = met5 OUTSIDE bondPadPcell |
| "r_1317_pad.6" { |
| @ pad.6: 5 min. spacing of smallGroupingY & met5OutsidePad |
| EXTERNAL smallGroupingY met5OutsidePad < 5.0 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1318_pad.7" { |
| @ pad.7: 10 min. spacing of largeGroupingY & met5OutsidePad |
| EXTERNAL largeGroupingY met5OutsidePad < 10.0 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1319_pad.6" { |
| @ pad.6: 5 min. spacing of smallGroupingX & met5OutsidePad |
| EXTERNAL smallGroupingX met5OutsidePad < 5.0 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1320_pad.7" { |
| @ pad.7: 10 min. spacing of largeGroupingX & met5OutsidePad |
| EXTERNAL largeGroupingX met5OutsidePad < 10.0 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| met4OutsidePad = met4 OUTSIDE bondPadPcell |
| "r_1321_pad.6" { |
| @ pad.6: 5 min. spacing of smallGroupingY & met4OutsidePad |
| EXTERNAL smallGroupingY met4OutsidePad < 5.0 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1322_pad.7" { |
| @ pad.7: 10 min. spacing of largeGroupingY & met4OutsidePad |
| EXTERNAL largeGroupingY met4OutsidePad < 10.0 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1323_pad.6" { |
| @ pad.6: 5 min. spacing of smallGroupingX & met4OutsidePad |
| EXTERNAL smallGroupingX met4OutsidePad < 5.0 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1324_pad.7" { |
| @ pad.7: 10 min. spacing of largeGroupingX & met4OutsidePad |
| EXTERNAL largeGroupingX met4OutsidePad < 10.0 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| bondpadNormalprobe = WITH TEXT bondpadNormalPlastic "probe-only" textlabel |
| bondpadNormalNoprobe = bondpadNormalPlastic NOT (cuPillarPadText OR bondpadNormalprobe) |
| "r_1325_pad.10" { |
| @ pad.10: bondpadNormalNoprobe must not overlap met4 |
| bondpadNormalNoprobe AND met4 |
| } |
| BONDPADangleless45 = EXPAND EDGE (ANGLE bondpadNormalPlastic > 0 < 45) INSIDE BY 0.005 |
| BONDPADangle45_90 = EXPAND EDGE (ANGLE bondpadNormalPlastic > 45 < 90) INSIDE BY 0.005 |
| errBondpadEdgeAngle = BONDPADangleless45 OR BONDPADangle45_90 |
| BONDPADangle45 = ANGLE bondpadNormalPlastic > 44.9 < 45.1 |
| BONDPADangle45Sz = EXPAND EDGE BONDPADangle45 INSIDE BY 0.005 |
| BONDPADangle90 = EXPAND EDGE (ANGLE bondpadNormalPlastic == 90) INSIDE BY 0.005 |
| BONDPADangle0 = EXPAND EDGE (ANGLE bondpadNormalPlastic == 0) INSIDE BY 0.005 |
| errBondapadEdges45 = bondpadNormalPlastic NOT (INTERACT bondpadNormalPlastic (bondpadNormalPlastic AND BONDPADangle45Sz) == 4) |
| errBondapadEdges90 = bondpadNormalPlastic NOT (INTERACT bondpadNormalPlastic (bondpadNormalPlastic AND BONDPADangle90) == 2) |
| errBondapadEdges0 = bondpadNormalPlastic NOT (INTERACT bondpadNormalPlastic (bondpadNormalPlastic AND BONDPADangle0) == 2) |
| errBondapadEdges0_90 = errBondapadEdges90 OR errBondapadEdges0 |
| errBONDPADangle45minLen = LENGTH BONDPADangle45 < 7.0 |
| errBONDPADangle45maxLen = LENGTH BONDPADangle45 > 8.8 |
| bondPad90degCor = INTERNAL bondpadNormalPlastic < 0.005 ABUT == 90 INTERSECTING REGION |
| "r_1326_pad.11" { |
| @ pad.11: Bondpad should not have 90 degree corner |
| COPY bondPad90degCor |
| } |
| "r_1327_pad.11" { |
| @ pad.11: Bondpad should have 45 degree corner |
| COPY errBondpadEdgeAngle |
| } |
| "r_1328_pad.11" { |
| @ pad.11: Bondpad should have only 4 45 degree corner |
| COPY errBondapadEdges45 |
| } |
| "r_1329_pad.11" { |
| @ pad.11: Bondpad should have only 4 orthogonal edges |
| COPY errBondapadEdges0_90 |
| } |
| "r_1330_pad.12" { |
| @ pad.12: 7.0 Min length of 45 degree bevel on Bond pad |
| COPY errBONDPADangle45minLen |
| } |
| "r_1331_pad.13" { |
| @ pad.13: 8.8 Max length of 45 degree bevel on Bond pad |
| COPY errBONDPADangle45maxLen |
| } |
| solid_seal = (HOLES SEALID) OR (DONUT SEALID) |
| solid_seal_shrink = SIZE solid_seal BY -500.0 |
| maxSpcPadSeal = bondpadNormalPlastic WITH EDGE (bondpadNormalPlastic COINCIDENT INSIDE EDGE solid_seal_shrink) |
| lessMaxSpcPadSeal = CUT bondpadNormalPlastic solid_seal_shrink |
| cuPillarPadText = INTERACT pad (WITH TEXT pad "CU-PILLAR-PAD" textlabel) |
| aupDummyPadText = INTERACT bondpadCuPillar (WITH TEXT pad "AUP-DUMMY-OK" textlabel) |
| psoc4xmt = EXTENT CELL "psoc4*_top" ORIGINAL |
| cadXmpt = (EXTENT CELL "tsg5_m_tcg5_top*" ORIGINAL) OR |
| (cuPillarPadText OR psoc4xmt) |
| err_pad_15 = (bondpadNormalPlastic NOT (maxSpcPadSeal OR |
| (lessMaxSpcPadSeal OR cadXmpt))) AND solid_seal_shrink |
| "r_1332_pad.14" { |
| @ pad.14: 16.99 min. enclosure of anyPadPlastic by solid_seal |
| q0anyPadPlasticand = anyPadPlastic AND solid_seal |
| ENCLOSURE q0anyPadPlasticand solid_seal < 16.99 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| "r_1333_pad.15" { |
| @ pad.15: 500.0 Max spacing between bondpad opening and edge of scribe line(outer end of seal ring) |
| COPY err_pad_15 |
| } |
| padMetal = pad AND (bondPadPcell AND met5) |
| met1Shield = COPY 4008 |
| met1UndPadMet = INTERACT met1 (met1 AND padMetal) |
| met1UndPadMetOnly = met1UndPadMet AND (BONDPAD NOT aupDummyPadText) |
| met1UndPadMetMinW = INTERNAL met1UndPadMetOnly < 0.14 PARALLEL OPPOSITE REGION |
| "r_1334_pad.17" { |
| @ pad.17: 1.5 min. spacing/notch of met1UndPadMetOnly |
| EXTERNAL met1UndPadMetOnly < 1.5 ABUT < 90 SINGULAR REGION OPPOSITE |
| } |
| "r_1335_pad.18" { |
| @ pad.18: 0.14 min width of met1 under pad metal |
| COPY met1UndPadMetMinW |
| } |
| met2UndPadMet = INTERACT met2 (met2 AND padMetal) |
| met2UndPadMetOnly = met2UndPadMet AND (BONDPAD NOT aupDummyPadText) |
| met2UndPadMetMinW = INTERNAL met2UndPadMetOnly < 0.14 PARALLEL OPPOSITE REGION |
| "r_1336_pad.17" { |
| @ pad.17: 1.5 min. spacing/notch of met2UndPadMetOnly |
| EXTERNAL met2UndPadMetOnly < 1.5 ABUT < 90 SINGULAR REGION OPPOSITE |
| } |
| "r_1337_pad.18" { |
| @ pad.18: 0.14 min width of met2 under pad metal |
| COPY met2UndPadMetMinW |
| } |
| met3UndPadMet = INTERACT met3 (met3 AND padMetal) |
| met3UndPadMetOnly = met3UndPadMet AND (BONDPAD NOT aupDummyPadText) |
| met3UndPadMetMinW = INTERNAL met3UndPadMetOnly < 0.3 PARALLEL OPPOSITE REGION |
| "r_1338_pad.17" { |
| @ pad.17: 1.5 min. spacing/notch of met3UndPadMetOnly |
| EXTERNAL met3UndPadMetOnly < 1.5 ABUT < 90 SINGULAR REGION OPPOSITE |
| } |
| "r_1339_pad.18" { |
| @ pad.18: 0.3 min width of met3 under pad metal |
| COPY met3UndPadMetMinW |
| } |
| met1UndPadMetMaxW = WITH WIDTH ((met1 AND padMetal) NOT met1Shield) > 25.0 |
| "r_1340_pad.19" { |
| @ pad.19: 25 max width of met1 under pad metal |
| COPY met1UndPadMetMaxW |
| } |
| met2UndPadMetMaxW = WITH WIDTH ((met2 AND padMetal) NOT met1Shield) > 25.0 |
| "r_1341_pad.19" { |
| @ pad.19: 25 max width of met2 under pad metal |
| COPY met2UndPadMetMaxW |
| } |
| hpb_exemptions = EXTENT CELL "hpb_esdTriggerULB_b*" "s8hpbtoolkit_dual_rx_2*" "s8hpbtoolkit_dual_rx_inv*" ORIGINAL |
| ind_exemptions = EXTENT CELL "s8bio_top_biocmux_vccio*" ORIGINAL |
| k2_exemptions = EXTENT CELL "k2_east_pads_top*" "k2_west_pads_top*" ORIGINAL |
| kry_exemptions = EXTENT CELL "krypton_io_pframe*" "krypton2_toplevel" ORIGINAL |
| leo_exemptons = EXTENT CELL "s8ppscio_top_vca_2*" "s8ppscio_top_vcd_2*" "s8ppscio_top_vda_2*" "s8ppscio_top_vdd_2*" "s8ppscio_top_vdd_3*" "s8ppscio_top_vddabuf*" "s8ppscio_top_vio*" "s8ppscio_top_vssa_2*" "s8ppscio_top_vssd_2*" "s8ppscio_top_vssio_2*" "s8ppscio_top_vssio_3*" "s8ppscio_top_vssio_2*" "s8ppscio_top_vssabuf*" "s8ppscio_top_vusb_2" ORIGINAL |
| tsg_exemptions = EXTENT CELL "s8esdg4_net_io_b*" "s8ppscio_top_vcd_2*" "s8ppscio_top_vdd_2*" "s8tsg4io_top_vio*" "s8tsg4io_top_vssd_2*" "s8tsg4io_top_vssio_2*" "s8tkm0s8_corner_tp2*" ORIGINAL |
| qspi_exemptions = EXTENT CELL "s8tnvsio18_io_top" "s8tnviso18_io_top_hv" "quadspinvsram_top*" ORIGINAL |
| pad_19_exemptions = hpb_exemptions OR |
| (ind_exemptions OR |
| (k2_exemptions OR |
| (kry_exemptions OR |
| (leo_exemptons OR |
| (tsg_exemptions OR qspi_exemptions))))) |
| aupmetUndPadMetMaxW = (WITH WIDTH (met3 AND padMetal) > 6.0) NOT pad_19_exemptions |
| "r_1342_pad.19" { |
| @ pad.19: 6 max width of met3 under pad metal |
| COPY aupmetUndPadMetMaxW |
| } |
| padFPedgX = bondpadFP COINCIDENT EDGE (minSpacepadXedges OR minSpacepadYedges) |
| padFPedgXsz = EXPAND EDGE padFPedgX INSIDE BY 30 |
| badFPwEdg = LENGTH (padFPedgXsz NOT COINCIDENT EDGE padFPedgX) > 30.0 < 60.0 |
| badFPwEdgSz = EXPAND EDGE badFPwEdg INSIDE BY 0.005 |
| badFPwidth = INTERACT (bondpadFP NOT bondpadCuPillar) ((bondpadFP NOT bondpadCuPillar) AND (INTERACT (EXPAND EDGE padFPedgX INSIDE BY 0.005) ((EXPAND EDGE padFPedgX INSIDE BY 0.005) AND badFPwEdgSz) == 2)) |
| padFPedgY = bondpadFP COINCIDENT EDGE (minSpacepadXyEdge OR minSpacepadYyedge) |
| padFPedgYsz = EXPAND EDGE padFPedgY INSIDE BY 30 |
| badFPlEdg = LENGTH (padFPedgYsz NOT COINCIDENT EDGE padFPedgY) > 30.0 < 60.0 |
| badFPlEdgSz = EXPAND EDGE badFPlEdg INSIDE BY 0.005 |
| badFPlength = INTERACT (bondpadFP NOT bondpadCuPillar) ((bondpadFP NOT bondpadCuPillar) AND (INTERACT (EXPAND EDGE padFPedgY INSIDE BY 0.005) ((EXPAND EDGE padFPedgY INSIDE BY 0.005) AND badFPlEdgSz) == 2)) |
| padSTGedgX = bondpadSTG COINCIDENT EDGE (minSpacepadXedges OR minSpacepadYedges) |
| padSTGedgXsz = EXPAND EDGE padSTGedgX INSIDE BY 30 |
| badSTGwEdg = LENGTH (padSTGedgXsz NOT COINCIDENT EDGE padSTGedgX) > 30.0 < 60.0 |
| badSTGwEdgSz = EXPAND EDGE badSTGwEdg INSIDE BY 0.005 |
| badSTGwidth = INTERACT bondpadSTG (bondpadSTG AND (INTERACT (EXPAND EDGE padSTGedgX INSIDE BY 0.005) ((EXPAND EDGE padSTGedgX INSIDE BY 0.005) AND badSTGwEdgSz) == 2)) |
| padSTGedgY = bondpadSTG COINCIDENT EDGE (minSpacepadXyEdge OR minSpacepadYyedge) |
| padSTGedgYsz = EXPAND EDGE padSTGedgY INSIDE BY 30 |
| badSTGlEdg = LENGTH (padSTGedgYsz NOT COINCIDENT EDGE padSTGedgY) > 30.0 < 60.0 |
| badSTGlEdgSz = EXPAND EDGE badSTGlEdg INSIDE BY 0.005 |
| badSTGlength = INTERACT bondpadSTG (bondpadSTG AND (INTERACT (EXPAND EDGE padSTGedgY INSIDE BY 0.005) ((EXPAND EDGE padSTGedgY INSIDE BY 0.005) AND badSTGlEdgSz) == 2)) |
| psoc4cuCells = EXTENT CELL "psoc4*_top*" |
| bondpadHPcu = bondpadHP AND psoc4cuCells |
| bondpadHPorg = bondpadHP NOT bondpadHPcu |
| padHPedgX = bondpadHPorg COINCIDENT EDGE (minSpacepadXedges OR minSpacepadYedges) |
| padHPedgXsz = EXPAND EDGE padHPedgX INSIDE BY 30 |
| badHPwEdg = LENGTH (padHPedgXsz NOT COINCIDENT EDGE padHPedgX) > 30.0 < 60.0 |
| badHPwEdgSz = EXPAND EDGE badHPwEdg INSIDE BY 0.005 |
| badHPwidth = INTERACT bondpadHP (bondpadHP AND (INTERACT (EXPAND EDGE padHPedgX INSIDE BY 0.005) ((EXPAND EDGE padHPedgX INSIDE BY 0.005) AND badHPwEdgSz) == 2)) |
| padHPedgY = bondpadHPorg COINCIDENT EDGE (minSpacepadXyEdge OR minSpacepadYyedge) |
| padHPedgYsz = EXPAND EDGE padHPedgY INSIDE BY 30 |
| badHPlEdg = LENGTH (padHPedgYsz NOT COINCIDENT EDGE padHPedgY) > 30.0 < 60.0 |
| badHPlEdgSz = EXPAND EDGE badHPlEdg INSIDE BY 0.005 |
| badHPlength = INTERACT bondpadHP (bondpadHP AND (INTERACT (EXPAND EDGE padHPedgY INSIDE BY 0.005) ((EXPAND EDGE padHPedgY INSIDE BY 0.005) AND badHPlEdgSz) == 2)) |
| padHPcuedgX = bondpadHPcu COINCIDENT EDGE (minSpacepadXedges OR minSpacepadYedges) |
| padHPcuedgXsz = EXPAND EDGE padHPcuedgX INSIDE BY 29 |
| badHPcuwEdg = LENGTH (padHPcuedgXsz NOT COINCIDENT EDGE padHPcuedgX) > 29.0 < 58.0 |
| badHPcuwEdgSz = EXPAND EDGE badHPcuwEdg INSIDE BY 0.005 |
| badHPcuwidth = INTERACT (bondpadHPcu NOT bondpadHPcuSolo) ((bondpadHPcu NOT bondpadHPcuSolo) AND (INTERACT (EXPAND EDGE padHPcuedgX INSIDE BY 0.005) ((EXPAND EDGE padHPcuedgX INSIDE BY 0.005) AND badHPcuwEdgSz) == 2)) |
| padHPcuedgY = bondpadHPcu COINCIDENT EDGE (minSpacepadXyEdge OR minSpacepadYyedge) |
| padHPcuedgYsz = EXPAND EDGE padHPcuedgY INSIDE BY 30 |
| badHPculEdg = LENGTH (padHPcuedgYsz NOT COINCIDENT EDGE padHPcuedgY) > 30.0 < 60.0 |
| badHPculEdgSz = EXPAND EDGE badHPculEdg INSIDE BY 0.005 |
| badHPculength = INTERACT (bondpadHPcu NOT (psoc4xmt OR bondpadHPcuSolo)) ((bondpadHPcu NOT (psoc4xmt OR bondpadHPcuSolo)) AND (INTERACT (EXPAND EDGE padHPcuedgY INSIDE BY 0.005) ((EXPAND EDGE padHPcuedgY INSIDE BY 0.005) AND badHPculEdgSz) == 2)) |
| bondpadHPcuSz = SIZE bondPadHPcu BY (50.0 / 2) |
| bondpadHPcuSolo = bondpadHPcu AND (INTERACT bondpadHPcuSz bondpadHPcu == 1) |
| bondpadHPcuSoloSz = SIZE bondPadHPcuSolo BY 10 UNDEROVER |
| badHPcuSoloWL = NOT RECTANGLE bondpadHPcuSoloSz >= 58.0 BY >= 60.0 |
| padWLBIedgX = bondpadWLBI COINCIDENT EDGE (minSpacepadXedges OR minSpacepadYedges) |
| padWLBIedgXsz = EXPAND EDGE padWLBIedgX INSIDE BY 25 |
| badWLBIwEdg = LENGTH (padWLBIedgXsz NOT COINCIDENT EDGE padWLBIedgX) > 25.0 < 50.0 |
| badWLBIwEdgSz = EXPAND EDGE badWLBIwEdg INSIDE BY 0.005 |
| badWLBIwidth = INTERACT bondpadWLBI (bondpadWLBI AND (INTERACT (EXPAND EDGE padWLBIedgX INSIDE BY 0.005) ((EXPAND EDGE padWLBIedgX INSIDE BY 0.005) AND badWLBIwEdgSz) == 2)) |
| padWLBIedgY = bondpadWLBI COINCIDENT EDGE (minSpacepadXyEdge OR minSpacepadYyedge) |
| padWLBIedgYsz = EXPAND EDGE padWLBIedgY INSIDE BY 30 |
| badWLBIlEdg = LENGTH (padWLBIedgYsz NOT COINCIDENT EDGE padWLBIedgY) > 30.0 < 60.0 |
| badWLBIlEdgSz = EXPAND EDGE badWLBIlEdg INSIDE BY 0.005 |
| badWLBIlength = INTERACT bondpadWLBI (bondpadWLBI AND (INTERACT (EXPAND EDGE padWLBIedgY INSIDE BY 0.005) ((EXPAND EDGE padWLBIedgY INSIDE BY 0.005) AND badWLBIlEdgSz) == 2)) |
| "r_1343_pad.2.1" { |
| @ pad.2.1: 60 min width of padPLFP in x direction |
| COPY badFPwidth |
| } |
| "r_1344_pad.3.1" { |
| @ pad.3.1: 60 min length of padPLFP in y direction |
| COPY badFPlength |
| } |
| "r_1345_pad.4.1" { |
| @ pad.4.1: 60 min width of padPLSTG in x direction |
| COPY badSTGwidth |
| } |
| "r_1346_pad.5.1" { |
| @ pad.5.1: 60 min length of padPLSTG in y direction |
| COPY badSTGlength |
| } |
| "r_1347_pad.6.1" { |
| @ pad.6.1: 60 min width of padPLHP in x direction |
| COPY badHPwidth |
| } |
| "r_1348_pad.6.1" { |
| @ pad.6.1: 60 min length of padPLHP in y direction |
| COPY badHPlength |
| } |
| "r_1349_pad.6.1a" { |
| @ pad.6.1a: 58 min width of padPLHPcu in x direction |
| COPY badHPcuwidth |
| } |
| "r_1350_pad.6.1b" { |
| @ pad.6.1b: 60 min length of padPLHPcu in y direction |
| COPY badHPculength |
| } |
| "r_1351_pad.6.1a/b" { |
| @ pad.6.1a/b: 58x60 min dimensions of padPLHPcu which are not within 50 of other pad |
| COPY badHPcuSoloWL |
| } |
| "r_1352_pad.7.1" { |
| @ pad.7.1: 50 min width of padPLWLBI in x direction |
| COPY badWLBIwidth |
| } |
| "r_1353_pad.8.1" { |
| @ pad.8.1: 60 min length of padPLWLBI in y direction |
| COPY badWLBIlength |
| } |
| bondpadCuPillarSz = SIZE (pad AND bondpadCuPillar) UNDEROVER BY 10 |
| q0bondpadCuPillarSz = NOT RECTANGLE bondpadCuPillarSz ORTHOGONAL ONLY |
| "r_1354_pad_2/3.1" { |
| @ pad_2/3.1: bondpadCuPillarSz should be rectangular |
| COPY q0bondpadCuPillarSz |
| } |
| q1bondpadCuPillarSz = INTERNAL bondpadCuPillarSz < 39.0 REGION |
| "r_1355_pad_2/3.1" { |
| @ pad_2/3.1: 39 min. width of bondpadCuPillarSz |
| COPY q1bondpadCuPillarSz |
| } |
| q2bondpadCuPillarSz = bondpadCuPillarSz WITH EDGE (LENGTH bondpadCuPillarSz > 39.0) |
| "r_1356_pad_2/3.1" { |
| @ pad_2/3.1: 39 max. length of bondpadCuPillarSz |
| COPY q2bondpadCuPillarSz |
| } |
| padFPedgSzXsp = EXPAND EDGE padFPedgX OUTSIDE BY 8 |
| padFPspaceBad = INTERACT padFPedgSzXsp (padFPedgSzXsp AND (bondpadFP OR (bondpadHP OR (bondpadSTG OR bondpadWLBI)))) |
| padHPedgSzXsp = EXPAND EDGE padHPedgX OUTSIDE BY 15 |
| padHPspaceBad = INTERACT padHPedgSzXsp (padHPedgSzXsp AND (bondpadHPorg OR (bondpadSTG OR bondpadWLBI))) |
| padHPedgSzXspCu = EXPAND EDGE padHPcuedgX OUTSIDE BY 7 |
| padHPspaceBadCu = INTERACT padHPedgSzXspCu (padHPedgSzXspCu AND (bondpadHPcu OR (bondpadSTG OR bondpadWLBI))) |
| padWLBIedgSzXsp = EXPAND EDGE padWLBIedgX OUTSIDE BY 50 |
| padWLBIspaceBad = INTERACT padWLBIedgSzXsp (padWLBIedgSzXsp AND bondpadWLBI) |
| padSTGedgSzXsp = EXPAND EDGE padSTGedgX OUTSIDE BY 30 |
| padSTGspaceBad = INTERACT padSTGedgSzXsp (padSTGedgSzXsp AND bondpadSTG) |
| "r_1357_pad.1.2" { |
| @ pad.1.2: 8 min space of padPLFP in x direction to padPLFP/HP/STG/WLBI |
| COPY padFPspaceBad |
| } |
| "r_1358_pad.2.2" { |
| @ pad.2.2: 15 min space of padPLHPorg in x direction to padPLHP/STG/WLBI |
| COPY padHPspaceBad |
| } |
| "r_1359_pad.2.2a" { |
| @ pad.2.2a: 7 min space of padPLHPcu in x direction to padPLHPcu/STG/WLBI |
| COPY padHPspaceBadCu |
| } |
| "r_1360_pad.3.2" { |
| @ pad.3.2: 50 min space of padPLWLBI in x direction to padPLSTG/WLBI |
| COPY padWLBIspaceBad |
| } |
| "r_1361_pad.4.2" { |
| @ pad.4.2: 30 min space of padPLSTG in x direction to padPLSTG |
| COPY padSTGspaceBad |
| } |
| maxBondPadWidth1 = INTERNAL BONDPAD <= 150.0 ABUT < 90 SINGULAR PARALLEL ONLY OPPOSITE REGION |
| maxBondPadWidth2 = INTERACT BONDPAD (BONDPAD AND maxBondPadWidth1) |
| maxBondPadWidthErr = BONDPAD NOT maxBondPadWidth2 |
| BondPadWidthDiff = BONDPAD NOT maxBondPadWidth1 |
| maxBondPadWidthErr1 = INTERACT BONDPAD (BONDPAD AND BondPadWidthDiff) == 2 |
| errMaxBondPadWidth = maxBondPadWidthErr OR maxBondPadWidthErr1 |
| "r_1362_pad.9.1" { |
| @ pad.9.1: 150.0um Max Width/Length of bond pad |
| COPY errMaxBondPadWidth |
| } |
| padCenterAllX = padCenter AND (BONDPAD AND padX) |
| padCenterAllY = padCenter AND (BONDPAD AND padY) |
| padCenterAllxSz = EXPAND EDGE (ANGLE padCenterAllX == 90) OUTSIDE BY 200000 |
| padCenterAllySz = EXPAND EDGE (ANGLE padCenterAllY == 0) OUTSIDE BY 200000 |
| padCenterDieX = (padCenterAllX OR padCenterAllxSz) AND solid_seal |
| padCenterDieY = (padCenterAllY OR padCenterAllySz) AND solid_seal |
| padCenterinDieXw = INTERNAL padCenterDieX == 0.2 ABUT < 90 OPPOSITE PARALLEL REGION |
| padCenterinDieYw = INTERNAL padCenterDieY == 0.2 ABUT < 90 OPPOSITE PARALLEL REGION |
| padCenterinDieXsp = EXTERNAL padCenterDieX < 9.0 ABUT < 90 SINGULAR REGION |
| padCenterinDieYsp = EXTERNAL padCenterDieY < 9.0 ABUT < 90 SINGULAR REGION |
| padCenterinDieXwBad = padCenterDieX NOT padCenterinDieXw |
| padCenterinDieYwBad = padCenterDieY NOT padCenterinDieYw |
| padCenterinDieXspBad = padCenterinDieXsp OR (INTERACT BONDPAD (BONDPAD AND (INTERACT padCenterAllX padCenterinDieXsp))) |
| padCenterinDieYspBad = padCenterinDieYsp OR (INTERACT BONDPAD (BONDPAD AND (INTERACT padCenterAllY padCenterinDieYsp))) |
| padCenterSTGxySz = EXPAND EDGE (ANGLE (bondpadSTG AND padCenterAllX) == 0) OUTSIDE BY 5000 |
| padCenterSTGyySz = EXPAND EDGE (ANGLE (bondpadSTG AND padCenterAllY) == 90) OUTSIDE BY 5000 |
| padCenterSTGinDieXy = (padCenterAllX OR padCenterSTGxySz) AND solid_seal |
| padCenterSTGinDieYy = (padCenterAllY OR padCenterSTGyySz) AND solid_seal |
| "r_1363_pad_6_2" { |
| @ pad_6_2: 39.8 min. spacing of padCenterSTGinDieXy |
| EXTERNAL padCenterSTGinDieXy < 39.8 ABUT < 90 SINGULAR REGION SPACE EXCLUDE FALSE |
| } |
| "r_1364_pad_6_2" { |
| @ pad_6_2: 39.8 min. spacing of padCenterSTGinDieYy |
| EXTERNAL padCenterSTGinDieYy < 39.8 ABUT < 90 SINGULAR REGION SPACE EXCLUDE FALSE |
| } |
| padCenterSTGxxSz = EXPAND EDGE (ANGLE (bondpadSTG AND padCenterAllX) == 90) OUTSIDE BY 5000 |
| padCenterSTGinDieXx = (padCenterAllX OR padCenterSTGxxSz) AND solid_seal |
| padCenterinDieXspSTG = EXTERNAL padCenterSTGinDieXx < 9.0 ABUT < 90 SINGULAR REGION |
| padCenterinDieXspSTGGood = padCenterSTGinDieXx NOT padCenterinDieXspSTG |
| padSTGinDieXsp = INTERACT bondPadSTG (bondPadSTG AND (INTERACT (padCenterAllX AND bondPadSTG) padCenterinDieXspSTGGood)) |
| "r_1365_pad_5_2_4" { |
| @ pad_5_2_4: 9 min. spacing of padSTGinDieXsp & bondPadSTG |
| EXTERNAL padSTGinDieXsp bondPadSTG < 9.0 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| bondpadSTGscribe = EXPAND EDGE padSTGedgX OUTSIDE BY 284 |
| bondpadFPscribe = EXPAND EDGE padFPedgX OUTSIDE BY 200 |
| bondpadHPscribe = EXPAND EDGE padHPedgX OUTSIDE BY 200 |
| bondpadWLBIscribe = EXPAND EDGE padWLBIedgX OUTSIDE BY 200 |
| outsideSEALedge = EXPAND EDGE (solid_seal COINCIDENT EDGE SEALID) OUTSIDE BY 0.005 |
| bondpadSTGscribeBad = INTERACT bondpadSTGscribe (bondpadSTGscribe AND outsideSEALedge) |
| bondpadFPscribeBad = INTERACT bondpadFPscribe (bondpadFPscribe AND outsideSEALedge) |
| bondpadHPscribeBad = INTERACT bondpadHPscribe (bondpadHPscribe AND outsideSEALedge) |
| bondpadWLBIscribeBad = INTERACT bondpadWLBIscribe (bondpadWLBIscribe AND outsideSEALedge) |
| "r_1366_pad.7.2.1" { |
| @ pad.7.2.1: 284 min space of padPLSTG in x direction to adjacent scribe |
| COPY bondpadSTGscribeBad |
| } |
| "r_1367_pad.7.2.2" { |
| @ pad.7.2.2: 200 min space of padPLFP in x direction to adjacent scribe |
| COPY bondpadFPscribeBad |
| } |
| "r_1368_pad.7.2.2" { |
| @ pad.7.2.2: 200 min space of padPLWLBI in x direction to adjacent scribe |
| COPY bondpadWLBIscribeBad |
| } |
| pmmInInd = pmm AND inductor |
| "r_1369_cupad.1" { |
| @ cupad.1: 5 min. width of pad opening inside inductor |
| INTERNAL padInInd < 5.0 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1370_cupad.2" { |
| @ cupad.2: 0 min. enclosure of pad opening inside inductor by pmm |
| q0padInIndand = padInInd AND pmm |
| padInInd NOT pmm |
| } |
| "r_1371_cupad.2" { |
| @ cupad.2: pad opening inside inductor must be enclosed by pmm |
| padInInd NOT pmm |
| } |
| "r_1372_cupad.3" { |
| @ cupad.3: 2.7 min. enclosure of pad opening inside inductor by met5 |
| q1padInIndand = padInInd AND met5 |
| ENCLOSURE q1padInIndand met5 < 2.7 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| "r_1373_cupad.3" { |
| @ cupad.3: pad opening inside inductor must be enclosed by met5 |
| padInInd NOT met5 |
| } |
| "r_1374_cupad.4" { |
| @ cupad.4: 10.75 min. enclosure of pmm inside inductor by rdl |
| q0pmmInIndand = pmmInInd AND rdl |
| ENCLOSURE q0pmmInIndand rdl < 10.75 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| "r_1375_cupad.4" { |
| @ cupad.4: pmm inside inductor must be enclosed by rdl |
| pmmInInd NOT rdl |
| } |
| FRAMEPAD = pad AND (FRAMEID OR moduleCutAREA) |
| ETESTPAD = WITH TEXT FRAMEPAD "e-test" padText |
| UTESTPAD = WITH TEXT FRAMEPAD "u-test" padText |
| RFTESTPAD = WITH TEXT FRAMEPAD "RF" padText |
| EUTESTPAD = ETESTPAD OR |
| (UTESTPAD OR RFTESTPAD) |
| FRAMEPADnoTXT = FRAMEPAD NOT (EUTESTPAD OR laser_targetCells) |
| mconOrVia = mcon OR via |
| ModulecutAndEtest = moduleCutAREA AND ETESTID |
| dieCut150 = CONVEX EDGE dieCut == 2 WITH LENGTH >= 150.0 |
| dieCutCorner = INTERNAL [dieCut150] <= 150.0 INTERSECTING ONLY ABUT == 90 |
| dieCutCornerSz = EXPAND EDGE dieCutCorner INSIDE BY 0.005 CORNER FILL |
| dieCutCornerSzOut = EXPAND EDGE dieCutCorner OUTSIDE BY 150 CORNER FILL |
| scribeJunc150 = frameBndr AND (dieCutCornerSzOut NOT (INTERACT dieCut dieCutCornerSz)) |
| realScribeLine = frameBndr NOT (INTERACT dieCut dieCutCornerSz) |
| widediff = WITH WIDTH diff >= 10.0 |
| wideScribJuncBaddiff = widediff AND scribeJunc150 |
| "r_1376_scribe.5" { |
| @ scribe.5: Wide diff >= 10.0x10.0um within 150.0 of scribe junction |
| COPY wideScribJuncBaddiff |
| } |
| widepoly = WITH WIDTH poly >= 10.0 |
| wideScribJuncBadpoly = widepoly AND scribeJunc150 |
| "r_1377_scribe.5" { |
| @ scribe.5: Wide poly >= 10.0x10.0um within 150.0 of scribe junction |
| COPY wideScribJuncBadpoly |
| } |
| wideli1 = WITH WIDTH li1 >= 10.0 |
| wideScribJuncBadli1 = wideli1 AND scribeJunc150 |
| "r_1378_scribe.5" { |
| @ scribe.5: Wide li1 >= 10.0x10.0um within 150.0 of scribe junction |
| COPY wideScribJuncBadli1 |
| } |
| widemet1 = WITH WIDTH met1 >= 10.0 |
| wideScribJuncBadmet1 = widemet1 AND scribeJunc150 |
| "r_1379_scribe.5" { |
| @ scribe.5: Wide met1 >= 10.0x10.0um within 150.0 of scribe junction |
| COPY wideScribJuncBadmet1 |
| } |
| widemet2 = WITH WIDTH met2 >= 10.0 |
| wideScribJuncBadmet2 = widemet2 AND scribeJunc150 |
| "r_1380_scribe.5" { |
| @ scribe.5: Wide met2 >= 10.0x10.0um within 150.0 of scribe junction |
| COPY wideScribJuncBadmet2 |
| } |
| widemet3 = WITH WIDTH met3 >= 10.0 |
| wideScribJuncBadmet3 = widemet3 AND scribeJunc150 |
| "r_1381_scribe.5" { |
| @ scribe.5: Wide met3 >= 10.0x10.0um within 150.0 of scribe junction |
| COPY wideScribJuncBadmet3 |
| } |
| widemcon = WITH WIDTH mcon >= 10.0 |
| wideScribJuncBadmcon = widemcon AND scribeJunc150 |
| "r_1382_scribe.5" { |
| @ scribe.5: Wide mcon >= 10.0x10.0um within 150.0 of scribe junction |
| COPY wideScribJuncBadmcon |
| } |
| widelicon1 = WITH WIDTH licon1 >= 10.0 |
| wideScribJuncBadlicon1 = widelicon1 AND scribeJunc150 |
| "r_1383_scribe.5" { |
| @ scribe.5: Wide licon1 >= 10.0x10.0um within 150.0 of scribe junction |
| COPY wideScribJuncBadlicon1 |
| } |
| widevia = WITH WIDTH via >= 10.0 |
| wideScribJuncBadvia = widevia AND scribeJunc150 |
| "r_1384_scribe.5" { |
| @ scribe.5: Wide via >= 10.0x10.0um within 150.0 of scribe junction |
| COPY wideScribJuncBadvia |
| } |
| widevia2 = WITH WIDTH via2 >= 10.0 |
| wideScribJuncBadvia2 = widevia2 AND scribeJunc150 |
| "r_1385_scribe.5" { |
| @ scribe.5: Wide via2 >= 10.0x10.0um within 150.0 of scribe junction |
| COPY wideScribJuncBadvia2 |
| } |
| widemet4 = WITH WIDTH met4 >= 10.0 |
| wideScribJuncBadmet4 = widemet4 AND scribeJunc150 |
| "r_1386_scribe.5" { |
| @ scribe.5: Wide met4 >= 10.0x10.0um within 150.0 of scribe junction |
| COPY wideScribJuncBadmet4 |
| } |
| widemet5 = WITH WIDTH met5 >= 10.0 |
| wideScribJuncBadmet5 = widemet5 AND scribeJunc150 |
| "r_1387_scribe.5" { |
| @ scribe.5: Wide met5 >= 10.0x10.0um within 150.0 of scribe junction |
| COPY wideScribJuncBadmet5 |
| } |
| widevia3 = WITH WIDTH via3 >= 10.0 |
| wideScribJuncBadvia3 = widevia3 AND scribeJunc150 |
| "r_1388_scribe.5" { |
| @ scribe.5: Wide via3 >= 10.0x10.0um within 150.0 of scribe junction |
| COPY wideScribJuncBadvia3 |
| } |
| widevia4 = WITH WIDTH via4 >= 10.0 |
| wideScribJuncBadvia4 = widevia4 AND scribeJunc150 |
| "r_1389_scribe.5" { |
| @ scribe.5: Wide via4 >= 10.0x10.0um within 150.0 of scribe junction |
| COPY wideScribJuncBadvia4 |
| } |
| widemm1mk = WITH WIDTH mm1mk >= 10.0 |
| wideScribJuncBadmm1mk = widemm1mk AND scribeJunc150 |
| "r_1390_scribe.5" { |
| @ scribe.5: Wide mm1mk >= 10.0x10.0um within 150.0 of scribe junction |
| COPY wideScribJuncBadmm1mk |
| } |
| widemm2mk = WITH WIDTH mm2mk >= 10.0 |
| wideScribJuncBadmm2mk = widemm2mk AND scribeJunc150 |
| "r_1391_scribe.5" { |
| @ scribe.5: Wide mm2mk >= 10.0x10.0um within 150.0 of scribe junction |
| COPY wideScribJuncBadmm2mk |
| } |
| widemm3mk = WITH WIDTH mm3mk >= 10.0 |
| wideScribJuncBadmm3mk = widemm3mk AND scribeJunc150 |
| "r_1392_scribe.5" { |
| @ scribe.5: Wide mm3mk >= 10.0x10.0um within 150.0 of scribe junction |
| COPY wideScribJuncBadmm3mk |
| } |
| widep1mmk = WITH WIDTH p1mmk >= 10.0 |
| wideScribJuncBadp1mmk = widep1mmk AND scribeJunc150 |
| "r_1393_scribe.5" { |
| @ scribe.5: Wide p1mmk >= 10.0x10.0um within 150.0 of scribe junction |
| COPY wideScribJuncBadp1mmk |
| } |
| widefommk = WITH WIDTH fommk >= 10.0 |
| wideScribJuncBadfommk = widefommk AND scribeJunc150 |
| "r_1394_scribe.5" { |
| @ scribe.5: Wide fommk >= 10.0x10.0um within 150.0 of scribe junction |
| COPY wideScribJuncBadfommk |
| } |
| widectm1mk = WITH WIDTH ctm1mk >= 10.0 |
| wideScribJuncBadctm1mk = widectm1mk AND scribeJunc150 |
| "r_1395_scribe.5" { |
| @ scribe.5: Wide ctm1mk >= 10.0x10.0um within 150.0 of scribe junction |
| COPY wideScribJuncBadctm1mk |
| } |
| widelicm1mk = WITH WIDTH licm1mk >= 10.0 |
| wideScribJuncBadlicm1mk = widelicm1mk AND scribeJunc150 |
| "r_1396_scribe.5" { |
| @ scribe.5: Wide licm1mk >= 10.0x10.0um within 150.0 of scribe junction |
| COPY wideScribJuncBadlicm1mk |
| } |
| wideli1mmk = WITH WIDTH li1mmk >= 10.0 |
| wideScribJuncBadli1mmk = wideli1mmk AND scribeJunc150 |
| "r_1397_scribe.5" { |
| @ scribe.5: Wide li1mmk >= 10.0x10.0um within 150.0 of scribe junction |
| COPY wideScribJuncBadli1mmk |
| } |
| widevimmk = WITH WIDTH vimmk >= 10.0 |
| wideScribJuncBadvimmk = widevimmk AND scribeJunc150 |
| "r_1398_scribe.5" { |
| @ scribe.5: Wide vimmk >= 10.0x10.0um within 150.0 of scribe junction |
| COPY wideScribJuncBadvimmk |
| } |
| widevim2mk = WITH WIDTH vim2mk >= 10.0 |
| wideScribJuncBadvim2mk = widevim2mk AND scribeJunc150 |
| "r_1399_scribe.5" { |
| @ scribe.5: Wide vim2mk >= 10.0x10.0um within 150.0 of scribe junction |
| COPY wideScribJuncBadvim2mk |
| } |
| widemm4mk = WITH WIDTH mm4mk >= 10.0 |
| wideScribJuncBadmm4mk = widemm4mk AND scribeJunc150 |
| "r_1400_scribe.5" { |
| @ scribe.5: Wide mm4mk >= 10.0x10.0um within 150.0 of scribe junction |
| COPY wideScribJuncBadmm4mk |
| } |
| widemm5mk = WITH WIDTH mm5mk >= 10.0 |
| wideScribJuncBadmm5mk = widemm5mk AND scribeJunc150 |
| "r_1401_scribe.5" { |
| @ scribe.5: Wide mm5mk >= 10.0x10.0um within 150.0 of scribe junction |
| COPY wideScribJuncBadmm5mk |
| } |
| widevim3mk = WITH WIDTH vim3mk >= 10.0 |
| wideScribJuncBadvim3mk = widevim3mk AND scribeJunc150 |
| "r_1402_scribe.5" { |
| @ scribe.5: Wide vim3mk >= 10.0x10.0um within 150.0 of scribe junction |
| COPY wideScribJuncBadvim3mk |
| } |
| widevim4mk = WITH WIDTH vim4mk >= 10.0 |
| wideScribJuncBadvim4mk = widevim4mk AND scribeJunc150 |
| "r_1403_scribe.5" { |
| @ scribe.5: Wide vim4mk >= 10.0x10.0um within 150.0 of scribe junction |
| COPY wideScribJuncBadvim4mk |
| } |
| "r_1404_scribe.6a" { |
| @ scribe.6a: pad inside frame or moduleCut without text label |
| COPY FRAMEPADnoTXT |
| } |
| "r_1405_scribe.6d" { |
| @ scribe.6d: mconOrVia must not overlap EUTESTPAD |
| mconOrVia AND EUTESTPAD |
| } |
| "r_1406_scribe.6e" { |
| @ scribe.6e: EUTESTPAD must be enclosed by areaid module cut AND areaid etest |
| EUTESTPAD NOT ModulecutAndEtest |
| } |
| err_stradMod_nwell = CUT nwell (INTERACT moduleCutAREA ETESTPAD) |
| "r_1407_scribe.7" { |
| @ scribe.7: nwell drawn layer cannot straddle areaid:ModuleCut |
| COPY err_stradMod_nwell |
| } |
| err_stradMod_diff = CUT diff (INTERACT moduleCutAREA ETESTPAD) |
| "r_1408_scribe.7" { |
| @ scribe.7: diff drawn layer cannot straddle areaid:ModuleCut |
| COPY err_stradMod_diff |
| } |
| err_stradMod_dnwell = CUT dnwell (INTERACT moduleCutAREA ETESTPAD) |
| "r_1409_scribe.7" { |
| @ scribe.7: dnwell drawn layer cannot straddle areaid:ModuleCut |
| COPY err_stradMod_dnwell |
| } |
| err_stradMod_tap = CUT tap (INTERACT moduleCutAREA ETESTPAD) |
| "r_1410_scribe.7" { |
| @ scribe.7: tap drawn layer cannot straddle areaid:ModuleCut |
| COPY err_stradMod_tap |
| } |
| err_stradMod_lvtn = CUT lvtn (INTERACT moduleCutAREA ETESTPAD) |
| "r_1411_scribe.7" { |
| @ scribe.7: lvtn drawn layer cannot straddle areaid:ModuleCut |
| COPY err_stradMod_lvtn |
| } |
| err_stradMod_hvtp = CUT hvtp (INTERACT moduleCutAREA ETESTPAD) |
| "r_1412_scribe.7" { |
| @ scribe.7: hvtp drawn layer cannot straddle areaid:ModuleCut |
| COPY err_stradMod_hvtp |
| } |
| err_stradMod_hvi = CUT hvi (INTERACT moduleCutAREA ETESTPAD) |
| "r_1413_scribe.7" { |
| @ scribe.7: hvi drawn layer cannot straddle areaid:ModuleCut |
| COPY err_stradMod_hvi |
| } |
| err_stradMod_tunm = CUT tunm (INTERACT moduleCutAREA ETESTPAD) |
| "r_1414_scribe.7" { |
| @ scribe.7: tunm drawn layer cannot straddle areaid:ModuleCut |
| COPY err_stradMod_tunm |
| } |
| err_stradMod_poly = CUT poly (INTERACT moduleCutAREA ETESTPAD) |
| "r_1415_scribe.7" { |
| @ scribe.7: poly drawn layer cannot straddle areaid:ModuleCut |
| COPY err_stradMod_poly |
| } |
| err_stradMod_npc = CUT npc (INTERACT moduleCutAREA ETESTPAD) |
| "r_1416_scribe.7" { |
| @ scribe.7: npc drawn layer cannot straddle areaid:ModuleCut |
| COPY err_stradMod_npc |
| } |
| err_stradMod_nsdm = CUT nsdm (INTERACT moduleCutAREA ETESTPAD) |
| "r_1417_scribe.7" { |
| @ scribe.7: nsdm drawn layer cannot straddle areaid:ModuleCut |
| COPY err_stradMod_nsdm |
| } |
| err_stradMod_psdm = CUT psdm (INTERACT moduleCutAREA ETESTPAD) |
| "r_1418_scribe.7" { |
| @ scribe.7: psdm drawn layer cannot straddle areaid:ModuleCut |
| COPY err_stradMod_psdm |
| } |
| err_stradMod_licon1 = CUT licon1 (INTERACT moduleCutAREA ETESTPAD) |
| "r_1419_scribe.7" { |
| @ scribe.7: licon1 drawn layer cannot straddle areaid:ModuleCut |
| COPY err_stradMod_licon1 |
| } |
| err_stradMod_li1 = CUT li1 (INTERACT moduleCutAREA ETESTPAD) |
| "r_1420_scribe.7" { |
| @ scribe.7: li1 drawn layer cannot straddle areaid:ModuleCut |
| COPY err_stradMod_li1 |
| } |
| err_stradMod_mcon = CUT mcon (INTERACT moduleCutAREA ETESTPAD) |
| "r_1421_scribe.7" { |
| @ scribe.7: mcon drawn layer cannot straddle areaid:ModuleCut |
| COPY err_stradMod_mcon |
| } |
| err_stradMod_met1 = CUT met1 (INTERACT moduleCutAREA ETESTPAD) |
| "r_1422_scribe.7" { |
| @ scribe.7: met1 drawn layer cannot straddle areaid:ModuleCut |
| COPY err_stradMod_met1 |
| } |
| err_stradMod_via = CUT via (INTERACT moduleCutAREA ETESTPAD) |
| "r_1423_scribe.7" { |
| @ scribe.7: via drawn layer cannot straddle areaid:ModuleCut |
| COPY err_stradMod_via |
| } |
| err_stradMod_met2 = CUT met2 (INTERACT moduleCutAREA ETESTPAD) |
| "r_1424_scribe.7" { |
| @ scribe.7: met2 drawn layer cannot straddle areaid:ModuleCut |
| COPY err_stradMod_met2 |
| } |
| err_stradMod_vhvi = CUT vhvi (INTERACT moduleCutAREA ETESTPAD) |
| "r_1425_scribe.7" { |
| @ scribe.7: vhvi drawn layer cannot straddle areaid:ModuleCut |
| COPY err_stradMod_vhvi |
| } |
| err_stradMod_via2 = CUT via2 (INTERACT moduleCutAREA ETESTPAD) |
| "r_1426_scribe.7" { |
| @ scribe.7: via2 drawn layer cannot straddle areaid:ModuleCut |
| COPY err_stradMod_via2 |
| } |
| err_stradMod_met3 = CUT met3 (INTERACT moduleCutAREA ETESTPAD) |
| "r_1427_scribe.7" { |
| @ scribe.7: met3 drawn layer cannot straddle areaid:ModuleCut |
| COPY err_stradMod_met3 |
| } |
| err_stradMod_via3 = CUT via3 (INTERACT moduleCutAREA ETESTPAD) |
| "r_1428_scribe.7" { |
| @ scribe.7: via3 drawn layer cannot straddle areaid:ModuleCut |
| COPY err_stradMod_via3 |
| } |
| err_stradMod_met4 = CUT met4 (INTERACT moduleCutAREA ETESTPAD) |
| "r_1429_scribe.7" { |
| @ scribe.7: met4 drawn layer cannot straddle areaid:ModuleCut |
| COPY err_stradMod_met4 |
| } |
| err_stradMod_via4 = CUT via4 (INTERACT moduleCutAREA ETESTPAD) |
| "r_1430_scribe.7" { |
| @ scribe.7: via4 drawn layer cannot straddle areaid:ModuleCut |
| COPY err_stradMod_via4 |
| } |
| err_stradMod_met5 = CUT met5 (INTERACT moduleCutAREA ETESTPAD) |
| "r_1431_scribe.7" { |
| @ scribe.7: met5 drawn layer cannot straddle areaid:ModuleCut |
| COPY err_stradMod_met5 |
| } |
| err_stradMod_nsm = CUT nsm (INTERACT moduleCutAREA ETESTPAD) |
| "r_1432_scribe.7" { |
| @ scribe.7: nsm drawn layer cannot straddle areaid:ModuleCut |
| COPY err_stradMod_nsm |
| } |
| err_stradMod_pad = CUT pad (INTERACT moduleCutAREA ETESTPAD) |
| "r_1433_scribe.7" { |
| @ scribe.7: pad drawn layer cannot straddle areaid:ModuleCut |
| COPY err_stradMod_pad |
| } |
| err_stradMod_ldntm = CUT ldntm (INTERACT moduleCutAREA ETESTPAD) |
| "r_1434_scribe.7" { |
| @ scribe.7: ldntm drawn layer cannot straddle areaid:ModuleCut |
| COPY err_stradMod_ldntm |
| } |
| err_stradMod_hvntm = CUT hvntm (INTERACT moduleCutAREA ETESTPAD) |
| "r_1435_scribe.7" { |
| @ scribe.7: hvntm drawn layer cannot straddle areaid:ModuleCut |
| COPY err_stradMod_hvntm |
| } |
| err_stradMod_pmm = CUT pmm (INTERACT moduleCutAREA ETESTPAD) |
| "r_1436_scribe.7" { |
| @ scribe.7: pmm drawn layer cannot straddle areaid:ModuleCut |
| COPY err_stradMod_pmm |
| } |
| err_stradMod_pnp = CUT pnp (INTERACT moduleCutAREA ETESTPAD) |
| "r_1437_scribe.7" { |
| @ scribe.7: pnp drawn layer cannot straddle areaid:ModuleCut |
| COPY err_stradMod_pnp |
| } |
| err_stradMod_capacitor = CUT capacitor (INTERACT moduleCutAREA ETESTPAD) |
| "r_1438_scribe.7" { |
| @ scribe.7: capacitor drawn layer cannot straddle areaid:ModuleCut |
| COPY err_stradMod_capacitor |
| } |
| err_stradMod_ncm = CUT ncm (INTERACT moduleCutAREA ETESTPAD) |
| "r_1439_scribe.7" { |
| @ scribe.7: ncm drawn layer cannot straddle areaid:ModuleCut |
| COPY err_stradMod_ncm |
| } |
| err_stradMod_pmm2 = CUT pmm2 (INTERACT moduleCutAREA ETESTPAD) |
| "r_1440_scribe.7" { |
| @ scribe.7: pmm2 drawn layer cannot straddle areaid:ModuleCut |
| COPY err_stradMod_pmm2 |
| } |
| err_stradMod_inductor = CUT inductor (INTERACT moduleCutAREA ETESTPAD) |
| "r_1441_scribe.7" { |
| @ scribe.7: inductor drawn layer cannot straddle areaid:ModuleCut |
| COPY err_stradMod_inductor |
| } |
| err_stradMod_rdl = CUT rdl (INTERACT moduleCutAREA ETESTPAD) |
| "r_1442_scribe.7" { |
| @ scribe.7: rdl drawn layer cannot straddle areaid:ModuleCut |
| COPY err_stradMod_rdl |
| } |
| err_stradMod_rpm = CUT (rpm OR urpm) (INTERACT moduleCutAREA ETESTPAD) |
| "r_1443_scribe.7" { |
| @ scribe.7: rpm drawn layer cannot straddle areaid:ModuleCut |
| COPY err_stradMod_rpm |
| } |
| err_stradMod_hvtr = CUT hvtr (INTERACT moduleCutAREA ETESTPAD) |
| "r_1444_scribe.7" { |
| @ scribe.7: hvtr drawn layer cannot straddle areaid:ModuleCut |
| COPY err_stradMod_hvtr |
| } |
| err_stradMod_ubm = CUT ubm (INTERACT moduleCutAREA ETESTPAD) |
| "r_1445_scribe.7" { |
| @ scribe.7: ubm drawn layer cannot straddle areaid:ModuleCut |
| COPY err_stradMod_ubm |
| } |
| err_stradMod_bump = CUT bump (INTERACT moduleCutAREA ETESTPAD) |
| "r_1446_scribe.7" { |
| @ scribe.7: bump drawn layer cannot straddle areaid:ModuleCut |
| COPY err_stradMod_bump |
| } |
| ETESTPAD_67Edges = EXPAND EDGE (LENGTH ETESTPAD == 67.0) OUTSIDE BY 0.005 |
| ETESTPAD_35Edges = EXPAND EDGE (LENGTH ETESTPAD == 35.0) OUTSIDE BY 0.005 |
| ETESTPAD_67 = TOUCH ETESTPAD ETESTPAD_67Edges == 4 |
| ETESTPAD_35 = TOUCH ETESTPAD ETESTPAD_35Edges == 4 |
| err_scribe_8 = INTERACT (INTERACT moduleCutAREA (moduleCutAREA AND ETESTPAD_67)) ((INTERACT moduleCutAREA (moduleCutAREA AND ETESTPAD_67)) AND ETESTPAD_35) |
| err_scribe_9 = ETESTPAD NOT (ETESTPAD_67 OR ETESTPAD_35) |
| "r_1447_scribe.8" { |
| @ scribe.8: Etest-pad-67 and Etest-pad-35 should not exist in the same module |
| COPY err_scribe_8 |
| } |
| "r_1448_scribe.9" { |
| @ scribe.9: Etest pad Width and Length is either 67.00 um or 35.00um |
| COPY err_scribe_9 |
| } |
| ETESTPAD_spcless905 = NOT CUT (EXTERNAL ETESTPAD_67 < 90.5 ABUT < 90 SINGULAR PARALLEL OPPOSITE REGION) ETESTID |
| ETESTPADSz = SIZE ETESTPAD_67 BY (90.5 / 2) INSIDE OF ETESTID |
| moduleCutAREA_err = ETESTPADSz AND (INTERACT ETESTID (INTERACT ETESTPADSz ETESTPAD_67) > 1) |
| "r_1449_scribe.10" { |
| @ scribe.10: Min/Max Spacing between Etest pad (67um*67um) with in same module should be 90.5um |
| COPY ETESTPAD_spcless905 |
| } |
| "r_1450_scribe.10" { |
| @ scribe.10: Min/MaxSpacing between Etest pad (67um*67um)with in same module should be 90.5um |
| COPY moduleCutAREA_err |
| } |
| ETESTPAD_spcless55 = NOT CUT (EXTERNAL ETESTPAD_35 < 55.0 ABUT < 90 SINGULAR PARALLEL OPPOSITE REGION) ETESTID |
| ETESTPADSz1 = SIZE ETESTPAD_35 BY (55.0 / 2) INSIDE OF ETESTID |
| moduleCutAREA_err1 = ETESTPADSz1 AND (INTERACT ETESTID (INTERACT ETESTPADSz1 ETESTPAD_35) > 1) |
| "r_1451_scribe.11" { |
| @ scribe.11: Min/Max Spacing between Etest pad (35um*35um) with in same module should be 55um |
| COPY ETESTPAD_spcless55 |
| } |
| "r_1452_scribe.11" { |
| @ scribe.11: Min/MaxSpacing between Etest pad (35um*35um)with in same module should be 55um |
| COPY moduleCutAREA_err1 |
| } |
| "r_1453_scribe.12" { |
| @ scribe.12: 7.5 min. enclosure of ETESTPAD by areaid module cut |
| q0ETESTPADand = ETESTPAD AND moduleCutAREA |
| ENCLOSURE q0ETESTPADand moduleCutAREA < 7.5 MEASURE ALL ABUT < 90 REGION |
| } |
| met1_badETESTmet = INTERACT ETESTPAD (ETESTPAD NOT met1) |
| ETESTPAD_met1 = ETESTPAD NOT met1_badETESTmet |
| "r_1454_scribe.13" { |
| @ scribe.13: 2.50um min. enclosure of Etest pad by met1 |
| COPY met1_badETESTmet |
| } |
| "r_1455_scribe.13" { |
| @ scribe.13: 2.5 min. enclosure of ETESTPAD_met1 by met1 |
| q0ETESTPAD_met1and = ETESTPAD_met1 AND met1 |
| ENCLOSURE q0ETESTPAD_met1and met1 < 2.5 MEASURE ALL ABUT < 90 REGION |
| } |
| met2_badETESTmet = INTERACT ETESTPAD (ETESTPAD NOT met2) |
| ETESTPAD_met2 = ETESTPAD NOT met2_badETESTmet |
| "r_1456_scribe.13" { |
| @ scribe.13: 2.50um min. enclosure of Etest pad by met2 |
| COPY met2_badETESTmet |
| } |
| "r_1457_scribe.13" { |
| @ scribe.13: 2.5 min. enclosure of ETESTPAD_met2 by met2 |
| q0ETESTPAD_met2and = ETESTPAD_met2 AND met2 |
| ENCLOSURE q0ETESTPAD_met2and met2 < 2.5 MEASURE ALL ABUT < 90 REGION |
| } |
| met3_badETESTmet = INTERACT ETESTPAD (ETESTPAD NOT met3) |
| ETESTPAD_met3 = ETESTPAD NOT met3_badETESTmet |
| "r_1458_scribe.13" { |
| @ scribe.13: 2.50um min. enclosure of Etest pad by met3 |
| COPY met3_badETESTmet |
| } |
| "r_1459_scribe.13" { |
| @ scribe.13: 2.5 min. enclosure of ETESTPAD_met3 by met3 |
| q0ETESTPAD_met3and = ETESTPAD_met3 AND met3 |
| ENCLOSURE q0ETESTPAD_met3and met3 < 2.5 MEASURE ALL ABUT < 90 REGION |
| } |
| met4_badETESTmet = INTERACT ETESTPAD (ETESTPAD NOT met4) |
| ETESTPAD_met4 = ETESTPAD NOT met4_badETESTmet |
| "r_1460_scribe.13" { |
| @ scribe.13: 2.50um min. enclosure of Etest pad by met4 |
| COPY met4_badETESTmet |
| } |
| "r_1461_scribe.13" { |
| @ scribe.13: 2.5 min. enclosure of ETESTPAD_met4 by met4 |
| q0ETESTPAD_met4and = ETESTPAD_met4 AND met4 |
| ENCLOSURE q0ETESTPAD_met4and met4 < 2.5 MEASURE ALL ABUT < 90 REGION |
| } |
| met5_badETESTmet = INTERACT ETESTPAD (ETESTPAD NOT met5) |
| ETESTPAD_met5 = ETESTPAD NOT met5_badETESTmet |
| "r_1462_scribe.13" { |
| @ scribe.13: 2.50um min. enclosure of Etest pad by met5 |
| COPY met5_badETESTmet |
| } |
| "r_1463_scribe.13" { |
| @ scribe.13: 2.5 min. enclosure of ETESTPAD_met5 by met5 |
| q0ETESTPAD_met5and = ETESTPAD_met5 AND met5 |
| ENCLOSURE q0ETESTPAD_met5and met5 < 2.5 MEASURE ALL ABUT < 90 REGION |
| } |
| err_etest_14 = INTERNAL UTESTPAD < 10.0 PARALLEL OPPOSITE REGION |
| "r_1464_scribe.14" { |
| @ scribe.14: Minimum Utest pad Width and Length is 10um |
| COPY err_etest_14 |
| } |
| err_etest_15 = NOT CUT (EXTERNAL UTESTPAD < 15.0 ABUT < 90 SINGULAR REGION) moduleCutAREA |
| "r_1465_scribe.15" { |
| @ scribe.15: Min Spacing between Utest pad opening should be 15um |
| COPY err_etest_15 |
| } |
| err_etest_16 = NOT CUT (EXTERNAL UTESTPAD ETESTPAD < 7.0 ABUT < 90 SINGULAR REGION) moduleCutAREA |
| "r_1466_scribe.16" { |
| @ scribe.16: Min Spacing between Utest pad and Etest pad opening should be 7um |
| COPY err_etest_16 |
| } |
| "r_1467_scribe.17" { |
| @ scribe.17: 2.5 min. enclosure of UTESTPAD by met5 |
| q0UTESTPADand = UTESTPAD AND met5 |
| ENCLOSURE q0UTESTPADand met5 < 2.5 MEASURE ALL ABUT < 90 REGION |
| } |
| ETESTPAD_spcequal905 = NOT CUT (EXTERNAL ETESTPAD_67 == 90.5 ABUT < 90 SINGULAR PARALLEL OPPOSITE REGION) moduleCutAREA |
| sameSpcError905 = NOT INTERACT ETESTPAD_67 ETESTPAD_spcequal905 |
| "r_1468_scribe.18" { |
| @ scribe.18: Spacing of E-test pad opening to E-test pad opening in the same module must all be equal |
| COPY sameSpcError905 |
| } |
| ETESTPAD_spcequal55 = NOT CUT (EXTERNAL ETESTPAD_35 == 55.0 ABUT < 90 SINGULAR PARALLEL OPPOSITE REGION) moduleCutAREA |
| sameSpcError55 = NOT INTERACT ETESTPAD_35 ETESTPAD_spcequal55 |
| "r_1469_scribe.18" { |
| @ scribe.18: Spacing of E-test pad opening to E-test pad opening in the same module must all be equal |
| COPY sameSpcError55 |
| } |
| "r_1470_scribe.19" { |
| @ scribe.19: 76 min. width of realScribeLine |
| INTERNAL realScribeLine < 76.0 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| scribe20_xmpt = EXTENT CELL "s8Fab_*" "cys8_*" |
| dieCutSizeLarge = (SIZE dieCut BY 13) NOT dieCut |
| dieCutSizeSmall = (SIZE dieCut BY 3) NOT dieCut |
| padAreaToCheck = dieCutSizeLarge NOT (dieCutSizeSmall OR scribe20_xmpt) |
| padNotCoverArea = padAreaToCheck NOT pad |
| "r_1471_scribe.20" { |
| @ scribe.20: Pad.dg is to be drawn from 3.0um from scribe edge to 13.0um from scribe edge |
| COPY padNotCoverArea |
| } |
| padInScribe = (pad OR PDMmk) AND realScribeLine |
| padRing = padAreaToCheck AND pad |
| padError = padInScribe NOT (padRing OR moduleCutArea) |
| "r_1472_scribe.21" { |
| @ scribe.21: Scribe must not enclose pdm.dg nor pdm.mk except for etest pads, die pad rings |
| COPY padError |
| } |
| ///adding capm, cap2m rules |
| DISCONNECT |
| CONNECT dnwell nwell |
| CONNECT nwell tap BY NTAP |
| CONNECT tap li1 BY licon1 |
| CONNECT poly li1 BY npccon |
| CONNECT li1 met1 BY mcon |
| CONNECT met1 met2 BY via |
| CONNECT met2 met3 BY via2 |
| capm_via3 = via3 AND capm |
| via3_notcapm = via3 NOT capm_via3 |
| CONNECT met3 met4 BY via3_notcapm |
| CONNECT capm met4 BY capm_via3 |
| cap2m_via4 = via4 AND cap2m |
| via4_notcap2m = via4 NOT cap2m_via4 |
| CONNECT met4 met5 BY via4_notcap2m |
| CONNECT cap2m met5 BY cap2m_via4 |
| CONNECT met5 pad |
| CONNECT rdl pad |
| |
| m3_bot_plate = SIZE (capm AND met3) BY 0.14 |
| m3_bot_plate_err = INTERACT (EXTERNAL m3_bot_plate < 1.2 REGION) met3 > 1 BY NET |
| capmAspectRatio = RECTANGLE capm ASPECT > 20.0 |
| mimcap = capm ENCLOSE via3 |
| LshapeCap_tmp = EXPAND EDGE (CONVEX EDGE m3_bot_plate == 1) OUTSIDE BY 0.005 |
| LshapeCap_err = INTERACT m3_bot_plate LshapeCap_tmp > 1 |
| otherCap = INTERACT mimcap LshapeCap_err |
| CONNECT m3_bot_plate met3 |
| "r_734_capm.1" { |
| @ capm.1: 2 min. width of capm |
| INTERNAL capm < 2.0 ABUT < 90 SINGULAR REGION |
| } |
| "r_735_capm.2a" { |
| @ capm.2a: 0.84 min. spacing/notch of capm |
| EXTERNAL capm < 0.84 ABUT < 90 SINGULAR REGION |
| } |
| "r_736_capm.2b" { |
| @ capm.2b: 1.2 min spacing between bottom plates |
| COPY m3_bot_plate_err |
| } |
| "r_737_capm.2b" { |
| @ capm.2b: 1.2 min. spacing of m3_bot_plate & met3 |
| EXTERNAL m3_bot_plate met3 < 1.2 ABUT < 90 SINGULAR REGION NOT CONNECTED |
| } |
| "r_738_capm.3" { |
| @ capm.3: 0.14 min. enclosure of capm by met3 |
| q1capmand = capm AND met3 |
| ENCLOSURE q1capmand met3 < 0.14 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| "r_739_capm.4" { |
| @ capm.4: 0.14 min. enclosure of via3 by capm |
| q3via3and = via3 AND capm |
| ENCLOSURE q3via3and capm < 0.14 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| "r_740_capm.5" { |
| @ capm.5: 0.14 min. spacing of capm & via3 |
| EXTERNAL capm via3 < 0.14 ABUT < 90 SINGULAR REGION |
| } |
| "r_741_capm.6" { |
| @ capm.6: Maximum aspect ratio (L/W) is 20.00 |
| COPY capmAspectRatio |
| } |
| "r_742_capm.7" { |
| @ capm.7: Only Rectangular or L-shape Capacitors allowed |
| COPY otherCap |
| } |
| "r_743_capm.8" { |
| @ capm.8: 0.14 min. spacing of capm & via2 |
| EXTERNAL capm via2 < 0.14 ABUT < 90 SINGULAR REGION |
| } |
| "r_744_capm.8" { |
| @ capm.8: capm must not overlap via2 |
| capm AND via2 |
| } |
| "r_745_capm.9" { |
| @ capm.9: capm must be enclosed by met3 |
| capm NOT met3 |
| } |
| m4_bot_plate = SIZE (cap2m AND met4) BY 0.14 |
| m4_bot_plate_err = INTERACT (EXTERNAL m4_bot_plate < 1.2 REGION) met4 > 1 BY NET |
| cap2mAspectRatio = RECTANGLE cap2m ASPECT > 20.0 |
| mimcap2 = cap2m ENCLOSE via4 |
| LshapeCap2_tmp = EXPAND EDGE (CONVEX EDGE m4_bot_plate == 1) OUTSIDE BY 0.005 |
| LshapeCap2_err = INTERACT m4_bot_plate LshapeCap2_tmp > 1 |
| otherCap2 = INTERACT mimcap2 LshapeCap2_err |
| CONNECT m4_bot_plate met4 |
| "r_746_cap2m.1" { |
| @ cap2m.1: 2 min. width of cap2m |
| INTERNAL cap2m < 2.0 ABUT < 90 SINGULAR REGION |
| } |
| "r_747_cap2m.2a" { |
| @ cap2m.2a: 0.84 min. spacing/notch of cap2m |
| EXTERNAL cap2m < 0.84 ABUT < 90 SINGULAR REGION |
| } |
| "r_748_cap2m.2b" { |
| @ cap2m.2b: 1.2 min spacing between bottom plates |
| COPY m4_bot_plate_err |
| } |
| "r_749_cap2m.2b" { |
| @ cap2m.2b: 1.2 min. spacing of m4_bot_plate & met4 |
| EXTERNAL m4_bot_plate met4 < 1.2 ABUT < 90 SINGULAR REGION NOT CONNECTED |
| } |
| "r_750_cap2m.3" { |
| @ cap2m.3: 0.14 min. enclosure of cap2m by met4 |
| q1cap2mand = cap2m AND met4 |
| ENCLOSURE q1cap2mand met4 < 0.14 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| "r_751_cap2m.4" { |
| @ cap2m.4: 0.20 min. enclosure of via4 by cap2m |
| q3via4and = via4 AND cap2m |
| ENCLOSURE q3via4and cap2m < 0.20 MEASURE ALL ABUT < 90 SINGULAR |
| } |
| "r_752_cap2m.5" { |
| @ cap2m.5: 0.20 min. spacing of cap2m & via4 |
| EXTERNAL cap2m via4 < 0.20 ABUT < 90 SINGULAR REGION |
| } |
| "r_753_cap2m.6" { |
| @ cap2m.6: Maximum aspect ratio (L/W) is 20.00 |
| COPY cap2mAspectRatio |
| } |
| "r_754_cap2m.7" { |
| @ cap2m.7: Only Rectangular or L-shape Capacitors allowed |
| COPY otherCap2 |
| } |
| "r_755_cap2m.8" { |
| @ cap2m.8: 0.14 min. spacing of cap2m & via3 |
| EXTERNAL cap2m via3 < 0.14 ABUT < 90 SINGULAR REGION |
| } |
| "r_756_cap2m.8" { |
| @ cap2m.8: cap2m must not overlap via3 |
| cap2m AND via3 |
| } |
| |
| /// |
| /// end drc rules |
| /// start created layer rules |
| LAYER fomDummy 1233 |
| // 1233 -> fom dummy |
| |
| LAYER ccornerID 1162 |
| // 1162 -> areaid critCorner |
| |
| LAYER critsideID 1163 |
| // 1163 -> areaid critSid |
| |
| LAYER localSub_cldrc 1234 |
| // 1234 -> areaid substrateCut |
| |
| LAYER mm5WaffDrop 1235 |
| LAYER MAP 117 DATATYPE 4 1235 // cmm5 waffleDrop |
| |
| hvNdiff = NDIFF AND hvi |
| hvNdiffRes = INTERACT hvNdiff (hvNdiff AND diffres) |
| NDIFFnoHV = NDIFF NOT hvi |
| PDIFFnoHV = PDIFF NOT hvi |
| laser_target = EXTENT CELL "*lazX_*" "*lazY_*" |
| SEALnoHoles = (DONUT SEALID) OR (HOLES SEALID) |
| SEALwithHole = HOLES SEALID |
| SEALwithHoleNoPho = SEALwithHole NOT photoArray |
| extentOrSeal = (NOT INTERACT (EXTENT) SEALwithHole) OR SEALwithHole |
| lvNwell = nwell NOT hvi |
| lvNwell_PERI = lvNwell NOT COREID |
| varacChannel = (NTAP AND poly) AND lvNwell_PERI |
| varacNwell = INTERACT nwell varacChannel |
| lvNWnoVar = lvNwell NOT varacNwell |
| lvNWnoVarNoLvtn = lvNWnoVar NOT lvtn |
| lvNWoverVar = INTERACT lvNwell (lvNwell AND varacChannel) |
| lvNWoverVarHvtp = lvNWoverVar AND hvtp |
| photoDiode_cldrc = dnwell AND photoID |
| nwellAndDnwell = dnwell AND nwell |
| nwellDnwellHoles = HOLES nwellAndDnwell INNER |
| photoArray = (nwellAndDnwell OR nwellDnwellHoles) ENCLOSE photoDiode_cldrc |
| pnpDiffSize = SIZE (PDIFF AND pnp) BY 0.03 |
| nwellPwellRes = (INTERACT nwell pwellres) OR pwellres |
| dieCut_keepout = SIZE dieCut BY 3 |
| inductor_metal = COPY 4009 |
| frameBndrNotDieCut = frameBndr NOT dieCut |
| waffleFrmBnd = (SIZE frameBndr BY -3) NOT (dieCut OR SEALnoHoles) |
| waffleFrmDensity = waffleFrmBnd NOT (WITH TEXT textlabel "falseScribe") |
| /// ******************** HVTPM ******************** |
| q0CLHVTPM = lvNWnoVarNoLvtn OR lvNWoverVarHvtp |
| CLHVTPM = q0CLHVTPM OR HVTPMdg |
| "r_1473_chvtpm.1" { |
| @ chvtpm.1: 0.38 min. width of CLHVTPM |
| INTERNAL CLHVTPM < 0.38 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1474_chvtpm.2a" { |
| @ chvtpm.2a: 0.38 min. spacing/notch of CLHVTPM |
| EXTERNAL CLHVTPM < 0.38 ABUT < 90 SINGULAR REGION |
| } |
| "r_1475_chvtpm.3" { |
| @ chvtpm.3: 0 min. enclosure of ((LVnwell not overlapping Var_channel) NOT lvtn) by CLHVTPM |
| q0lvNWnoVarNoLvtnand = lvNWnoVarNoLvtn AND CLHVTPM |
| lvNWnoVarNoLvtn NOT CLHVTPM |
| } |
| "r_1476_chvtpm.4" { |
| @ chvtpm.4: 0 min. enclosure of ((LVnwell overlapping Var_channel) AND hvtp) by CLHVTPM |
| q0lvNWoverVarHvtpand = lvNWoverVarHvtp AND CLHVTPM |
| lvNWoverVarHvtp NOT CLHVTPM |
| } |
| |
| /// ******************** LVTNM ******************** |
| nwellHvtpCore = nwell AND (hvtp OR COREID) |
| clvtnm_all = lvtn OR (nwellHvtpCore OR |
| (lvNWoverVar OR LVTNMdg)) |
| LVTNMmerge = EXTERNAL clvtnm_all < 0.38 PARALLEL ONLY OPPOSITE REGION |
| q0CLLVTNM = clvtnm_all OR LVTNMmerge |
| CLLVTNM = q0CLLVTNM OR LVTNMdg |
| CLLVTNMPeri = CLLVTNM OUTSIDE COREID |
| "r_1477_clvtnm.1" { |
| @ clvtnm.1: 0.38 min. width of clvtnm in periphery |
| INTERNAL CLLVTNMPeri < 0.38 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1478_clvtnm.2" { |
| @ clvtnm.2: 0.38 min. spacing/notch of CLLVTNM |
| EXTERNAL CLLVTNM < 0.38 ABUT < 90 SINGULAR REGION parallel opposite |
| } |
| |
| /// ******************** NTM ******************** |
| nwellTmp = COPY nwell |
| hvitmp = hvi NOT COREID |
| ldntmTmp = COPY ldntm |
| ntmTMP = NTMdg OR |
| (nwelltmp OR |
| (ldntmtmp OR |
| (hvitmp OR (rpm OR urpm)))) |
| NtmMergedTMP = ntmTMP OR (EXTERNAL ntmTMP < 0.7 SPACE OPPOSITE PARALLEL ONLY REGION) |
| NtmMergedTMP2 = NtmMergedTMP OR (EXTERNAL NtmMergedTMP < 0.7 NOTCH OPPOSITE PARALLEL ONLY REGION) |
| NtmMerged = NtmMergedTMP2 OR (EXTERNAL NtmMergedTMP2 < 0.7 NOTCH OPPOSITE PARALLEL ONLY REGION) |
| ntmAll = COPY NtmMerged |
| q0ntmAll = INTERNAL ntmAll (LENGTH ntmAll <= 0.0) < 0.84 REGION OPPOSITE PARALLEL ONLY |
| q1ntmAll = ntmAll NOT (q0ntmAll OUTSIDE ntmTMP) |
| q4ntmAll = COPY q1ntmAll |
| q5ntmAll = INTERNAL q4ntmAll (LENGTH q4ntmAll <= 0.0) < 0.84 REGION OPPOSITE PARALLEL ONLY |
| q6ntmAll = q4ntmAll NOT (q5ntmAll OUTSIDE ntmTMP) |
| q9ntmAll = COPY q6ntmAll |
| q0CLNTM = COPY q9ntmAll |
| "r_1479_cntm.2" { |
| @ cntm.2: 0.7 min. spacing/notch of CLNTM |
| EXTERNAL CLNTM < 0.7 ABUT < 90 SINGULAR REGION |
| } |
| CLNTM = q0CLNTM OR NTMdg |
| "r_1480_cntm.1" { |
| @ cntm.1: 0.84 min. width of CLNTM |
| INTERNAL CLNTM < 0.84 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1481_cntm.3" { |
| @ cntm.3: 0 min. enclosure of nwell by CLNTM |
| q0nwelland = nwell AND CLNTM |
| nwell NOT CLNTM |
| } |
| "r_1482_cntm.3" { |
| @ cntm.3: nwell must be enclosed by CLNTM |
| nwell NOT CLNTM |
| } |
| "r_1483_cntm.4a" { |
| @ cntm.4a: 0 min. enclosure of hvitmp by CLNTM |
| q0hvitmpand = hvitmp AND CLNTM |
| hvitmp NOT CLNTM |
| } |
| "r_1484_cntm.4a" { |
| @ cntm.4a: hvitmp must be enclosed by CLNTM |
| hvitmp NOT CLNTM |
| } |
| "r_1485_cntm.7" { |
| @ cntm.7: 0 min. enclosure of ldntm by CLNTM |
| q0ldntmand = ldntm AND CLNTM |
| ldntm NOT CLNTM |
| } |
| "r_1486_cntm.7" { |
| @ cntm.7: ldntm must be enclosed by CLNTM |
| ldntm NOT CLNTM |
| } |
| |
| /// ******************** HVNTM ******************** |
| ntapRing = (DONUT NTAP) NOT SEALID |
| ptapRing = (DONUT PTAP) NOT SEALID |
| ntapRingFilled = HOLES ntapRing |
| ptapRingFilled = HOLES ptapRing |
| doubleRingRegion = ntapRingFilled AND ptapRingFilled |
| doubleRingESD = doubleRingRegion AND ESDID |
| nDiffHoled = DONUT (SRCDRN AND NDIFF) |
| nDiffHole = HOLES nDiffHoled |
| nWellTap = nwell INSIDE NTAP |
| nWellTapInHole = nDiffHole INSIDE nWellTap |
| ESDnWellTap = nWellTapInHole AND doubleRingESD |
| diffTapButtEdge_cl = hvNdiff COINCIDENT OUTSIDE EDGE PTAP |
| ESDnWellTapHV = ESDnwellTap AND hvi |
| hvNdiffNotCore = hvNdiff NOT COREID |
| de_pFet_source = INTERACT (diff AND ENID) ((diff AND ENID) AND (INTERACT (poly AND ENID) ((poly AND ENID) AND (diff AND dnwell)))) |
| PDIFF_noENID = NOT INTERACT PDIFF ENID |
| hvNdiffSz = SIZE hvNdiffNotCore BY 0.185 |
| chvntmNdiff = hvNdiffSz NOT (EXPAND EDGE diffTapButtEdge_cl OUTSIDE BY 0.185 EXTEND BY 0.185) |
| hvntmTMP = hvntm OR |
| (HVNTMdg OR |
| (ESDnWellTapHV OR chvntmNdiff)) |
| hvNtmMergedTMP = hvntmTMP OR (EXTERNAL hvntmTMP < 0.7 SPACE OPPOSITE PARALLEL ONLY REGION) |
| hvNtmMerged = hvNtmMergedTMP OR (EXTERNAL hvNtmMergedTMP < 0.7 NOTCH OPPOSITE PARALLEL ONLY REGION) |
| hvntmKeepOut = (SIZE NDIFFnoHV BY 0.185) OR (PTAP OR (EXPAND EDGE (PTAP OUTSIDE EDGE NDIFF) OUTSIDE BY 0.185 CORNER FILL)) |
| hvntmAll = NOT INTERACT (hvNtmMerged NOT hvntmKeepOut) (INTERACT diff de_pFet_source) |
| q0hvntmAll = INTERNAL hvntmAll (LENGTH hvntmAll <= 0.185) < 0.7 REGION OPPOSITE PARALLEL ONLY |
| q1hvntmAll = hvntmAll NOT (q0hvntmAll OUTSIDE hvNdiffNotCore) |
| q4hvntmAll = COPY q1hvntmAll |
| q5hvntmAll = INTERNAL q4hvntmAll (LENGTH q4hvntmAll <= 0.185) < 0.7 REGION OPPOSITE PARALLEL ONLY |
| q6hvntmAll = q4hvntmAll NOT (q5hvntmAll OUTSIDE hvNdiffNotCore) |
| q9hvntmAll = COPY q6hvntmAll |
| q0CLHVNTM = COPY q9hvntmAll |
| CLHVNTM = q0CLHVNTM OR HVNTMdg |
| "r_1487_chvntm.1" { |
| @ chvntm.1: 0.7 min. width of CLHVNTM |
| INTERNAL CLHVNTM < 0.7 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1488_chvntm.2a" { |
| @ chvntm.2a: 0.7 min. spacing/notch of CLHVNTM |
| EXTERNAL CLHVNTM < 0.7 ABUT < 90 SINGULAR REGION |
| } |
| hvNdiffEnc = ENCLOSURE (hvNdiffNotCore OUTSIDE EDGE PTAP) CLHVNTM < 0.185 ABUT < 90 REGION |
| chvntm_3 = (NOT INTERACT ((hvNdiffNotCore NOT CLHVNTM) OR hvNdiffEnc) (ENID AND dnwell)) NOT de_pFet_source |
| "r_1489_chvntm.4" { |
| @ chvntm.4: 0.185 min. spacing of CLHVNTM & NDIFFnoHV |
| EXTERNAL CLHVNTM NDIFFnoHV < 0.185 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1490_chvntm.4" { |
| @ chvntm.4: CLHVNTM must not overlap NDIFFnoHV |
| CLHVNTM AND NDIFFnoHV |
| } |
| "r_1491_chvntm.5" { |
| @ chvntm.5: 0.185 min. spacing of CLHVNTM & PDIFF_noENID |
| EXTERNAL CLHVNTM PDIFF_noENID < 0.185 ABUT < 90 SINGULAR REGION EXCLUDE FALSE |
| } |
| "r_1492_chvntm.5" { |
| @ chvntm.5: CLHVNTM must not overlap PDIFF_noENID |
| CLHVNTM AND PDIFF_noENID |
| } |
| "r_1493_chvntm.3" { |
| @ chvntm.3: 0.185 Min Enclosure of ndiff inside hvi by chvntm |
| COPY chvntm_3 |
| } |
| PTAPnoButtE = PTAP OUTSIDE EDGE NDIFF |
| diffTapButtEdge_sz = EXPAND EDGE (NDIFF COINCIDENT OUTSIDE EDGE PTAP) OUTSIDE BY 0.005 |
| "r_1494_chvntm.6a" { |
| @ chvntm.6a: 0.185 min. spacing of CLHVNTM & p+tap (except along the diff butting edge) |
| EXTERNAL CLHVNTM PTAPnoButtE < 0.185 ABUT < 90 REGION EXCLUDE FALSE |
| } |
| "r_1495_chvntm.6a" { |
| @ chvntm.6a: CLHVNTM must not overlap ptap |
| CLHVNTM AND PTAP |
| } |
| "r_1496_chvntm.6b" { |
| @ chvntm.6b: CLHVNTM must not overlap p+diff along diff butting edge (ESDnWellTap excluded) |
| CLHVNTM AND diffTapButtEdge_sz |
| } |
| "r_1497_chvntm.7" { |
| @ chvntm.7: ESDnWellTapHV must be enclosed by CLHVNTM |
| ESDnWellTapHV NOT CLHVNTM |
| } |
| |
| /// end created layer rules |
| GROUP drcErrors "r_1497_chvntm.7" "r_1496_chvntm.6b" "r_1495_chvntm.6a" "r_1494_chvntm.6a" |
| "r_1493_chvntm.3" "r_1492_chvntm.5" "r_1491_chvntm.5" "r_1490_chvntm.4" "r_1489_chvntm.4" |
| "r_1488_chvntm.2a" "r_1487_chvntm.1" "r_1486_cntm.7" "r_1485_cntm.7" "r_1484_cntm.4a" |
| "r_1483_cntm.4a" "r_1482_cntm.3" "r_1481_cntm.3" "r_1480_cntm.1" "r_1479_cntm.2" |
| "r_1478_clvtnm.2" "r_1477_clvtnm.1" "r_1476_chvtpm.4" "r_1475_chvtpm.3" "r_1474_chvtpm.2a" |
| "r_1473_chvtpm.1" "r_1472_scribe.21" "r_1471_scribe.20" "r_1470_scribe.19" "r_1469_scribe.18" |
| "r_1468_scribe.18" "r_1467_scribe.17" "r_1466_scribe.16" "r_1465_scribe.15" "r_1464_scribe.14" |
| "r_1463_scribe.13" "r_1462_scribe.13" "r_1461_scribe.13" "r_1460_scribe.13" "r_1459_scribe.13" |
| "r_1458_scribe.13" "r_1457_scribe.13" "r_1456_scribe.13" "r_1455_scribe.13" "r_1454_scribe.13" |
| "r_1453_scribe.12" "r_1452_scribe.11" "r_1451_scribe.11" "r_1450_scribe.10" "r_1449_scribe.10" |
| "r_1448_scribe.9" "r_1447_scribe.8" "r_1446_scribe.7" "r_1445_scribe.7" "r_1444_scribe.7" |
| "r_1443_scribe.7" "r_1442_scribe.7" "r_1441_scribe.7" "r_1440_scribe.7" "r_1439_scribe.7" |
| "r_1438_scribe.7" "r_1437_scribe.7" "r_1436_scribe.7" "r_1435_scribe.7" "r_1434_scribe.7" |
| "r_1433_scribe.7" "r_1432_scribe.7" "r_1431_scribe.7" "r_1430_scribe.7" "r_1429_scribe.7" |
| "r_1428_scribe.7" "r_1427_scribe.7" "r_1426_scribe.7" "r_1425_scribe.7" "r_1424_scribe.7" |
| "r_1423_scribe.7" "r_1422_scribe.7" "r_1421_scribe.7" "r_1420_scribe.7" "r_1419_scribe.7" |
| "r_1418_scribe.7" "r_1417_scribe.7" "r_1416_scribe.7" "r_1415_scribe.7" "r_1414_scribe.7" |
| "r_1413_scribe.7" "r_1412_scribe.7" "r_1411_scribe.7" "r_1410_scribe.7" "r_1409_scribe.7" |
| "r_1408_scribe.7" "r_1407_scribe.7" "r_1406_scribe.6e" "r_1405_scribe.6d" "r_1404_scribe.6a" |
| "r_1403_scribe.5" "r_1402_scribe.5" "r_1401_scribe.5" "r_1400_scribe.5" "r_1399_scribe.5" |
| "r_1398_scribe.5" "r_1397_scribe.5" "r_1396_scribe.5" "r_1395_scribe.5" "r_1394_scribe.5" |
| "r_1393_scribe.5" "r_1392_scribe.5" "r_1391_scribe.5" "r_1390_scribe.5" "r_1389_scribe.5" |
| "r_1388_scribe.5" "r_1387_scribe.5" "r_1386_scribe.5" "r_1385_scribe.5" "r_1384_scribe.5" |
| "r_1383_scribe.5" "r_1382_scribe.5" "r_1381_scribe.5" "r_1380_scribe.5" "r_1379_scribe.5" |
| "r_1378_scribe.5" "r_1377_scribe.5" "r_1376_scribe.5" "r_1375_cupad.4" "r_1374_cupad.4" |
| "r_1373_cupad.3" "r_1372_cupad.3" "r_1371_cupad.2" "r_1370_cupad.2" "r_1369_cupad.1" |
| "r_1368_pad.7.2.2" "r_1367_pad.7.2.2" "r_1366_pad.7.2.1" "r_1365_pad_5_2_4" "r_1364_pad_6_2" |
| "r_1363_pad_6_2" "r_1362_pad.9.1" "r_1361_pad.4.2" "r_1360_pad.3.2" "r_1359_pad.2.2a" |
| "r_1358_pad.2.2" "r_1357_pad.1.2" "r_1356_pad_2/3.1" "r_1355_pad_2/3.1" "r_1354_pad_2/3.1" |
| "r_1353_pad.8.1" "r_1352_pad.7.1" "r_1351_pad.6.1a/b" "r_1350_pad.6.1b" "r_1349_pad.6.1a" |
| "r_1348_pad.6.1" "r_1347_pad.6.1" "r_1346_pad.5.1" "r_1345_pad.4.1" "r_1344_pad.3.1" |
| "r_1343_pad.2.1" "r_1342_pad.19" "r_1341_pad.19" "r_1340_pad.19" "r_1339_pad.18" |
| "r_1338_pad.17" "r_1337_pad.18" "r_1336_pad.17" "r_1335_pad.18" "r_1334_pad.17" |
| "r_1333_pad.15" "r_1332_pad.14" "r_1331_pad.13" "r_1330_pad.12" "r_1329_pad.11" |
| "r_1328_pad.11" "r_1327_pad.11" "r_1326_pad.11" "r_1325_pad.10" "r_1324_pad.7" |
| "r_1323_pad.6" "r_1322_pad.7" "r_1321_pad.6" "r_1320_pad.7" "r_1319_pad.6" |
| "r_1318_pad.7" "r_1317_pad.6" "r_1316_pad.5" "r_1315_pad.4/4a" "r_1314_pad.16" |
| "r_1313_pad.1" "r_1312_pad.1" "r_1311_mf.24" "r_1310_mf.24" "r_1309_mf.20" |
| "r_1308_mf.18" "r_1307_mf.15b" "r_1306_mf.15a" "r_1305_mf.14" "r_1304_mf.13" |
| "r_1303_mf.4" "r_1302_mf.12" "r_1301_mf.19" "r_1300_mf.19" "r_1299_mf.11" |
| "r_1298_mf.11" "r_1297_mf.10" "r_1296_mf.10" "r_1295_mf.9" "r_1294_mf.9" |
| "r_1293_mf.8" "r_1292_mf.8" "r_1291_mf.7" "r_1290_mf.7" "r_1289_mf.6" |
| "r_1288_mf.6" "r_1287_mf.22" "r_1286_mf.5" "r_1285_mf.3" "r_1284_mf.1&2" |
| "r_1283_mf.1&2" "r_1282_mf.1&2" "r_1281_mf.1&2" "r_1280_mf.1&2" "r_1279_rdl.6" |
| "r_1278_rdl.5" "r_1277_rdl.4" "r_1276_rdl.3" "r_1275_rdl.2" "r_1274_rdl.2" |
| "r_1273_rdl.1" "r_1272_fomdmy.13" "r_1271_fomdmy.12" "r_1270_fomdmy.11" "r_1269_fomdmy.10" |
| "r_1268_fomdmy.9" "r_1267_fomdmy.8" "r_1266_fomdmy.7" "r_1265_fomdmy.7" "r_1264_fomdmy.7" |
| "r_1263_fomdmy.7" "r_1262_fomdmy.6" "r_1261_fomdmy.6" "r_1260_fomdmy.4" "r_1259_fomdmy.4" |
| "r_1258_fomdmy.2" "r_1257_fomdmy_1a" "r_1256_fomdmy.1" "r_1255_metblk.7" "r_1254_metblk.7" |
| "r_1253_metblk.7" "r_1252_metblk.6" "r_1251_metblk.4" "r_1250_metblk.2" "r_1249_metblk.2" |
| "r_1248_metblk.3" "r_1247_metblk.1" "r_1246_metblk.1" "r_1245_metblk.3" "r_1244_metblk.1" |
| "r_1243_metblk.1" "r_1242_metblk.3" "r_1241_metblk.1" "r_1240_metblk.1" "r_1239_metblk.3" |
| "r_1238_metblk.1" "r_1237_metblk.1" "r_1236_metblk.3" "r_1235_metblk.1" "r_1234_metblk.1" |
| "r_1233_m4.x.1" "r_1232_m4.x.1" "r_1231_m4.x.1" "r_1230_m4.x.1" "r_1229_m4.x.1" |
| "r_1228_m4.x.1" "r_1227_m3.x.1" "r_1226_m3.x.1" "r_1225_m3.x.1" "r_1224_m3.x.1" |
| "r_1223_m3.x.1" "r_1222_m3.x.1" "r_1221_m2.x.1" "r_1220_m2.x.1" "r_1219_m2.x.1" |
| "r_1218_m2.x.1" "r_1217_m2.x.1" "r_1216_m2.x.1" "r_1215_m1.x.1" "r_1214_m1.x.1" |
| "r_1213_m1.x.1" "r_1212_m1.x.1" "r_1211_m1.x.1" "r_1210_m1.x.1" "r_1209_pad.20" |
| "r_1208_pad.20" "r_1207_X.24" "r_1206_X.22" "r_1205_X.22" "r_1204_X.22" |
| "r_1203_X.22" "r_1202_X.22" "r_1201_X.22" "r_1200_X.22" "r_1199_X.22" |
| "r_1198_X.22" "r_1197_X.22" "r_1196_X.22" "r_1195_X.22" "r_1194_X.22" |
| "r_1193_X.22" "r_1192_X.22" "r_1191_X.22" "r_1190_X.22" "r_1189_X.22" |
| "r_1188_X.22" "r_1187_X.22" "r_1186_X.22" "r_1185_X.22" "r_1184_X.22" |
| "r_1183_X.22" "r_1182_X.22" "r_1181_X.22" "r_1180_X.22" "r_1179_X.22" |
| "r_1178_hv.poly.6b" "r_1177_hv.poly.6a" "r_1176_hv.poly.4" "r_1175_hv.poly.3" "r_1174_hv.poly.2" |
| "r_1173_hv.poly.1" "r_1172_hv.poly.1" "r_1171_hv.poly.1" "r_1170_hv.diff.3b" "r_1169_hv.diff.3b" |
| "r_1168_hv.diff.3a" "r_1167_hv.diff.2" "r_1166_hv.diff.1b" "r_1165_hv.diff.1b" "r_1164_hv.diff.1a" |
| "r_1163_vhvi.8" "r_1162_vhvi.7" "r_1161_vhvi.6" "r_1160_vhvi.5" "r_1159_vhvi.4" |
| "r_1158_vhvi.3" "r_1157_vhvi.2" "r_1156_vhvi.1" "r_1155_vhvi.vhv.5" "r_1154_vpp.9" |
| "r_1153_vpp.8" "r_1152_vpp.4" "r_1151_vpp.4" "r_1150_vpp.3" "r_1149_vpp.1c" |
| "r_1148_vpp.1c" "r_1147_vpp.1c" "r_1146_vpp.1b" "r_1145_vpp.1" "r_1144_vpp.12c" |
| "r_1143_vpp.12b" "r_1142_vpp.12a" "r_1141_vpp.11" "r_1140_vpp.10" "r_1139_vpp.5c" |
| "r_1138_vpp.5b" "r_1137_vpp.5a" "r_1136_vpp.5" "r_1135_vpp.5" "r_1134_vpp.5" |
| "r_1133_vpp.5" "r_1132_areaid.1" "r_1131_crpm_nikon" "r_1130_crpm_nikon" "r_1129_cmm5_nikon" |
| "r_1128_cmm5_nikon" "r_1127_cviam4_nikon" "r_1126_cviam4_nikon" "r_1125_cmm4_nikon" "r_1124_cmm4_nikon" |
| "r_1123_cviam3_nikon" "r_1122_cviam3_nikon" "r_1121_cmm3_nikon" "r_1120_cmm3_nikon" "r_1119_cviam2_nikon" |
| "r_1118_cviam2_nikon" "r_1117_cpdm_nikon" "r_1116_cpdm_nikon" "r_1115_cnsm_nikon" "r_1114_cnsm_nikon" |
| "r_1113_cmm2_nikon" "r_1112_cmm2_nikon" "r_1111_cviam_nikon" "r_1110_cviam_nikon" "r_1109_cmm1_nikon" |
| "r_1108_cmm1_nikon" "r_1107_cctm1_nikon" "r_1106_cctm1_nikon" "r_1105_cli1m_nikon" "r_1104_cli1m_nikon" |
| "r_1103_clicm1_nikon" "r_1102_clicm1_nikon" "r_1101_cpsdm_nikon" "r_1100_cpsdm_nikon" "r_1099_cnsdm_nikon" |
| "r_1098_cnsdm_nikon" "r_1097_cnpc_nikon" "r_1096_cnpc_nikon" "r_1095_cldntm_nikon" "r_1094_cldntm_nikon" |
| "r_1093_chvntm_nikon" "r_1092_chvntm_nikon" "r_1091_cntm_nikon" "r_1090_cntm_nikon" "r_1089_cp1m_nikon" |
| "r_1088_cp1m_nikon" "r_1087_clvom_nikon" "r_1086_clvom_nikon" "r_1085_clvtnm_nikon" "r_1084_clvtnm_nikon" |
| "r_1083_chvtpm_nikon" "r_1082_chvtpm_nikon" "r_1081_cnwm_nikon" "r_1080_cnwm_nikon" "r_1079_cdnm_nikon" |
| "r_1078_cdnm_nikon" "r_1077_cfom_nikon" "r_1076_cfom_nikon" "r_1075_hvntm.10" "r_1074_hvntm.9" |
| "r_1073_hvntm.7" "r_1072_hvntm.7" "r_1071_hvntm.6b" "r_1070_hvntm.6a" "r_1069_hvntm.6a" |
| "r_1068_hvntm.5" "r_1067_hvntm.5" "r_1066_hvntm.4" "r_1065_hvntm.4" "r_1064_hvntm.3" |
| "r_1063_hvntm.2" "r_1062_hvntm.1" "r_1061_hvntm.X.1" "r_1060_rpm.10" "r_1059_rpm.10" |
| "r_1058_rpm.9" "r_1057_rpm.9" "r_1056_rpm.8" "r_1055_rpm.7" "r_1054_rpm.6" |
| "r_1053_rpm.6" "r_1052_rpm.5" "r_1051_rpm.5" "r_1050_rpm.4" "r_1049_rpm.4" |
| "r_1048_rpm.3" "r_1047_rpm.3" "r_1046_rpm.2" "r_1045_rpm.1k" "r_1044_rpm.1j" |
| "r_1043_rpm.1i" "r_1042_rpm.1h" "r_1041_rpm.1g" "r_1040_rpm.1b/c/d/e/f" "r_1039_rpm.1a" |
| "r_1038_ldntm.c6" "r_1037_ldntm.c5" "r_1036_ldntm.c4" "r_1035_ldntm.c3" "r_1034_ldntm.c2" |
| "r_1033_ldntm.c1" "r_1032_ncm.c10" "r_1031_ncm.c9" "r_1030_ncm.c9" "r_1029_ncm.c8" |
| "r_1028_ncm.8" "r_1027_ncm.7" "r_1026_ncm.2a" "r_1025_ncm.1" "r_1024_ncm.X.3" |
| "r_1023_nsm.3b" "r_1022_nsm.3b" "r_1021_nsm.3b" "r_1020_nsm.3b" "r_1019_nsm.3b" |
| "r_1018_nsm.3b" "r_1017_nsm.3b" "r_1016_nsm.3b" "r_1015_nsm.3b" "r_1014_nsm.3b" |
| "r_1013_nsm.3b" "r_1012_nsm.3b" "r_1011_nsm.3b" "r_1010_nsm.3b" "r_1009_nsm.3b" |
| "r_1008_nsm.3b" "r_1007_nsm.3b" "r_1006_nsm.3b" "r_1005_nsm.3a" "r_1004_nsm.3a" |
| "r_1003_nsm.3a" "r_1002_nsm.3a" "r_1001_nsm.3a" "r_1000_nsm.3a" "r_999_nsm.3a" |
| "r_998_nsm.3a" "r_997_nsm.3a" "r_996_nsm.3a" "r_995_nsm.3a" "r_994_nsm.3a" |
| "r_993_nsm.3a" "r_992_nsm.3a" "r_991_nsm.3a" "r_990_nsm.3a" "r_989_nsm.3a" |
| "r_988_nsm.3a" "r_987_nsm.3" "r_986_nsm.3" "r_985_nsm.3" "r_984_nsm.3" |
| "r_983_nsm.3" "r_982_nsm.3" "r_981_nsm.3" "r_980_nsm.3" "r_979_nsm.3" |
| "r_978_nsm.3" "r_977_nsm.3" "r_976_nsm.3" "r_975_nsm.3" "r_974_nsm.3" |
| "r_973_nsm.3" "r_972_nsm.3" "r_971_nsm.3" "r_970_nsm.3" "r_969_nsm.3" |
| "r_968_nsm.3" "r_967_nsm.3" "r_966_nsm.3" "r_965_nsm.3" "r_964_nsm.3" |
| "r_963_nsm.3" "r_962_nsm.3" "r_961_nsm.3" "r_960_nsm.3" "r_959_nsm.3" |
| "r_958_nsm.3" "r_957_nsm.3" "r_956_nsm.3" "r_955_nsm.3" "r_954_nsm.3" |
| "r_953_nsm.3" "r_952_nsm.3" "r_951_nsm.2" "r_950_nsm.1" "r_949_rfdiode.3" |
| "r_948_rfdiode.2" "r_947_rfdiode.1" "r_946_pwres.10" "r_945_pwres.11" "r_944_pwres.9" |
| "r_943_pwres.8b" "r_942_pwres.8a" "r_941_pwres.7b" "r_940_pwres.7a" "r_939_pwres.6" |
| "r_938_pwres.6" "r_937_pwres.5" "r_936_pwres.2" "r_935_pwres.2" "r_934_pwres.2" |
| "r_933_pwres.2" "r_932_pwres.2" "r_931_pwres.1" "r_930_extd.3" "r_929_extd.2" |
| "r_928_extd.1" "r_927_depmos.13" "r_926_depmos.12" "r_925_depmos.12" "r_924_depmos.11" |
| "r_923_depmos.10" "r_922_depmos.8" "r_921_depmos.7" "r_920_depmos.6" "r_919_depmos.5" |
| "r_918_depmos.4" "r_917_depmos.3" "r_916_depmos.2" "r_915_depmos.1" |
| "r_913_denmos.13" "r_912_denmos.13" "r_911_denmos.12" "r_910_denmos.11" "r_909_denmos.10" |
| "r_908_denmos.8" "r_907_denmos.7" "r_906_denmos.6" "r_905_denmos.5" "r_904_denmos.4" |
| "r_903_denmos.3" "r_902_denmos.2" "r_901_denmos.1" "r_900_pad.3" "r_899_pad.2" |
| "r_898_m5.4" "r_897_m5.3" "r_896_m5.3" "r_895_m5.2" "r_894_m5.1" |
| "r_893_via4.4" "r_892_via4.4" "r_891_via4.3" "r_890_via4.3" "r_889_via4.3" |
| "r_888_via4.2" "r_887_via4.1" "r_886_via4.1" "r_885_via4.1" "r_884_m4.5a" |
| "r_883_m4.5b" "r_882_m4.4a" "r_881_m4.3" "r_880_m4.3" "r_879_m4.2" |
| "r_878_m4.1" "r_877_via3.5" "r_876_via3.4" "r_875_via3.4" "r_874_via3.3" |
| "r_873_via3.3" "r_872_via3.3" "r_871_via3.2" "r_870_via3.1a" "r_869_via3.1" |
| "r_868_via3.1" "r_867_via3.1" "r_866_m3.3c" "r_865_m3.3d" "r_864_m3.6" |
| "r_863_m3.4" "r_862_m3.4" "r_861_m3.2" "r_860_m3.1" "r_859_via2.5" |
| "r_858_via2.4a" "r_857_via2.4a" "r_856_via2.4" "r_855_via2.4" "r_854_via2.3" |
| "r_853_via2.3" "r_852_via2.3" "r_851_via2.2" "r_850_via2.1a" "r_849_via2.1a" |
| "r_848_via2.1a" "r_847_via2.1d" "r_846_photo.11" "r_845_photo.10" "r_844_photo.9" |
| "r_843_photo.8" "r_842_photo.7" "r_841_photo.6" "r_840_photo.5" "r_839_photo.4" |
| "r_838_photo.3" "r_837_photo.2" "r_836_varac.8" "r_835_varac.7" "r_834_varac.6" |
| "r_833_varac.5" "r_832_varac.4" "r_831_varac.3" "r_830_varac.2" "r_829_varac.1" |
| "r_828_m2.c4" "r_827_m2.c4" "r_826_m2.7" "r_825_m2.7" "r_824_m2.6" |
| "r_823_m2.5" "r_822_m2.4" "r_821_m2.4" "r_820_m2.3a" "r_819_m2.3b" |
| "r_818_m2.2" "r_817_m2.1" "r_816_via.5c" "r_815_via.5b" "r_814_via.5a" |
| "r_813_via.4c" "r_812_via.4c" "r_811_via.4b" "r_810_via.4b" "r_809_via.4a" |
| "r_808_via.4a" "r_807_via.3" "r_806_via.3" "r_805_via.3" "r_804_via.2" |
| "r_803_via.1b" "r_802_via.1a" "r_801_via.1a" "r_800_via.1a" "r_799_m1.c1" |
| "r_798_m1.7" "r_797_m1.7" "r_796_m1.6" "r_795_m1.5" "r_794_m1.4a" |
| "r_793_m1.4a" "r_792_m1.4" "r_791_m1.4" "r_790_m1.3a" "r_789_m1.3b" |
| "r_788_m1.2" "r_787_m1.1" "r_786_ct.c2" "r_785_ct.c1" "r_784_ct.4" |
| "r_783_ct.3" "r_782_ct.3" "r_781_ct.3" "r_780_ct.2" "r_779_ct.1" |
| "r_778_ct.1" "r_777_ct.1" "r_776_li.c2" "r_775_li.c1" "r_774_li.7" |
| "r_773_li.6" "r_772_li.6" "r_771_li.5" "r_770_li.4" "r_769_li.3a" |
| "r_768_li.3" "r_767_li.3" "r_766_li.1a" "r_765_li.c1" "r_764_li.1" |
| "r_763_li.1" "r_762_licon.c4" "r_761_licon.c3" "r_760_licon.c1" "r_759_licon.19" |
| "r_758_licon.18" "r_757_licon.17" "r_756_licon.16" "r_755_licon.16" "r_754_npcon.c6" |
| "r_753_npcon.c6" "r_752_licon.15" "r_751_licon.15" "r_750_licon.14" "r_749_licon.13" |
| "r_748_licon.13" "r_747_licon.9" "r_746_licon.9" "r_745_licon.2d" "r_744_licon.2c" |
| "r_743_licon.2b" "r_742_licon.1b/c" "r_741_licon.1b/c" "r_740_licon.1b/c" "r_739_licon.1b/c" |
| "r_738_licon.1b/c" "r_737_licon.1" "r_736_licon.1" "r_735_licon.1" "r_734_licon.11d" |
| "r_733_licon.11d" "r_732_licon.11c" "r_731_licon.11c" "r_730_licon.11b" "r_729_licon.11b" |
| "r_728_licon.11a" "r_727_licon.11a" "r_726_licon.11" "r_725_licon.11" "r_724_licon.10" |
| "r_723_licon.8a" "r_722_licon.8" "r_721_licon.7" "r_720_licon.6" "r_719_licon.5c" |
| "r_718_licon.5b" "r_717_licon.5a" "r_716_licon.4" "r_715_licon.3" "r_714_licon.3" |
| "r_713_licon.3" "r_712_licon.2" "r_711_licon.2" "r_710_npc.5" "r_709_npc.4" |
| "r_708_npc.4" "r_707_npc.2" "r_706_npc.1" "r_705_poly.16" "r_704_diff.13" |
| "r_703_diff.13" "r_702_diff.13" "r_701_diff.13" "r_700_diff.13" "r_699_diff.13" |
| "r_698_diff.13" "r_697_diff.13" "r_696_diff.13" "r_695_diff.13" "r_694_diff.13" |
| "r_693_diff.13" "r_692_diff.13" "r_691_diff.13" "r_690_diff.13" "r_689_diff.13" |
| "r_688_diff.13" "r_687_diff.13" "r_686_diff.13" "r_685_diff.13" "r_684_diff.13" |
| "r_683_diff.13" "r_682_diff.13" "r_681_diff.13" "r_680_diff.13" "r_679_diff.13" |
| "r_678_diff.13" "r_677_diff.13" "r_676_diff.13" "r_675_diff.13" "r_674_diff.13" |
| "r_673_diff.13" "r_672_diff.13" "r_671_diff.13" "r_670_diff.13" "r_669_diff.13" |
| "r_668_diff.13" "r_667_diff.13" "r_666_diff.13" "r_665_diff.13" "r_664_diff.13" |
| "r_663_diff.13" "r_662_diff.13" "r_661_diff.13" "r_660_diff.13" "r_659_diff.13" |
| "r_658_diff.13" "r_657_diff.13" "r_656_diff.13" "r_655_diff.13" "r_654_diff.13" |
| "r_653_diff.13" "r_652_diff.13" "r_651_diff.13" "r_650_diff.13" "r_649_diff.13" |
| "r_648_diff.13" "r_647_diff.13" "r_646_diff.13" "r_645_diff.13" "r_644_Poly.X.1" |
| "r_643_Poly.X.1" "r_642_Poly.X.1" "r_641_Poly.X.1" "r_640_Poly.X.1" "r_639_Poly.X.1" |
| "r_638_Poly.X.1" "r_637_Poly.X.1" "r_636_Poly.X.1" "r_635_Poly.X.1" "r_634_Poly.X.1" |
| "r_633_Poly.X.1" "r_632_Poly.X.1" "r_631_Poly.X.1" "r_630_Poly.X.1" "r_629_Poly.X.1" |
| "r_628_Poly.X.1" "r_627_Poly.X.1" "r_626_Poly.X.1" "r_625_Poly.X.1" "r_624_Poly.X.1" |
| "r_623_Poly.X.1" "r_622_Poly.X.1" "r_621_Poly.X.1" "r_620_Poly.X.1" "r_619_Poly.X.1" |
| "r_618_Poly.X.1" "r_617_Poly.X.1" "r_616_Poly.X.1" "r_615_Poly.X.1" "r_614_Poly.X.1" |
| "r_613_Poly.X.1" "r_612_Poly.X.1" "r_611_Poly.X.1" "r_610_Poly.X.1" "r_609_Poly.X.1" |
| "r_608_Poly.X.1" "r_607_Poly.X.1" "r_606_Poly.X.1" "r_605_Poly.X.1" "r_604_Poly.X.1" |
| "r_603_Poly.X.1" "r_602_Poly.X.1" "r_601_Poly.X.1" "r_600_Poly.X.1" "r_599_Poly.X.1" |
| "r_598_Poly.X.1" "r_597_Poly.X.1" "r_596_Poly.X.1" "r_595_Poly.X.1" "r_594_Poly.X.1" |
| "r_593_Poly.X.1" "r_592_Poly.X.1" "r_591_Poly.X.1" "r_590_Poly.X.1" "r_589_Poly.X.1" |
| "r_588_Poly.X.1" "r_587_Poly.X.1" "r_586_Poly.X.1" "r_585_Poly.X.1" "r_584_Poly.X.1" |
| "r_583_Poly.X.1" "r_582_Poly.X.1" "r_581_Poly.X.1" "r_580_Poly.X.1" "r_579_Poly.X.1" |
| "r_578_Poly.X.1" "r_577_Poly.X.1" "r_576_Poly.X.1" "r_575_Poly.X.1" "r_574_Poly.X.1" |
| "r_573_Poly.X.1" "r_572_Poly.X.1" "r_571_Poly.X.1" "r_570_Poly.X.1" "r_569_Poly.X.1" |
| "r_568_Poly.X.1" "r_567_Poly.X.1" "r_566_Poly.X.1" "r_565_Poly.X.1" "r_564_Poly.X.1" |
| "r_563_Poly.X.1" "r_562_Poly.X.1" "r_561_Poly.X.1" "r_560_Poly.X.1" "r_559_Poly.X.1" |
| "r_558_Poly.X.1" "r_557_Poly.X.1" "r_556_Poly.X.1" "r_555_Poly.X.1" "r_554_Poly.X.1" |
| "r_553_Poly.X.1" "r_552_Poly.X.1" "r_551_Poly.X.1" "r_550_Poly.X.1" "r_549_Poly.X.1" |
| "r_548_Poly.X.1" "r_547_Poly.X.1" "r_546_Poly.X.1" "r_545_POLY.X.1" "r_544_POLY.X.1" |
| "r_543_POLY.X.1" "r_542_poly.X.1a" "r_541_poly.X.1a" "r_540_poly.X.1a" "r_539_poly.X.1a" |
| "r_538_poly.X.1a" "r_537_dnwell.6" "r_536_poly.c1" "r_535_poly.c1" "r_534_poly.15" |
| "r_533_poly.12" "r_532_poly.11" "r_531_poly.10" "r_530_poly.9" "r_529_poly.9" |
| "r_528_poly.9" "r_527_poly.8" "r_526_poly.7" "r_525_poly.6" "r_524_poly.5" |
| "r_523_poly.4" "r_522_poly.3" "r_521_poly.c2" "r_520_poly.c3" "r_519_poly.2" |
| "r_518_poly.2" "r_517_poly.1b" "r_516_poly.1a" "r_515_poly.14" "r_514_poly.13" |
| "r_513_difftap.c11" "r_512_difftap.24" "r_511_difftap.23" "r_510_difftap.22" "r_509_difftap.21" |
| "r_508_difftap.20" "r_507_difftap.19" "r_506_difftap.18" "r_505_difftap.17" "r_504_difftap.16" |
| "r_503_difftap.16" "r_502_difftap.15b" "r_501_difftap.15a" "r_500_difftap.14a" "r_499_difftap.14" |
| "r_498_nwell.10" "r_497_nwell.9" "r_496_hv.nwell.1" "r_495_nwell.8" "r_494_hvi.5" |
| "r_493_hvi.4" "r_492_hvi.2a" "r_491_hvi.1" "r_490_psd.c5b" "r_489_psd.c2b" |
| "r_488_psd.c2a" "r_487_psd.c1a" "r_486_psd.11" "r_485_psd.10b" "r_484_psd.9" |
| "r_483_psd.8" "r_482_psd.7" "r_481_psd.5b" "r_480_psd.5a" "r_479_psd.2" |
| "r_478_psd.2" "r_477_psd.c1b" "r_476_psd.1" "r_475_psd.1" "r_474_nsd.c5a" |
| "r_473_nsd.c2b" "r_472_nsd.c2a" "r_471_nsd.c1a" "r_470_nsd.11" "r_469_nsd.10a" |
| "r_468_nsd.9" "r_467_nsd.8" "r_466_nsd.7" "r_465_nsd.5b" "r_464_nsd.5a" |
| "r_463_nsd.2" "r_462_nsd.2" "r_461_nsd.c1b" "r_460_nsd.1" "r_459_nsd.1" |
| "r_458_tunm.8" "r_457_tunm.7" "r_456_tunm.6a" "r_455_tunm.5" "r_454_tunm.4" |
| "r_453_tunm.3" "r_452_tunm.2" "r_451_tunm.1" "r_450_difftap.c14" "r_449_difftap.c13" |
| "r_448_difftap.c12" "r_447_difftap.c10" "r_446_difftap.c8" "r_445_difftap.c5" "r_444_difftap.c1" |
| "r_443_difftap.11" "r_442_difftap.10" "r_441_difftap.9" "r_440_difftap.8" "r_439_difftap.7" |
| "r_438_difftap.6" "r_437_difftap.5" "r_436_difftap.4" "r_435_difftap.3" "r_434_difftap.2b" |
| "r_433_difftap.2" "r_432_difftap.c1" "r_431_difftap.1" "r_430_difftap.1" "r_429_difftap.c1" |
| "r_428_difftap.1" "r_427_difftap.1" "r_426_hvtr.3" "r_425_hvtr.2" "r_424_hvtr.2" |
| "r_423_hvtr.1" "r_422_lvtn.14" "r_421_lvtn.13" "r_420_lvtn.12" "r_419_lvtn.10" |
| "r_418_lvtn.9" "r_417_lvtn.9" "r_416_lvtn.4b" "r_415_lvtn.3b" "r_414_lvtn.3a" |
| "r_413_lvtn.2" "r_412_lvtn.1a" "r_411_hvtp.c1" "r_410_hvtp.6" "r_409_hvtp.5" |
| "r_408_hvtp.4" "r_407_hvtp.3" "r_406_hvtp.2" "r_405_hvtp.1" "r_404_nwell.7" |
| "r_403_nwell.6" "r_402_nwell.5" "r_401_nwell.5" "r_400_nwell.4" "r_399_nwell.2a" |
| "r_398_nwell.1" "r_397_dnwell.7" "r_396_dnwell.5" "r_395_dnwell.4" "r_394_dnwell.3" |
| "r_393_dnwell.2" "r_392_X.28" "r_391_X.25" "r_390_X.26" "r_389_X.23c" |
| "r_388_X.23c" "r_387_X.23c" "r_386_X.23c" "r_385_X.23c" "r_384_X.23c" |
| "r_383_X.23c" "r_382_X.23c" "r_381_X.23b" "r_380_X.21" "r_379_X.19" |
| "r_378_X.16" "r_377_X.15a" "r_376_X.15a" "r_375_X.15a" "r_374_X.15a" |
| "r_373_X.15a" "r_372_X.15a" "r_371_X.15a" "r_370_X.15a" "r_369_X.15a" |
| "r_368_X.15a" "r_367_X.15a" "r_366_X.15a" "r_365_X.15a" "r_364_X.15a" |
| "r_363_X.15a" "r_362_X.15a" "r_361_X.15a" "r_360_X.15a" "r_359_X.15a" |
| "r_358_X.15a" "r_357_X.15a" "r_356_X.15a" "r_355_X.15a" "r_354_X.15a" |
| "r_353_X.15a" "r_352_X.15a" "r_351_X.15a" "r_350_X.15a" "r_349_X.15a" |
| "r_348_X.15a" "r_347_X.15a" "r_346_X.15a" "r_345_X.15a" "r_344_X.15a" |
| "r_343_X.15a" "r_342_X.15a" "r_341_X.15a" "r_340_X.15a" "r_339_X.15a" |
| "r_338_X.15a" "r_337_X.15a" "r_336_X.15a" "r_335_X.15a" "r_334_X.15a" |
| "r_333_X.15a" "r_332_X.15a" "r_331_X.15a" "r_330_X.12e" "r_329_X.12d" |
| "r_328_X.12e" "r_327_X.12d" "r_326_X.12e" "r_325_X.12d" "r_324_X.12e" |
| "r_323_X.12d" "r_322_X.12b" "r_321_X.12a" "r_320_X.12b" "r_319_X.12a" |
| "r_318_X.12b" "r_317_X.12a" "r_316_X.12b" "r_315_X.12a" "r_314_X.12b" |
| "r_313_X.12a" "r_312_X.12b" "r_311_X.12a" "r_310_X.12b" "r_309_X.12a" |
| "r_308_X.12b" "r_307_X.12a" "r_306_X.12b" "r_305_X.12a" "r_304_X.12b" |
| "r_303_X.12a" "r_302_X.12b" "r_301_X.12a" "r_300_X.12b" "r_299_X.12a" |
| "r_298_X.12b" "r_297_X.12a" "r_296_X.12b" "r_295_X.12a" "r_294_X.12b" |
| "r_293_X.12a" "r_292_X.12b" "r_291_X.12a" "r_290_X.12b" "r_289_X.12a" |
| "r_288_X.12b" "r_287_X.12a" "r_286_X.12b" "r_285_X.12a" "r_284_X.12b" |
| "r_283_X.12a" "r_282_X.12b" "r_281_X.12a" "r_280_X.12b" "r_279_X.12a" |
| "r_278_X.12b" "r_277_X.12a" "r_276_X.12b" "r_275_X.12a" "r_274_X.12b" |
| "r_273_X.12a" "r_272_X.12b" "r_271_X.12a" "r_270_X.12b" "r_269_X.12a" |
| "r_268_X.12b" "r_267_X.12a" "r_266_X.12b" "r_265_X.12a" "r_264_X.12b" |
| "r_263_X.12a" "r_262_X.12b" "r_261_X.12a" "r_260_X.10" "r_259_X.10" |
| "r_258_X.9" "r_257_X.9" "r_256_X.9" "r_255_X.9" "r_254_X.9" |
| "r_253_X.9" "r_252_X.9" "r_251_X.9" "r_250_X.9" "r_249_X.9" |
| "r_248_X.9" "r_247_X.9" "r_246_X.9" "r_245_X.9" "r_244_X.9" |
| "r_243_X.9" "r_242_X.9" "r_241_X.9" "r_240_X.5" "r_239_X.5" |
| "r_238_X.5" "r_237_X.5" "r_236_X.5" "r_235_X.5" "r_234_X.5" |
| "r_233_X.5" "r_232_X.3a" "r_231_X.3a" "r_230_X.3a" "r_229_X.3a" |
| "r_228_X.3a" "r_227_X.3a" "r_226_X.3a" "r_225_X.3a" "r_224_X.3a" |
| "r_223_X.3a" "r_222_X.3a" "r_221_X.3a" "r_220_X.3a" "r_219_X.3a" |
| "r_218_X.3a" "r_217_X.3a" "r_216_X.3a" "r_215_X.3a" "r_214_X.3a" |
| "r_213_X.3a" "r_212_X.3a" "r_211_X.3a" "r_210_X.3a" "r_209_X.3a" |
| "r_208_X.3a" "r_207_X.3a" "r_206_X.3a" "r_205_X.3a" "r_204_X.3a" |
| "r_203_X.3a" "r_202_X.3a" "r_201_X.3a" "r_200_X.3a" "r_199_X.3a" |
| "r_198_X.3a" "r_197_X.3a" "r_196_X.3a" "r_195_X.3a" "r_194_X.3a" |
| "r_193_X.3a" "r_192_X.3a" "r_191_X.3a" "r_190_X.3a" "r_189_X.3a" |
| "r_188_X.3a" "r_187_X.3a" "r_186_X.3a" "r_185_X.3a" "r_184_X.3a" |
| "r_183_X.3a" "r_182_X.3a" "r_181_X.3a" "r_180_X.3a" "r_179_X.3a" |
| "r_178_X.3a" "r_177_X.3a" "r_176_X.3a" "r_175_X.3a" "r_174_X.3a" |
| "r_173_X.3a" "r_172_X.3a" "r_171_X.3a" "r_170_X.3a" "r_169_X.3a" |
| "r_168_X.3a" "r_167_X.3a" "r_166_X.3a" "r_165_X.3a" "r_164_X.3a" |
| "r_163_X.3a" "r_162_X.3a" "r_161_X.3a" "r_160_X.3a" "r_159_X.3a" |
| "r_158_X.3a" "r_157_X.3a" "r_156_X.3a" "r_155_X.3a" "r_154_X.3a" |
| "r_153_X.3a" "r_152_X.3a" "r_151_X.3a" "r_150_X.3a" "r_149_X.3a" |
| "r_148_X.3a" "r_147_X.3a" "r_146_X.3a" "r_145_X.3a" "r_144_X.3a" |
| "r_143_X.3a" "r_142_X.3a" "r_141_X.3a" "r_140_X.3a" "r_139_X.3a" |
| "r_138_X.3a" "r_137_X.3a" "r_136_X.3a" "r_135_X.3a" "r_134_X.3a" |
| "r_133_X.3a" "r_132_X.3a" "r_131_X.3a" "r_130_X.3a" "r_129_X.3a" |
| "r_128_X.3a" "r_127_X.3a" "r_126_X.3a" "r_125_X.3a" "r_124_X.3a" |
| "r_123_X.2a" "r_122_X.2" "r_121_X.2" "r_120_X.2" "r_119_X.2" |
| "r_118_X.2" "r_117_X.2" "r_116_X.2" "r_115_X.2" "r_114_X.2" |
| "r_113_X.2" "r_112_X.1a" "r_111_X.1a" "r_110_X.1a" "r_109_X.1a" |
| "r_108_X.1a" "r_107_X.1a" "r_106_X.1a" "r_105_X.1a" "r_104_X.1a" |
| "r_103_X.1a" "r_102_X.1a" "r_101_X.1b" "r_100_X.1b" "r_99_X.1b" |
| "r_98_X.1b" "r_97_X.1b" "r_96_X.1b" "r_95_X.1b" "r_94_X.1b" |
| "r_93_X.1b" "r_92_X.1b" "r_91_X.1b" "r_90_X.1b" "r_89_X.1b" |
| "r_88_X.1b" "r_87_X.1b" "r_86_X.1b" "r_85_X.1b" "r_84_X.1b" |
| "r_83_X.1b" "r_82_X.1b" "r_81_X.1b" "r_80_X.1b" "r_79_X.1b" |
| "r_78_X.1b" "r_77_X.1b" "r_76_X.1b" "r_75_X.1b" "r_74_X.1b" |
| "r_73_X.1b" "r_72_X.1b" "r_71_X.1b" "r_70_X.1b" "r_69_X.1b" |
| "r_68_X.1b" "r_67_X.1b" "r_66_X.1b" "r_65_X.1b" "r_64_X.1b" |
| "r_63_X.1b" "r_62_X.1b" "r_61_X.1b" "r_60_X.1b" "r_59_X.1b" |
| "r_58_X.1b" "r_57_X.1b" "r_56_X.1b" "r_55_X.1b" "r_54_X.1b" |
| "r_53_X.1b" "r_52_X.1b" "r_51_X.1b" "r_50_X.1b" "r_49_X.1b" |
| "r_48_X.1b" "r_47_X.1b" "r_46_X.1b" "r_45_X.1b" "r_44_X.1b" |
| "r_43_X.1b" "r_42_X.1b" "r_41_X.1b" "r_40_X.1b" "r_39_X.1b" |
| "r_38_X.1b" "r_37_X.1b" "r_36_X.1b" "r_35_X.1b" "r_34_X.1b" |
| "r_33_X.1b" "r_32_X.1b" "r_31_X.1b" "r_30_X.1b" "r_29_X.1b" |
| "r_28_X.1b" "r_27_X.1b" "r_26_X.1b" "r_25_X.1b" "r_24_X.1b" |
| "r_23_X.1b" "r_22_X.1b" "r_21_X.1b" "r_20_X.1b" "r_19_X.1b" |
| "r_18_X.1b" "r_17_X.1b" "r_16_X.1b" "r_15_X.1b" "r_14_X.1b" |
| "r_13_X.1b" "r_12_X.1b" "r_11_X.1b" "r_10_X.1b" "r_9_X.1b" |
| "r_8_X.1b" "r_7_X.1b" "r_6_X.1b" "r_5_X.1b" "r_4_X.1b" |
| "r_3_X.1b" "r_2_X.1b" "r_1_X.1b" "r_0_X.1b" |
| "r_113_X.1a" "r_114_X.1a" "r_233_X.3a" "r_234_X.3a" |
| "r_756_cap2m.8" "r_755_cap2m.8" |
| "r_754_cap2m.7" "r_753_cap2m.6" "r_752_cap2m.5" "r_751_cap2m.4" "r_750_cap2m.3" |
| "r_749_cap2m.2b" "r_748_cap2m.2b" "r_747_cap2m.2a" "r_746_cap2m.1" "r_745_capm.9" |
| "r_744_capm.8" "r_743_capm.8" "r_742_capm.7" "r_741_capm.6" "r_740_capm.5" |
| "r_739_capm.4" "r_738_capm.3" "r_737_capm.2b" "r_736_capm.2b" "r_735_capm.2a" |
| "r_734_capm.1" "r_1000_rpmNotSupport" |
| |
| GROUP keepLayers "k_346_nvhv_valid" "k_345_nvhv_L_2_20" "k_344_nvhv_L_0_70" "k_343_pvhv_valid" |
| "k_342_pvhv_L_2_16" "k_341_pvhv_L_0_66" "k_340_s8rf_nshort_W1p65_L0p15_M2_b_valid" "k_339_s8rf_nshort_W1p65_L0p15_M2_b_L_0_15" "k_338_s8rf_nshort_W1p65_L0p15_M2_b" |
| "k_337_s8rf_nlowvt_W1p65_L0p25_M4_b_valid" "k_336_s8rf_nlowvt_W1p65_L0p25_M4_b_L_0_25" "k_335_s8rf_nlowvt_W1p65_L0p25_M4_b" "k_334_s8rf_nshort_W1p65_L0p25_M2_b_valid" "k_333_s8rf_nshort_W1p65_L0p25_M2_b_L_0_25" |
| "k_332_s8rf_nshort_W1p65_L0p25_M2_b" "k_331_nhvesd_valid" "k_330_nhvesd_L_1_00" "k_329_nhvesd_L_0_60" "k_328_nhvesd_L_0_55" |
| "k_327_s8rf_nhv_W7p0_L0p5_M4_b_valid" "k_326_s8rf_nhv_W7p0_L0p5_M4_b_L_0_50" "k_325_s8rf_nhv_W7p0_L0p5_M4_b" "k_324_s8rf_nlowvt_W5p0_L0p18_M2_b_valid" "k_323_s8rf_nlowvt_W5p0_L0p18_M2_b_L_0_18" |
| "k_322_s8rf_nlowvt_W5p0_L0p18_M2_b" "k_321_s8rf_nshort_W3p0_L0p18_M2_b_valid" "k_320_s8rf_nshort_W3p0_L0p18_M2_b_L_0_18" "k_319_s8rf_nshort_W3p0_L0p18_M2_b" "k_318_s8rf_nlowvt_W3p0_L0p15_2F_valid" |
| "k_317_s8rf_nlowvt_W3p0_L0p15_2F_L_0_15" "k_316_s8rf_nlowvt_W3p0_L0p15_2F" "k_315_s8rf_nlowvt_W5p0_L0p18_M4_b_valid" "k_314_s8rf_nlowvt_W5p0_L0p18_M4_b_L_0_18" "k_313_s8rf_nlowvt_W5p0_L0p18_M4_b" |
| "k_312_s8rf_nlowvt_W1p65_L0p18_M4_b_valid" "k_311_s8rf_nlowvt_W1p65_L0p18_M4_b_L_0_18" "k_310_s8rf_nlowvt_W1p65_L0p18_M4_b" "k_309_s8rf_nlowvt_W5p0_L0p15_M4_b_valid" "k_308_s8rf_nlowvt_W5p0_L0p15_M4_b_L_0_15" |
| "k_307_s8rf_nlowvt_W5p0_L0p15_M4_b" "k_306_s8rf_nshort_W1p65_L0p18_M2_b_valid" "k_305_s8rf_nshort_W1p65_L0p18_M2_b_L_0_18" "k_304_s8rf_nshort_W1p65_L0p18_M2_b" "k_303_nlvtpass_valid" |
| "k_302_nlvtpass_L_0_15" "k_301_s8rf_nlowvt_W1p65_L0p18_M2_b_valid" "k_300_s8rf_nlowvt_W1p65_L0p18_M2_b_L_0_18" "k_299_s8rf_nlowvt_W1p65_L0p18_M2_b" "k_298_s8rf_nhv_W3p0_L0p5_M2_b_valid" |
| "k_297_s8rf_nhv_W3p0_L0p5_M2_b_L_0_50" "k_296_s8rf_nhv_W3p0_L0p5_M2_b" "k_295_s8rf_nshort_W3p0_L0p25_M4_b_valid" "k_294_s8rf_nshort_W3p0_L0p25_M4_b_L_0_25" "k_293_s8rf_nshort_W3p0_L0p25_M4_b" |
| "k_292_s8rf_nhv_W5p0_L0p5_M10_b_valid" "k_291_s8rf_nhv_W5p0_L0p5_M10_b_L_0_50" "k_290_s8rf_nhv_W5p0_L0p5_M10_b" "k_289_s8rf_nlowvt_W1p65_L0p25_M2_b_valid" "k_288_s8rf_nlowvt_W1p65_L0p25_M2_b_L_0_25" |
| "k_287_s8rf_nlowvt_W1p65_L0p25_M2_b" "k_286_s8rf_nshort_W5p0_L0p18_M4_b_valid" "k_285_s8rf_nshort_W5p0_L0p18_M4_b_L_0_18" "k_284_s8rf_nshort_W5p0_L0p18_M4_b" "k_283_nshort_valid" |
| "k_282_nshort_L_20_0" "k_281_nshort_L_8_00" "k_280_nshort_L_4_00" "k_279_nshort_L_2_00" "k_278_nshort_L_1_00" |
| "k_277_nshort_L_0_50" "k_276_nshort_L_0_25" "k_275_nshort_L_0_18" "k_274_nshort_L_0_15" "k_273_s8rf_nshort_W3p0_L0p15_M4_b_valid" |
| "k_272_s8rf_nshort_W3p0_L0p15_M4_b_L_0_15" "k_271_s8rf_nshort_W3p0_L0p15_M4_b" "k_270_s8rf_nlowvt_W5p0_L0p25_M2_b_valid" "k_269_s8rf_nlowvt_W5p0_L0p25_M2_b_L_0_25" "k_268_s8rf_nlowvt_W5p0_L0p25_M2_b" |
| "k_267_nshortesd_valid" "k_266_nshortesd_L_0_18" "k_265_nshortesd_L_0_165" "k_264_s8rf_nlowvt_W5p0_L0p25_M4_b_valid" "k_263_s8rf_nlowvt_W5p0_L0p25_M4_b_L_0_25" |
| "k_262_s8rf_nlowvt_W5p0_L0p25_M4_b" "k_261_s8rf_nlowvt_W3p0_L0p25_M2_b_valid" "k_260_s8rf_nlowvt_W3p0_L0p25_M2_b_L_0_25" "k_259_s8rf_nlowvt_W3p0_L0p25_M2_b" "k_258_s8rf_nshort_W1p65_L0p15_M4_b_valid" |
| "k_257_s8rf_nshort_W1p65_L0p15_M4_b_L_0_15" "k_256_s8rf_nshort_W1p65_L0p15_M4_b" "k_255_s8rf_nlowvt_W0p84_L0p15_8F_valid" "k_254_s8rf_nlowvt_W0p84_L0p15_8F_L_0_15" "k_253_s8rf_nlowvt_W0p84_L0p15_8F" |
| "k_252_s8rf_nhv_W5p0_L0p5_M2_b_valid" "k_251_s8rf_nhv_W5p0_L0p5_M2_b_L_0_50" "k_250_s8rf_nhv_W5p0_L0p5_M2_b" "k_249_s8rf_nshort_W5p0_L0p15_M2_b_valid" "k_248_s8rf_nshort_W5p0_L0p15_M2_b_L_0_15" |
| "k_247_s8rf_nshort_W5p0_L0p15_M2_b" "k_246_nhv_valid" "k_245_nhv_L_20_0" "k_244_nhv_L_8_00" "k_243_nhv_L_4_00" |
| "k_242_nhv_L_2_00" "k_241_nhv_L_1_00" "k_240_nhv_L_0_80" "k_239_nhv_L_0_60" "k_238_nhv_L_0_50" |
| "k_237_s8rf_nshort_W3p0_L0p15_M2_b_valid" "k_236_s8rf_nshort_W3p0_L0p15_M2_b_L_0_15" "k_235_s8rf_nshort_W3p0_L0p15_M2_b" "k_234_s8rf_nshort_W1p65_L0p25_M4_b_valid" "k_233_s8rf_nshort_W1p65_L0p25_M4_b_L_0_25" |
| "k_232_s8rf_nshort_W1p65_L0p25_M4_b" "k_231_s8rf_nlowvt_W3p0_L0p18_M2_b_valid" "k_230_s8rf_nlowvt_W3p0_L0p18_M2_b_L_0_18" "k_229_s8rf_nlowvt_W3p0_L0p18_M2_b" "k_228_s8rf_nhv_W3p0_L0p5_M4_b_valid" |
| "k_227_s8rf_nhv_W3p0_L0p5_M4_b_L_0_50" "k_226_s8rf_nhv_W3p0_L0p5_M4_b" "k_225_s8rf_nshort_W5p0_L0p15_M4_b_valid" "k_224_s8rf_nshort_W5p0_L0p15_M4_b_L_0_15" "k_223_s8rf_nshort_W5p0_L0p15_M4_b" |
| "k_222_sonos_e_valid" "k_221_sonos_e_L_0_50" "k_220_sonos_e_L_0_22" "k_219_s8rf_nshort_W3p0_L0p25_M2_b_valid" "k_218_s8rf_nshort_W3p0_L0p25_M2_b_L_0_25" |
| "k_217_s8rf_nshort_W3p0_L0p25_M2_b" "k_216_nlowvt_valid" "k_215_nlowvt_L_8_00" "k_214_nlowvt_L_6_00" "k_213_nlowvt_L_4_00" |
| "k_212_nlowvt_L_2_00" "k_211_nlowvt_L_1_00" "k_210_nlowvt_L_0_50" "k_209_nlowvt_L_0_25" "k_208_nlowvt_L_0_18" |
| "k_207_nlowvt_L_0_15" "k_206_s8rf_nshort_W5p0_L0p25_M2_b_valid" "k_205_s8rf_nshort_W5p0_L0p25_M2_b_L_0_25" "k_204_s8rf_nshort_W5p0_L0p25_M2_b" "k_203_s8rf_nshort_W5p0_L0p18_M2_b_valid" |
| "k_202_s8rf_nshort_W5p0_L0p18_M2_b_L_0_18" "k_201_s8rf_nshort_W5p0_L0p18_M2_b" "k_200_s8rf_nshort_W3p0_L0p18_M4_b_valid" "k_199_s8rf_nshort_W3p0_L0p18_M4_b_L_0_18" "k_198_s8rf_nshort_W3p0_L0p18_M4_b" |
| "k_197_s8rf_nlowvt_W0p84_L0p15_4F_valid" "k_196_s8rf_nlowvt_W0p84_L0p15_4F_L_0_15" "k_195_s8rf_nlowvt_W0p84_L0p15_4F" "k_194_s8rf_nlowvt_W5p0_L0p15_M2_b_valid" "k_193_s8rf_nlowvt_W5p0_L0p15_M2_b_L_0_15" |
| "k_192_s8rf_nlowvt_W5p0_L0p15_M2_b" "k_191_s8rf_nlowvt_W3p0_L0p15_M2_b_valid" "k_190_s8rf_nlowvt_W3p0_L0p15_M2_b_L_0_15" "k_189_s8rf_nlowvt_W3p0_L0p15_M2_b" "k_188_s8rf_nlowvt_W3p0_L0p25_M4_b_valid" |
| "k_187_s8rf_nlowvt_W3p0_L0p25_M4_b_L_0_25" "k_186_s8rf_nlowvt_W3p0_L0p25_M4_b" "k_185_s8rf_nlowvt_W3p0_L0p15_M4_b_valid" "k_184_s8rf_nlowvt_W3p0_L0p15_M4_b_L_0_15" "k_183_s8rf_nlowvt_W3p0_L0p15_M4_b" |
| "k_182_s8rf_nlowvt_W3p0_L0p15_8F_valid" "k_181_s8rf_nlowvt_W3p0_L0p15_8F_L_0_15" "k_180_s8rf_nlowvt_W3p0_L0p15_8F" "k_179_s8rf_nlowvt_W3p0_L0p18_M4_b_valid" "k_178_s8rf_nlowvt_W3p0_L0p18_M4_b_L_0_18" |
| "k_177_s8rf_nlowvt_W3p0_L0p18_M4_b" "k_176_s8rf_nlowvt_W1p65_L0p15_M4_b_valid" "k_175_s8rf_nlowvt_W1p65_L0p15_M4_b_L_0_15" "k_174_s8rf_nlowvt_W1p65_L0p15_M4_b" "k_173_fnpass_valid" |
| "k_172_fnpass_L_0_15" "k_171_s8rf_nlowvt_W3p0_L0p15_4F_valid" "k_170_s8rf_nlowvt_W3p0_L0p15_4F_L_0_15" "k_169_s8rf_nlowvt_W3p0_L0p15_4F" "k_168_s8rf_nshort_W1p65_L0p18_M4_b_valid" |
| "k_167_s8rf_nshort_W1p65_L0p18_M4_b_L_0_18" "k_166_s8rf_nshort_W1p65_L0p18_M4_b" "k_165_s8rf_nhv_W5p0_L0p5_M4_b_valid" "k_164_s8rf_nhv_W5p0_L0p5_M4_b_L_0_50" "k_163_s8rf_nhv_W5p0_L0p5_M4_b" |
| "k_162_ntvnative_valid" "k_161_ntvnative_L_0_80" "k_160_ntvnative_L_0_60" "k_159_ntvnative_L_0_50" "k_158_npd_valid" |
| "k_157_npd_L_0_15" "k_156_nhvnativeesd_valid" "k_155_nhvnativeesd_L_4_00" "k_154_nhvnativeesd_L_2_00" "k_153_nhvnativeesd_L_0_90" |
| "k_152_sonos_p_valid" "k_151_sonos_p_L_0_50" "k_150_sonos_p_L_0_22" "k_149_s8rf_nhv_W3p0_L0p5_M10_b_valid" "k_148_s8rf_nhv_W3p0_L0p5_M10_b_L_0_50" |
| "k_147_s8rf_nhv_W3p0_L0p5_M10_b" "k_146_s8rf_nlowvt_W1p65_L0p15_M2_b_valid" "k_145_s8rf_nlowvt_W1p65_L0p15_M2_b_L_0_15" "k_144_s8rf_nlowvt_W1p65_L0p15_M2_b" "k_143_npass_valid" |
| "k_142_npass_L_0_15" "k_141_s8rf_nshort_W5p0_L0p25_M4_b_valid" "k_140_s8rf_nshort_W5p0_L0p25_M4_b_L_0_25" "k_139_s8rf_nshort_W5p0_L0p25_M4_b" "k_138_nhvnative_valid" |
| "k_137_nhvnative_L_25_00" "k_136_nhvnative_L_8_00" "k_135_nhvnative_L_4_00" "k_134_nhvnative_L_2_00" "k_133_nhvnative_L_1_00" |
| "k_132_nhvnative_L_0_90" "k_131_s8rf_nhv_W7p0_L0p5_M10_b_valid" "k_130_s8rf_nhv_W7p0_L0p5_M10_b_L_0_50" "k_129_s8rf_nhv_W7p0_L0p5_M10_b" "k_128_s8rf_nlowvt_W0p84_L0p15_2F_valid" |
| "k_127_s8rf_nlowvt_W0p84_L0p15_2F_L_0_15" "k_126_s8rf_nlowvt_W0p84_L0p15_2F" "k_125_s8rf_nlowvt_W0p42_L0p15_2F_valid" "k_124_s8rf_nlowvt_W0p42_L0p15_2F_L_0_15" "k_123_s8rf_nlowvt_W0p42_L0p15_2F" |
| "k_122_s8rf_pmedlvt_W1p68_L0p15_2F_valid" "k_121_s8rf_pmedlvt_W1p68_L0p15_2F_L_0_15" "k_120_s8rf_pmedlvt_W1p68_L0p15_2F" "k_119_s8rf_pshort_W3p0_L0p18_M2_b_valid" "k_118_s8rf_pshort_W3p0_L0p18_M2_b_L_0_18" |
| "k_117_s8rf_pshort_W3p0_L0p18_M2_b" "k_116_phighvt_valid" "k_115_phighvt_L_20_0" "k_114_phighvt_L_8_00" "k_113_phighvt_L_4_00" |
| "k_112_phighvt_L_2_00" "k_111_phighvt_L_1_00" "k_110_phighvt_L_0_50" "k_109_phighvt_L_0_25" "k_108_phighvt_L_0_18" |
| "k_107_phighvt_L_0_15" "k_106_s8rf_pshort_W1p65_L0p15_M4_b_valid" "k_105_s8rf_pshort_W1p65_L0p15_M4_b_L_0_15" "k_104_s8rf_pshort_W1p65_L0p15_M4_b" "k_103_s8rf_pshort_W1p65_L0p18_M2_b_valid" |
| "k_102_s8rf_pshort_W1p65_L0p18_M2_b_L_0_18" "k_101_s8rf_pshort_W1p65_L0p18_M2_b" "k_100_s8rf_pmedlvt_W1p68_L0p15_4F_valid" "k_99_s8rf_pmedlvt_W1p68_L0p15_4F_L_0_15" "k_98_s8rf_pmedlvt_W1p68_L0p15_4F" |
| "k_97_s8rf_pshort_W1p65_L0p18_M4_b_valid" "k_96_s8rf_pshort_W1p65_L0p18_M4_b_L_0_18" "k_95_s8rf_pshort_W1p65_L0p18_M4_b" "k_94_s8rf_pshort_W1p68_L0p15_2F_valid" "k_93_s8rf_pshort_W1p68_L0p15_2F_L_0_15" |
| "k_92_s8rf_pshort_W1p68_L0p15_2F" "k_91_ppu_valid" "k_90_ppu_L_0_15" "k_89_pshort_valid" "k_88_pshort_L_20_0" |
| "k_87_pshort_L_8_00" "k_86_pshort_L_4_00" "k_85_pshort_L_2_00" "k_84_pshort_L_1_00" "k_83_pshort_L_0_50" |
| "k_82_pshort_L_0_25" "k_81_pshort_L_0_18" "k_80_pshort_L_0_17" "k_79_pshort_L_0_15" "k_78_s8rf_pshort_W1p65_L0p15_M2_b_valid" |
| "k_77_s8rf_pshort_W1p65_L0p15_M2_b_L_0_15" "k_76_s8rf_pshort_W1p65_L0p15_M2_b" "k_75_s8rf_pshort_W3p0_L0p25_M2_b_valid" "k_74_s8rf_pshort_W3p0_L0p25_M2_b_L_0_25" "k_73_s8rf_pshort_W3p0_L0p25_M2_b" |
| "k_72_s8rf_pshort_W5p0_L0p18_M2_b_valid" "k_71_s8rf_pshort_W5p0_L0p18_M2_b_L_0_18" "k_70_s8rf_pshort_W5p0_L0p18_M2_b" "k_69_s8rf_pshort_W3p0_L0p18_M4_b_valid" "k_68_s8rf_pshort_W3p0_L0p18_M4_b_L_0_18" |
| "k_67_s8rf_pshort_W3p0_L0p18_M4_b" "k_66_s8rf_pshort_W1p68_L0p15_4F_valid" "k_65_s8rf_pshort_W1p68_L0p15_4F_L_0_15" "k_64_s8rf_pshort_W1p68_L0p15_4F" "k_63_s8rf_pshort_W5p0_L0p18_M4_b_valid" |
| "k_62_s8rf_pshort_W5p0_L0p18_M4_b_L_0_18" "k_61_s8rf_pshort_W5p0_L0p18_M4_b" "k_60_s8rf_pshort_W3p0_L0p15_2F_valid" "k_59_s8rf_pshort_W3p0_L0p15_2F_L_0_15" "k_58_s8rf_pshort_W3p0_L0p15_2F" |
| "k_57_s8rf_pshort_W5p0_L0p15_M2_b_valid" "k_56_s8rf_pshort_W5p0_L0p15_M2_b_L_0_15" "k_55_s8rf_pshort_W5p0_L0p15_M2_b" "k_54_s8rf_pshort_W5p0_L0p15_M4_b_valid" "k_53_s8rf_pshort_W5p0_L0p15_M4_b_L_0_15" |
| "k_52_s8rf_pshort_W5p0_L0p15_M4_b" "k_51_s8rf_pshort_W3p0_L0p15_M2_b_valid" "k_50_s8rf_pshort_W3p0_L0p15_M2_b_L_0_15" "k_49_s8rf_pshort_W3p0_L0p15_M2_b" "k_48_phv_valid" |
| "k_47_phv_L_20_0" "k_46_phv_L_8_00" "k_45_phv_L_4_00" "k_44_phv_L_2_00" "k_43_phv_L_1_00" |
| "k_42_phv_L_0_80" "k_41_phv_L_0_60" "k_40_phv_L_0_50" "k_39_s8rf_pshort_W1p65_L0p25_M2_b_valid" "k_38_s8rf_pshort_W1p65_L0p25_M2_b_L_0_25" |
| "k_37_s8rf_pshort_W1p65_L0p25_M2_b" "k_36_s8rf_pshort_W0p84_L0p15_2F_valid" "k_35_s8rf_pshort_W0p84_L0p15_2F_L_0_15" "k_34_s8rf_pshort_W0p84_L0p15_2F" "k_33_plowvt_valid" |
| "k_32_plowvt_L_20_0" "k_31_plowvt_L_8_00" "k_30_plowvt_L_4_00" "k_29_plowvt_L_2_00" "k_28_plowvt_L_1_50" |
| "k_27_plowvt_L_1_00" "k_26_plowvt_L_0_50" "k_25_plowvt_L_0_35" "k_24_s8rf_pshort_W5p0_L0p25_M2_b_valid" "k_23_s8rf_pshort_W5p0_L0p25_M2_b_L_0_25" |
| "k_22_s8rf_pshort_W5p0_L0p25_M2_b" "k_21_s8rf_pshort_W5p0_L0p25_M4_b_valid" "k_20_s8rf_pshort_W5p0_L0p25_M4_b_L_0_25" "k_19_s8rf_pshort_W5p0_L0p25_M4_b" "k_18_s8rf_pshort_W3p0_L0p15_M4_b_valid" |
| "k_17_s8rf_pshort_W3p0_L0p15_M4_b_L_0_15" "k_16_s8rf_pshort_W3p0_L0p15_M4_b" "k_15_phvesd_valid" "k_14_phvesd_L_0_55" "k_13_s8rf_pshort_W1p65_L0p25_M4_b_valid" |
| "k_12_s8rf_pshort_W1p65_L0p25_M4_b_L_0_25" "k_11_s8rf_pshort_W1p65_L0p25_M4_b" "k_10_s8rf_pshort_W5p0_L0p15_2F_valid" "k_9_s8rf_pshort_W5p0_L0p15_2F_L_0_15" "k_8_s8rf_pshort_W5p0_L0p15_2F" |
| "k_7_s8rf_pshort_W3p0_L0p25_M4_b_valid" "k_6_s8rf_pshort_W3p0_L0p25_M4_b_L_0_25" "k_5_s8rf_pshort_W3p0_L0p25_M4_b" "k_4_s8rf_pmedlvt_W0p84_L0p15_2F_valid" "k_3_s8rf_pmedlvt_W0p84_L0p15_2F_L_0_15" |
| "k_2_s8rf_pmedlvt_W0p84_L0p15_2F" "k_1_rfGate" "k_0_anchor" |
| GROUP addedVias "v_14_q0_via4_NOTAreaidStdCellCore_added_above" "v_13_q0_via4_NOTAreaidStdCellCore_added_below" "v_12_q0_via4_NOTAreaidStdCellCore_added_vias" "v_11_q0_via3_NOTAreaidStdCellCore_added_above" |
| "v_10_q0_via3_NOTAreaidStdCellCore_added_below" "v_9_q0_via3_NOTAreaidStdCellCore_added_vias" "v_8_q0_via2_NOTAreaidStdCellCore_added_above" "v_7_q0_via2_NOTAreaidStdCellCore_added_below" "v_6_q0_via2_NOTAreaidStdCellCore_added_vias" |
| "v_5_q0_via_NOTAreaidStdCellCore_added_above" "v_4_q0_via_NOTAreaidStdCellCore_added_below" "v_3_q0_via_NOTAreaidStdCellCore_added_vias" "v_2_q0_mcon_NOTAreaidStdCellCore_added_above" "v_1_q0_mcon_NOTAreaidStdCellCore_added_below" |
| "v_0_q0_mcon_NOTAreaidStdCellCore_added_vias" |
| GROUP drcRecommended "s_73_chipint.2" "s_72_chipint.1" "s_71_metblk.7" "s_70_metblk.7" |
| "s_69_metblk.7" "s_68_metblk.6" "s_67_m4.x.1" "s_66_m4.x.1" "s_65_m4.x.1" |
| "s_64_m4.x.1" "s_63_m4.x.1" "s_62_m4.x.1" "s_61_m3.x.1" "s_60_m3.x.1" |
| "s_59_m3.x.1" "s_58_m3.x.1" "s_57_m3.x.1" "s_56_m3.x.1" "s_55_m2.x.1" |
| "s_54_m2.x.1" "s_53_m2.x.1" "s_52_m2.x.1" "s_51_m2.x.1" "s_50_m2.x.1" |
| "s_49_m1.x.1" "s_48_m1.x.1" "s_47_m1.x.1" "s_46_m1.x.1" "s_45_m1.x.1" |
| "s_44_m1.x.1" "s_43_X.22" "s_42_X.22" "s_41_X.22" "s_40_X.22" |
| "s_39_X.22" "s_38_X.22" "s_37_X.22" "s_36_X.22" "s_35_X.22" |
| "s_34_X.22" "s_33_X.22" "s_32_X.22" "s_31_X.22" "s_30_X.22" |
| "s_29_X.22" "s_28_X.22" "s_27_X.22" "s_26_X.22" "s_25_X.22" |
| "s_24_X.22" "s_23_X.22" "s_22_X.22" "s_21_X.22" "s_20_X.22" |
| "s_19_X.22" "s_18_X.22" "s_17_X.22" "s_16_X.22" "s_15_X.22" |
| "s_14_X.22" "s_13_X.22" "s_12_X.22" "s_11_X.22" "s_10_X.22" |
| "s_9_X.22" "s_8_m2.3c" "s_7_X.27" "s_6_X.27" "s_5_X.23f" |
| "s_4_X.18" "s_3_X.18" "s_2_X.18" "s_1_X.18" "s_0_X.18" |
| |
| /// To remove this when there are no rules checked, |
| /// pass ?dontCheckUnregisteredRules t to (CALdone) |
| GROUP unRegisteredErrors "?" |
| /// To remove this when there are no rules checked, |
| /// pass ?dontCheckUnregisteredRules t to (CALdone) |
| DRC SELECT CHECK unRegisteredErrors |
| DRC SELECT CHECK drcErrors |
| DRC SELECT CHECK keepLayers |
| DRC CHECK MAP keepLayers |
| // ASCII "$cy_calbr_rundir/keepLayer.db" |
| ASCII "keepLayer.db" |
| MAXIMUM RESULTS ALL |
| DRC SELECT CHECK addedVias |
| DRC CHECK MAP addedVias |
| // ASCII "$cy_calbr_rundir/addedVias.db" |
| ASCII "addedVias.db" |
| MAXIMUM RESULTS ALL |
| DRC SELECT CHECK drcRecommended |
| DRC CHECK MAP drcRecommended |
| // ASCII "$cy_calbr_rundir/drcRecommended.db" |
| ASCII "drcRecommended.db" |
| MAXIMUM RESULTS 20000 |