/ files.py
files.py
1 #!/bin/env python3 2 """Python code for parsing a Cadence technology file""" 3 # SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-or-later OR CERN-OHL-S-2.0+ OR Apache-2.0 4 _pdkdir = "/home/verhaegs/eda/Chips4Makers/PDKs" 5 6 techfiles = ( 7 ("test.tf", "testtech.yaml"), 8 (_pdkdir+"/TSMCPDK_tsmc035mm_3d3v_5v/techfile", 9 "TSMC_CM035_TechFile.yaml"), 10 (_pdkdir+"/TSMCPDK_C018RF_1P6M_4X1U_20KUTM_2fFMIM/techfile", 11 "TSMC_CM018RF_TechFile.yaml"), 12 (_pdkdir+"/SkyWaterPDK_s8/VirtuosoOA/techfiles/s8phirs_10r.tf", 13 "SkyWater_s8phirs_10r_TechFile.yaml"), 14 (_pdkdir+"/OnSemiPDK_amis350uc/lib/amis350uc/physical/dfii/amis350ucakxx/Rev3.13/techfile.tf", 15 "OnSemi_amis350uc_TechFile.yaml"), 16 (_pdkdir+"/AMSPDK_HK_C35H35S35/cds/HK_H35/TECH_H35B4/techfile4.asc", 17 "AMS_H35B4_TechFile.yaml"), 18 (_pdkdir+"/AMSPDK_HK_C35H35S35/cds/HK_H35/TECH_H35B4_VHV/techfile4.asc", 19 "AMS_H35B4_VHV_TechFile.yaml"), 20 (_pdkdir+"/AMSPDK_HK_C35H35S35/cds/HK_H35/TECH_H35B4_THINMET4/techfile4.asc", 21 "AMS_H35B4_THINMET4_TechFile.yaml"), 22 (_pdkdir+"/AMSPDK_HK_C35H35S35/cds/HK_S35/TECH_S35D4/techfile4.asc", 23 "AMS_S35D4_TechFile.yaml"), 24 (_pdkdir+"/AMSPDK_HK_C35H35S35/cds/HK_C35/TECH_C35B4/techfile4.asc", 25 "AMS_C35B4_TechFile.yaml"), 26 (_pdkdir+"/AMSPDK_HK_C35H35S35/cds/HK_C35/TECH_C35B4_THICKMET4/techfile4.asc", 27 "AMS_C35B4_THICKMET4_TechFile.yaml"), 28 ) 29 30 assurafiles = ( 31 (_pdkdir+"/TSMCPDK_tsmc035mm_3d3v_5v/Techfile/Assura/drc/2p3m/UM35P_5V_3M.24a", 32 "TSMC_CM035_2P3M_DRC.yaml"), 33 (_pdkdir+"/TSMCPDK_tsmc035mm_3d3v_5v/Techfile/Assura/drc/2p3m/UM35P_5V_3M.ANT.24a", 34 "TSMC_CM035_2P3M_Antenna.yaml"), 35 (_pdkdir+"/TSMCPDK_tsmc035mm_3d3v_5v/Techfile/Assura/lvsrcx/2p3m/extract.rul", 36 "TSMC_CM035_2P3M_Extract.yaml"), 37 (_pdkdir+"/TSMCPDK_tsmc035mm_3d3v_5v/Techfile/Assura/lvsrcx/2p3m/compare.rul", 38 "TSMC_CM035_2P3M_LVS.yaml"), 39 (_pdkdir+"/TSMCPDK_tsmc035mm_3d3v_5v/Techfile/Assura/drc/2p4m/UM35P_5V_4M.24a", 40 "TSMC_CM035_2P4M_DRC.yaml"), 41 (_pdkdir+"/TSMCPDK_tsmc035mm_3d3v_5v/Techfile/Assura/drc/2p4m/UM35P_5V_4M.ANT.24a", 42 "TSMC_CM035_2P4M_Antenna.yaml"), 43 (_pdkdir+"/TSMCPDK_tsmc035mm_3d3v_5v/Techfile/Assura/lvsrcx/2p4m/extract.rul", 44 "TSMC_CM035_2P4M_Extract.yaml"), 45 (_pdkdir+"/TSMCPDK_tsmc035mm_3d3v_5v/Techfile/Assura/lvsrcx/2p4m/compare.rul", 46 "TSMC_CM035_2P4M_LVS.yaml"), 47 (_pdkdir+"/TSMCPDK_C018RF_1P6M_4X1U_20KUTM_2fFMIM/Assura/drc/assura.drc", 48 "TSMC_CM018RF_DRC.yaml"), 49 (_pdkdir+"/TSMCPDK_C018RF_1P6M_4X1U_20KUTM_2fFMIM/Assura/drc/ANTENNA/assura.ant", 50 "TSMC_CM018RF_Antenna.yaml"), 51 (_pdkdir+"/TSMCPDK_C018RF_1P6M_4X1U_20KUTM_2fFMIM/Assura/lvs_rcx/extract.rul", 52 "TSMC_CM018RF_Extract.yaml"), 53 (_pdkdir+"/TSMCPDK_C018RF_1P6M_4X1U_20KUTM_2fFMIM/Assura/lvs_rcx/compare.rul", 54 "TSMC_CM018RF_LVS.yaml"), 55 # No Assura files for SkyWater 56 # No Assura files for OnSemi PDK 57 (_pdkdir+"/AMSPDK_HK_C35H35S35/assura/c35b4/c35b4/drc.rul", 58 "AMS_C35B4_DRC.yaml"), 59 (_pdkdir+"/AMSPDK_HK_C35H35S35/assura/c35b4/c35b4/compare.rul", 60 "AMS_C35B4_LVS.yaml"), 61 (_pdkdir+"/AMSPDK_HK_C35H35S35/assura/c35b4/c35b4/extract.rul", 62 "AMS_C35B4_Extract.yaml"), 63 (_pdkdir+"/AMSPDK_HK_C35H35S35/assura/c35b4/c35b4/dfm.rul", 64 "AMS_C35B4_DFM.yaml"), 65 (_pdkdir+"/AMSPDK_HK_C35H35S35/assura/c35b4/c35b4/deviceInfo.rul", 66 "AMS_C35B4_DevInfo.yaml"), 67 (_pdkdir+"/AMSPDK_HK_C35H35S35/assura/c35b4/notchfill/notchfill.rul", 68 "AMS_C35B4_NothFill.yaml"), 69 (_pdkdir+"/AMSPDK_HK_C35H35S35/assura/c35b4/fillmettop/c35b4_fillmettop.rul", 70 "AMS_C35B4_FillMetalTop.yaml"), 71 (_pdkdir+"/AMSPDK_HK_C35H35S35/assura/h35b4/h35b4/drc.rul", 72 "AMS_H35B4_DRC.yaml"), 73 (_pdkdir+"/AMSPDK_HK_C35H35S35/assura/h35b4/h35b4/leak.rul", 74 "AMS_H35B4_Leak_DRC.yaml"), 75 (_pdkdir+"/AMSPDK_HK_C35H35S35/assura/h35b4/h35b4/leak2/leak.rul", 76 "AMS_H35B4_Leak2_DRC.yaml"), 77 (_pdkdir+"/AMSPDK_HK_C35H35S35/assura/h35b4/h35b4/compare.rul", 78 "AMS_H35B4_LVS.yaml"), 79 (_pdkdir+"/AMSPDK_HK_C35H35S35/assura/h35b4/h35b4/compare_hv.rul", 80 "AMS_H35B4_HV_LVS.yaml"), 81 (_pdkdir+"/AMSPDK_HK_C35H35S35/assura/h35b4/h35b4/extract.rul", 82 "AMS_H35B4_Extract.yaml"), 83 (_pdkdir+"/AMSPDK_HK_C35H35S35/assura/h35b4/h35b4/dfm.rul", 84 "AMS_H35B4_DFM.yaml"), 85 (_pdkdir+"/AMSPDK_HK_C35H35S35/assura/h35b4/h35b4/deviceInfo.rul", 86 "AMS_H35B4_DevInfo.yaml"), 87 (_pdkdir+"/AMSPDK_HK_C35H35S35/assura/h35b4/notchfill/notchfill.rul", 88 "AMS_H35B4_NothFill.yaml"), 89 (_pdkdir+"/AMSPDK_HK_C35H35S35/assura/h35b4/fillmettop/h35b4_fillmettop.rul", 90 "AMS_H35B4_FillMetalTop.yaml"), 91 (_pdkdir+"/AMSPDK_HK_C35H35S35/assura/s35d4/s35d4/drc.rul", 92 "AMS_S35D4_DRC.yaml"), 93 (_pdkdir+"/AMSPDK_HK_C35H35S35/assura/s35d4/s35d4/compare.rul", 94 "AMS_S35D4_LVS.yaml"), 95 (_pdkdir+"/AMSPDK_HK_C35H35S35/assura/s35d4/s35d4/compare_bip.rul", 96 "AMS_S35D4_Bipolar_LVS.yaml"), 97 (_pdkdir+"/AMSPDK_HK_C35H35S35/assura/s35d4/s35d4/extract.rul", 98 "AMS_S35D4_Extract.yaml"), 99 (_pdkdir+"/AMSPDK_HK_C35H35S35/assura/s35d4/s35d4/dfm.rul", 100 "AMS_S35D4_DFM.yaml"), 101 (_pdkdir+"/AMSPDK_HK_C35H35S35/assura/s35d4/s35d4/deviceInfo.rul", 102 "AMS_S35D4_DevInfo.yaml"), 103 (_pdkdir+"/AMSPDK_HK_C35H35S35/assura/s35d4/notchfill/notchfill.rul", 104 "AMS_S35D4_NothFill.yaml"), 105 (_pdkdir+"/AMSPDK_HK_C35H35S35/assura/s35d4/fillmettop/s35d4_fillmettop.rul", 106 "AMS_S35D4_FillMetalTop.yaml"), 107 # TODO: 108 109 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4m6/extract.rul 110 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4m6/bind.rul 111 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4m6/drc.rul 112 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4m6/compare.rul 113 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4m6/dfm.rul 114 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4m6/deviceInfo.rul 115 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4all/dfm.rul 116 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4thinall/extract.rul 117 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4thinall/bind.rul 118 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4thinall/drc.rul 119 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4thinall/compare.rul 120 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4thinall/dfm.rul 121 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4thinall/deviceInfo.rul 122 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4o0/dfm.rul 123 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4o1/extract.rul 124 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4o1/bind.rul 125 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4o1/drc.rul 126 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4o1/compare.rul 127 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4o1/dfm.rul 128 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4o1/deviceInfo.rul 129 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4thickall/extract.rul 130 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4thickall/bind.rul 131 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4thickall/drc.rul 132 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4thickall/compare.rul 133 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4thickall/dfm.rul 134 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4thickall/deviceInfo.rul 135 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4m3/extract.rul 136 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4m3/bind.rul 137 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4m3/drc.rul 138 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4m3/compare.rul 139 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4m3/dfm.rul 140 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4m3/deviceInfo.rul 141 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4t1/extract.rul 142 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4t1/bind.rul 143 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4t1/drc.rul 144 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4t1/compare.rul 145 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4t1/dfm.rul 146 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4t1/deviceInfo.rul 147 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4c3/extract.rul 148 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4c3/bind.rul 149 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4c3/drc.rul 150 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4c3/compare.rul 151 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4c3/dfm.rul 152 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4c3/deviceInfo.rul 153 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4c0/extract.rul 154 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4c0/bind.rul 155 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4c0/drc.rul 156 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4c0/compare.rul 157 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4c0/dfm.rul 158 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4c0/deviceInfo.rul 159 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4_thick/notchfill/notchfill.rul 160 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4_thick/fillmettop/c35b4_thick_fillmettop.rul 161 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4_thick/extract.rul 162 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4_thick/bind.rul 163 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4_thick/compare.rul 164 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4_thick/drc.rul 165 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4_thick/dfm.rul 166 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4_thick/fillpattern/c35b4_thick_fillpattern.rul 167 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4_thick/deviceInfo.rul 168 # ./AMSPDK_HK_C35H35S35/assura/c35b4/fillpattern/c35b4_fillpattern.rul 169 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4oa/dfm.rul 170 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4z1/extract.rul 171 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4z1/bind.rul 172 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4z1/drc.rul 173 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4z1/compare.rul 174 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4z1/dfm.rul 175 # ./AMSPDK_HK_C35H35S35/assura/c35b4/c35b4z1/deviceInfo.rul 176 177 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4d3/compare_hv.rul 178 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4d3/extract.rul 179 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4d3/bind.rul 180 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4d3/leak.rul 181 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4d3/drc.rul 182 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4d3/compare.rul 183 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4d3/dfm.rul 184 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4d3/deviceInfo.rul 185 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4/bind.rul 186 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4/leak2/text.rul 187 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4_thin/notchfill/notchfill.rul 188 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4_thin/compare_hv.rul 189 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4_thin/fillmettop/h35b4_thin_fillmettop.rul 190 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4_thin/extract.rul 191 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4_thin/bind.rul 192 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4_thin/leak.rul 193 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4_thin/drc.rul 194 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4_thin/compare.rul 195 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4_thin/dfm.rul 196 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4_thin/deviceInfo.rul 197 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4s1/compare_hv.rul 198 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4s1/extract.rul 199 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4s1/bind.rul 200 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4s1/leak.rul 201 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4s1/drc.rul 202 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4s1/compare.rul 203 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4s1/dfm.rul 204 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4s1/deviceInfo.rul 205 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4_thin_mim5v/extract.rul 206 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4_thin_mim5v/dfm.rul 207 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4jd/compare_hv.rul 208 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4jd/extract.rul 209 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4jd/bind.rul 210 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4jd/leak.rul 211 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4jd/drc.rul 212 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4jd/compare.rul 213 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4jd/dfm.rul 214 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4jd/deviceInfo.rul 215 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4v1/compare_hv.rul 216 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4v1/extract.rul 217 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4v1/bind.rul 218 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4v1/leak.rul 219 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4v1/drc.rul 220 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4v1/compare.rul 221 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4v1/dfm.rul 222 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4v1/deviceInfo.rul 223 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4vhvall/compare_hv.rul 224 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4vhvall/extract.rul 225 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4vhvall/bind.rul 226 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4vhvall/leak.rul 227 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4vhvall/drc.rul 228 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4vhvall/compare.rul 229 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4vhvall/dfm.rul 230 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4vhvall/deviceInfo.rul 231 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4kc/compare_hv.rul 232 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4kc/extract.rul 233 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4kc/bind.rul 234 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4kc/leak.rul 235 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4kc/drc.rul 236 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4kc/compare.rul 237 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4kc/dfm.rul 238 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4kc/deviceInfo.rul 239 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4thickall/compare_hv.rul 240 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4thickall/extract.rul 241 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4thickall/bind.rul 242 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4thickall/leak.rul 243 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4thickall/drc.rul 244 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4thickall/compare.rul 245 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4thickall/dfm.rul 246 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4thickall/deviceInfo.rul 247 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4l3/compare_hv.rul 248 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4l3/extract.rul 249 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4l3/bind.rul 250 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4l3/leak.rul 251 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4l3/drc.rul 252 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4l3/compare.rul 253 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4l3/dfm.rul 254 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4l3/deviceInfo.rul 255 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4s2/compare_hv.rul 256 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4s2/extract.rul 257 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4s2/bind.rul 258 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4s2/leak.rul 259 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4s2/drc.rul 260 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4s2/compare.rul 261 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4s2/dfm.rul 262 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4s2/deviceInfo.rul 263 # ./AMSPDK_HK_C35H35S35/assura/h35b4/fillpattern/h35b4_fillpattern.rul 264 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4ld/compare_hv.rul 265 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4ld/extract.rul 266 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4ld/bind.rul 267 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4ld/leak.rul 268 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4ld/drc.rul 269 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4ld/compare.rul 270 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4ld/dfm.rul 271 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4ld/deviceInfo.rul 272 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4_vhv/compare_hv.rul 273 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4_vhv/extract.rul 274 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4_vhv/bind.rul 275 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4_vhv/drc.rul 276 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4_vhv/compare.rul 277 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4_vhv/dfm.rul 278 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4_vhv/deviceInfo.rul 279 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4s5/compare_hv.rul 280 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4s5/extract.rul 281 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4s5/bind.rul 282 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4s5/leak.rul 283 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4s5/drc.rul 284 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4s5/compare.rul 285 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4s5/dfm.rul 286 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4s5/deviceInfo.rul 287 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4thinall/compare_hv.rul 288 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4thinall/extract.rul 289 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4thinall/bind.rul 290 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4thinall/leak.rul 291 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4thinall/drc.rul 292 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4thinall/compare.rul 293 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4thinall/dfm.rul 294 # ./AMSPDK_HK_C35H35S35/assura/h35b4/h35b4thinall/deviceInfo.rul 295 296 # ./AMSPDK_HK_C35H35S35/assura/s35d4/s35d4h2/compare_bip.rul 297 # ./AMSPDK_HK_C35H35S35/assura/s35d4/s35d4h2/extract.rul 298 # ./AMSPDK_HK_C35H35S35/assura/s35d4/s35d4h2/bind.rul 299 # ./AMSPDK_HK_C35H35S35/assura/s35d4/s35d4h2/drc.rul 300 # ./AMSPDK_HK_C35H35S35/assura/s35d4/s35d4h2/compare.rul 301 # ./AMSPDK_HK_C35H35S35/assura/s35d4/s35d4h2/dfm.rul 302 # ./AMSPDK_HK_C35H35S35/assura/s35d4/s35d4h2/deviceInfo.rul 303 # ./AMSPDK_HK_C35H35S35/assura/s35d4/s35d4/bind.rul 304 # ./AMSPDK_HK_C35H35S35/assura/s35d4/s35d4hp/compare_bip.rul 305 # ./AMSPDK_HK_C35H35S35/assura/s35d4/s35d4hp/extract.rul 306 # ./AMSPDK_HK_C35H35S35/assura/s35d4/s35d4hp/bind.rul 307 # ./AMSPDK_HK_C35H35S35/assura/s35d4/s35d4hp/drc.rul 308 # ./AMSPDK_HK_C35H35S35/assura/s35d4/s35d4hp/compare.rul 309 # ./AMSPDK_HK_C35H35S35/assura/s35d4/s35d4hp/dfm.rul 310 # ./AMSPDK_HK_C35H35S35/assura/s35d4/s35d4hp/deviceInfo.rul 311 # ./AMSPDK_HK_C35H35S35/assura/s35d4/s35d4m5/compare_bip.rul 312 # ./AMSPDK_HK_C35H35S35/assura/s35d4/s35d4m5/extract.rul 313 # ./AMSPDK_HK_C35H35S35/assura/s35d4/s35d4m5/bind.rul 314 # ./AMSPDK_HK_C35H35S35/assura/s35d4/s35d4m5/drc.rul 315 # ./AMSPDK_HK_C35H35S35/assura/s35d4/s35d4m5/compare.rul 316 # ./AMSPDK_HK_C35H35S35/assura/s35d4/s35d4m5/dfm.rul 317 # ./AMSPDK_HK_C35H35S35/assura/s35d4/s35d4m5/deviceInfo.rul 318 # ./AMSPDK_HK_C35H35S35/assura/s35d4/s35d4h5/compare_bip.rul 319 # ./AMSPDK_HK_C35H35S35/assura/s35d4/s35d4h5/extract.rul 320 # ./AMSPDK_HK_C35H35S35/assura/s35d4/s35d4h5/bind.rul 321 # ./AMSPDK_HK_C35H35S35/assura/s35d4/s35d4h5/drc.rul 322 # ./AMSPDK_HK_C35H35S35/assura/s35d4/s35d4h5/compare.rul 323 # ./AMSPDK_HK_C35H35S35/assura/s35d4/s35d4h5/dfm.rul 324 # ./AMSPDK_HK_C35H35S35/assura/s35d4/s35d4h5/deviceInfo.rul 325 # ./AMSPDK_HK_C35H35S35/assura/s35d4/s35d4all/compare_bip.rul 326 # ./AMSPDK_HK_C35H35S35/assura/s35d4/s35d4all/extract.rul 327 # ./AMSPDK_HK_C35H35S35/assura/s35d4/s35d4all/bind.rul 328 # ./AMSPDK_HK_C35H35S35/assura/s35d4/s35d4all/drc.rul 329 # ./AMSPDK_HK_C35H35S35/assura/s35d4/s35d4all/compare.rul 330 # ./AMSPDK_HK_C35H35S35/assura/s35d4/s35d4all/dfm.rul 331 # ./AMSPDK_HK_C35H35S35/assura/s35d4/s35d4all/deviceInfo.rul 332 # ./AMSPDK_HK_C35H35S35/assura/s35d4/s35d4m6/dfm.rul 333 # ./AMSPDK_HK_C35H35S35/assura/s35d4/s35d4m7/compare_bip.rul 334 # ./AMSPDK_HK_C35H35S35/assura/s35d4/s35d4m7/extract.rul 335 # ./AMSPDK_HK_C35H35S35/assura/s35d4/s35d4m7/bind.rul 336 # ./AMSPDK_HK_C35H35S35/assura/s35d4/s35d4m7/drc.rul 337 # ./AMSPDK_HK_C35H35S35/assura/s35d4/s35d4m7/compare.rul 338 # ./AMSPDK_HK_C35H35S35/assura/s35d4/s35d4m7/dfm.rul 339 # ./AMSPDK_HK_C35H35S35/assura/s35d4/s35d4m7/deviceInfo.rul 340 # ./AMSPDK_HK_C35H35S35/assura/s35d4/fillpattern/s35d4_fillpattern.rul 341 # ./AMSPDK_HK_C35H35S35/assura/s35d4/s35d4m2/compare_bip.rul 342 # ./AMSPDK_HK_C35H35S35/assura/s35d4/s35d4m2/extract.rul 343 # ./AMSPDK_HK_C35H35S35/assura/s35d4/s35d4m2/bind.rul 344 # ./AMSPDK_HK_C35H35S35/assura/s35d4/s35d4m2/drc.rul 345 # ./AMSPDK_HK_C35H35S35/assura/s35d4/s35d4m2/compare.rul 346 # ./AMSPDK_HK_C35H35S35/assura/s35d4/s35d4m2/dfm.rul 347 # ./AMSPDK_HK_C35H35S35/assura/s35d4/s35d4m2/deviceInfo.rul 348 349 # ./AMSPDK_HK_C35H35S35/cds/HK_H35/TECH_H35B4_THINMET4/icc.data/icc_device.rul 350 # ./AMSPDK_HK_C35H35S35/cds/HK_H35/TECH_H35B4_THINMET4/icc.data/icc_block.rul 351 # ./AMSPDK_HK_C35H35S35/cds/HK_H35/TECH_H35B4_VHV/icc.data/icc_device.rul 352 # ./AMSPDK_HK_C35H35S35/cds/HK_H35/TECH_H35B4_VHV/icc.data/icc_block.rul 353 # ./AMSPDK_HK_C35H35S35/cds/HK_H35/TECH_H35B3/icc.data/icc_device.rul 354 # ./AMSPDK_HK_C35H35S35/cds/HK_H35/TECH_H35B3/icc.data/icc_block.rul 355 # ./AMSPDK_HK_C35H35S35/cds/HK_H35/TECH_H35B4/icc.data/icc_device.rul 356 # ./AMSPDK_HK_C35H35S35/cds/HK_H35/TECH_H35B4/icc.data/icc_block.rul 357 # ./AMSPDK_HK_C35H35S35/cds/HK_ALL/LEADFRAMES/bonding_dv.rul 358 # ./AMSPDK_HK_C35H35S35/cds/HK_ALL/LEADFRAMES/bonding.rul 359 # ./AMSPDK_HK_C35H35S35/cds/HK_ALL/LEADFRAMES/bonding_pinpad.rul 360 # ./AMSPDK_HK_C35H35S35/cds/HK_S35/TECH_S35D4/icc.data/icc_device.rul 361 # ./AMSPDK_HK_C35H35S35/cds/HK_S35/TECH_S35D4/icc.data/icc_block.rul 362 # ./AMSPDK_HK_C35H35S35/cds/HK_S35/TECH_S35D3/icc.data/icc_device.rul 363 # ./AMSPDK_HK_C35H35S35/cds/HK_S35/TECH_S35D3/icc.data/icc_block.rul 364 # ./AMSPDK_HK_C35H35S35/cds/HK_C35/TECH_C35B4/icc.data/icc_device.rul 365 # ./AMSPDK_HK_C35H35S35/cds/HK_C35/TECH_C35B4/icc.data/icc_block.rul 366 # ./AMSPDK_HK_C35H35S35/cds/HK_C35/TECH_C35B3/icc.data/icc_device.rul 367 # ./AMSPDK_HK_C35H35S35/cds/HK_C35/TECH_C35B3/icc.data/icc_block.rul 368 369 # ./AMSPDK_HK_C35H35S35/pvs/c35b4/c35b4m6/extview.rul 370 # ./AMSPDK_HK_C35H35S35/pvs/c35b4/c35b4thinall/extview.rul 371 # ./AMSPDK_HK_C35H35S35/pvs/c35b4/c35b4o1/extview.rul 372 # ./AMSPDK_HK_C35H35S35/pvs/c35b4/c35b4m3/extview.rul 373 # ./AMSPDK_HK_C35H35S35/pvs/c35b4/c35b4t1/extview.rul 374 # ./AMSPDK_HK_C35H35S35/pvs/c35b4/c35b4c3/extview.rul 375 # ./AMSPDK_HK_C35H35S35/pvs/c35b4/c35b4c0/extview.rul 376 # ./AMSPDK_HK_C35H35S35/pvs/c35b4/c35b4_thick/extview.rul 377 # ./AMSPDK_HK_C35H35S35/pvs/c35b4/c35b4oa/extview.rul 378 # ./AMSPDK_HK_C35H35S35/pvs/c35b4/c35b4/extview.rul 379 # ./AMSPDK_HK_C35H35S35/pvs/c35b4/c35b4z1/extview.rul 380 ) 381 382 ilfiles = ( 383 _pdkdir+"/SkyWaterPDK_s8/MODELS/SPECTRE/skill/modelguiconfig.il", 384 _pdkdir+"/SkyWaterPDK_s8/MODELS/SPECTRE/skill/skywater_menu.il", 385 _pdkdir+"/SkyWaterPDK_s8/MODELS/SPECTRE/skill/modelgui.il", 386 _pdkdir+"/SkyWaterPDK_s8/VirtuosoOA/SKILL/001-59001/s8/s8phirs-10r/info/devices.il", 387 _pdkdir+"/SkyWaterPDK_s8/VirtuosoOA/SKILL/config/tech/info/devices.il", 388 _pdkdir+"/SkyWaterPDK_s8/VirtuosoOA/SKILL/config/pcios/s8/s8phirs-10r/info/devices.il", 389 _pdkdir+"/SkyWaterPDK_s8/VirtuosoOA/SKILL/config/pcios/s8/s8phirs-10r/info/edr.il", 390 _pdkdir+"/SkyWaterPDK_s8/VirtuosoOA/SKILL/SkyWater.il", 391 _pdkdir+"/SkyWaterPDK_s8/VirtuosoOA/libs/technology_library/libInit.il", 392 _pdkdir+"/SkyWaterPDK_s8/VirtuosoOA/libs/tech/libInit.il", 393 _pdkdir+"/SkyWaterPDK_s8/VirtuosoOA/libs/s8phirs_10r/libInit.il", 394 _pdkdir+"/TSMCPDK_tsmc035mm_3d3v_5v/tsmc35mm/libInit.il", 395 _pdkdir+"/TSMCPDK_C018RF_1P6M_4X1U_20KUTM_2fFMIM/tsmc18/libInit.il", 396 _pdkdir+"/OnSemiPDK_amis350uc/lib/amis350uc/physical/dfii/amis350ucakxx/Rev3.13/libInit.il", 397 _pdkdir+"/OnSemiPDK_amis350uc/lib/amis350uc/physical/dfii/amis350ucatxx/Rev5.3/libInit.il", 398 _pdkdir+"/OnSemiPDK_amis350uc/lib/amis350uc/physical/dfii/amis350ucatxx/Rev5.3/AmisDeviceChecks.il", 399 _pdkdir+"/OnSemiPDK_amis350uc/lib/tech/dklibs/tech_indep/eda/sheet/none/dfii/onSheetLib/Rev5.8/libInit.il", 400 _pdkdir+"/OnSemiPDK_amis350uc/lib/tech/dklibs/tech_indep/eda/sheet/none/dfii/onSheetLib/Rev5.8/titleBlock.il", 401 _pdkdir+"/OnSemiPDK_amis350uc/lib/tech/dklibs/tech_indep/eda/sheet/none/dfii/onSheetLib/Rev5.8/schConfig.il", 402 _pdkdir+"/AMSPDK_HK_C35H35S35/spectre/s35/modelMap.il", 403 _pdkdir+"/AMSPDK_HK_C35H35S35/spectre/s35/soac/modelMap.il", 404 _pdkdir+"/AMSPDK_HK_C35H35S35/spectre/h35/modelMap.il", 405 _pdkdir+"/AMSPDK_HK_C35H35S35/spectre/h35/soac/modelMap.il", 406 _pdkdir+"/AMSPDK_HK_C35H35S35/spectre/c35/modelMap.il", 407 _pdkdir+"/AMSPDK_HK_C35H35S35/spectre/c35/soac/modelMap.il", 408 _pdkdir+"/AMSPDK_HK_C35H35S35/spectre/c35/soac/.deviceMap.il", 409 _pdkdir+"/AMSPDK_HK_C35H35S35/spectre/c35/.deviceMap.il", 410 _pdkdir+"/AMSPDK_HK_C35H35S35/cds/HK_H35/skill/ams_sdl.il", 411 _pdkdir+"/AMSPDK_HK_C35H35S35/cds/HK_H35/skill/processes_h35b3.il", 412 _pdkdir+"/AMSPDK_HK_C35H35S35/cds/HK_H35/skill/tips_h35b4.il", 413 _pdkdir+"/AMSPDK_HK_C35H35S35/cds/HK_H35/skill/processes_h35b4.il", 414 _pdkdir+"/AMSPDK_HK_C35H35S35/cds/HK_H35/skill/AMS_deviceAreaTable.il", 415 _pdkdir+"/AMSPDK_HK_C35H35S35/cds/HK_H35/skill/tips_h35b3.il", 416 _pdkdir+"/AMSPDK_HK_C35H35S35/cds/HK_H35/PRIMLIB/libInit.il", 417 _pdkdir+"/AMSPDK_HK_C35H35S35/cds/HK_ALL/skill/ansCdlCompPrim.il", 418 _pdkdir+"/AMSPDK_HK_C35H35S35/cds/HK_ALL/skill/ams_env.il", 419 _pdkdir+"/AMSPDK_HK_C35H35S35/cds/HK_ALL/skill/ams_callBacks.il", 420 _pdkdir+"/AMSPDK_HK_C35H35S35/cds/HK_ALL/skill/ams_customParametersAsSpectre.il", 421 _pdkdir+"/AMSPDK_HK_C35H35S35/cds/HK_ALL/BORDERS/libInit.il", 422 _pdkdir+"/AMSPDK_HK_C35H35S35/cds/HK_ALL/BORDERS/borders.il", 423 _pdkdir+"/AMSPDK_HK_C35H35S35/cds/HK_S35/skill/ams_sdl.il", 424 _pdkdir+"/AMSPDK_HK_C35H35S35/cds/HK_S35/skill/processes_internal_s35d4.il", 425 _pdkdir+"/AMSPDK_HK_C35H35S35/cds/HK_S35/skill/processes_s35d3.il", 426 _pdkdir+"/AMSPDK_HK_C35H35S35/cds/HK_S35/skill/tips_s35d4.il", 427 _pdkdir+"/AMSPDK_HK_C35H35S35/cds/HK_S35/skill/processes_s35d4.il", 428 _pdkdir+"/AMSPDK_HK_C35H35S35/cds/HK_S35/skill/processes_internal_s35d3.il", 429 _pdkdir+"/AMSPDK_HK_C35H35S35/cds/HK_S35/skill/AMS_deviceAreaTable.il", 430 _pdkdir+"/AMSPDK_HK_C35H35S35/cds/HK_S35/skill/tips_s35d3.il", 431 _pdkdir+"/AMSPDK_HK_C35H35S35/cds/HK_S35/PRIMLIB/libInit.il", 432 _pdkdir+"/AMSPDK_HK_C35H35S35/cds/HK_C35/skill/ams_sdl.il", 433 _pdkdir+"/AMSPDK_HK_C35H35S35/cds/HK_C35/skill/processes_c35b3.il", 434 _pdkdir+"/AMSPDK_HK_C35H35S35/cds/HK_C35/skill/tips_c35b4.il", 435 _pdkdir+"/AMSPDK_HK_C35H35S35/cds/HK_C35/skill/tips_c35b3.il", 436 _pdkdir+"/AMSPDK_HK_C35H35S35/cds/HK_C35/skill/processes_internal_c35b4.il", 437 _pdkdir+"/AMSPDK_HK_C35H35S35/cds/HK_C35/skill/processes_c35b4.il", 438 _pdkdir+"/AMSPDK_HK_C35H35S35/cds/HK_C35/skill/AMS_deviceAreaTable.il", 439 _pdkdir+"/AMSPDK_HK_C35H35S35/cds/HK_C35/skill/processes_internal_c35b3.il", 440 _pdkdir+"/AMSPDK_HK_C35H35S35/cds/HK_C35/skill/processes_c35a3.il", 441 _pdkdir+"/AMSPDK_HK_C35H35S35/cds/HK_C35/PRIMLIB/libInit.il", 442 _pdkdir+"/AMSPDK_HK_C35H35S35/hspiceS/s35/ams_hspiceS.il", 443 _pdkdir+"/AMSPDK_HK_C35H35S35/hspiceS/h35/ams_hspiceS.il", 444 _pdkdir+"/AMSPDK_HK_C35H35S35/hspiceS/h35/soac/ams_hspiceS.il", 445 _pdkdir+"/AMSPDK_HK_C35H35S35/hspiceS/c35/ams_hspiceS.il", 446 ) 447 448 displayfiles = ( 449 (_pdkdir+"/SkyWaterPDK_s8/VirtuosoOA/libs/display.drf", 450 "SkyWater_s8_Display.yaml"), 451 (_pdkdir+"/TSMCPDK_tsmc035mm_3d3v_5v/display.drf", 452 "TSMC_CM035_Display.yaml"), 453 (_pdkdir+"/TSMCPDK_C018RF_1P6M_4X1U_20KUTM_2fFMIM/display.drf", 454 "TSMC_CM018RF_Display.yaml"), 455 (_pdkdir+"/OnSemiPDK_amis350uc/lib/amis350uc/physical/dfii/amis350ucakxx/Rev3.13/display.drf", 456 "OnSemi_amis350uc_Display.yaml"), 457 (_pdkdir+"/AMSPDK_HK_C35H35S35/cds/HK_ALL/env/display.drf", 458 "AMS_HK_ALL_Display.yaml"), 459 )