Qucs-GUI
0.0.19
|
00001 /* 00002 * bsim4v30pMOS.cpp - device implementations for bsim4v30pMOS module 00003 * 00004 * This is free software; you can redistribute it and/or modify 00005 * it under the terms of the GNU General Public License as published by 00006 * the Free Software Foundation; either version 2, or (at your option) 00007 * any later version. 00008 * 00009 */ 00010 00011 #include "bsim4v30pMOS.h" 00012 00013 bsim4v30pMOS::bsim4v30pMOS() 00014 { 00015 Description = QObject::tr ("bsim4v30pMOS verilog device"); 00016 00017 Props.append (new Property ("GMIN", "1e-12", false, 00018 QObject::tr ("-"))); 00019 Props.append (new Property ("PS", "12e-6", false, 00020 QObject::tr ("-"))); 00021 Props.append (new Property ("PD", "12e-6", false, 00022 QObject::tr ("-"))); 00023 Props.append (new Property ("AS", "12e-12", false, 00024 QObject::tr ("-"))); 00025 Props.append (new Property ("AD", "12e-12", false, 00026 QObject::tr ("-"))); 00027 Props.append (new Property ("CGBO", "-99.0", false, 00028 QObject::tr ("-"))); 00029 Props.append (new Property ("CGDO", "-99.0", false, 00030 QObject::tr ("-"))); 00031 Props.append (new Property ("CGSO", "-99.0", false, 00032 QObject::tr ("-"))); 00033 Props.append (new Property ("L", "3e-6", false, 00034 QObject::tr ("-"))); 00035 Props.append (new Property ("W", "6e-6", false, 00036 QObject::tr ("-"))); 00037 Props.append (new Property ("MOBMOD", "-99.0", false, 00038 QObject::tr ("-"))); 00039 Props.append (new Property ("RDSMOD", "-99.0", false, 00040 QObject::tr ("-"))); 00041 Props.append (new Property ("IGCMOD", "0", false, 00042 QObject::tr ("-"))); 00043 Props.append (new Property ("IGBMOD", "0", false, 00044 QObject::tr ("-"))); 00045 Props.append (new Property ("CAPMOD", "2", false, 00046 QObject::tr ("-"))); 00047 Props.append (new Property ("RGATEMOD", "2", false, 00048 QObject::tr ("-"))); 00049 Props.append (new Property ("RBODYMOD", "0", false, 00050 QObject::tr ("-"))); 00051 Props.append (new Property ("DIOMOD", "1", false, 00052 QObject::tr ("-"))); 00053 Props.append (new Property ("TEMPMOD", "-99.0", false, 00054 QObject::tr ("-"))); 00055 Props.append (new Property ("GEOMOD", "0", false, 00056 QObject::tr ("-"))); 00057 Props.append (new Property ("RGEOMOD", "0", false, 00058 QObject::tr ("-"))); 00059 Props.append (new Property ("PERMOD", "1", false, 00060 QObject::tr ("-"))); 00061 Props.append (new Property ("TNOIMOD", "0", false, 00062 QObject::tr ("-"))); 00063 Props.append (new Property ("FNOIMOD", "0", false, 00064 QObject::tr ("-"))); 00065 Props.append (new Property ("EPSROX", "3.9", false, 00066 QObject::tr ("-"))); 00067 Props.append (new Property ("TOXE", "-99.0", false, 00068 QObject::tr ("-"))); 00069 Props.append (new Property ("TOXP", "-99.0", false, 00070 QObject::tr ("-"))); 00071 Props.append (new Property ("TOXM", "-99.0", false, 00072 QObject::tr ("-"))); 00073 Props.append (new Property ("DTOX", "0.0", false, 00074 QObject::tr ("-"))); 00075 Props.append (new Property ("XJ", "1.5e-7", false, 00076 QObject::tr ("-"))); 00077 Props.append (new Property ("GAMMA1", "-99.0", false, 00078 QObject::tr ("-"))); 00079 Props.append (new Property ("GAMMA2", "-99.0", false, 00080 QObject::tr ("-"))); 00081 Props.append (new Property ("NDEP", "-99.0", false, 00082 QObject::tr ("-"))); 00083 Props.append (new Property ("NSUB", "6.0e16", false, 00084 QObject::tr ("-"))); 00085 Props.append (new Property ("NGATE", "0.0", false, 00086 QObject::tr ("-"))); 00087 Props.append (new Property ("NSD", "1.0e20", false, 00088 QObject::tr ("-"))); 00089 Props.append (new Property ("VBX", "-99.0", false, 00090 QObject::tr ("-"))); 00091 Props.append (new Property ("XT", "1.55e-7", false, 00092 QObject::tr ("-"))); 00093 Props.append (new Property ("RSH", "0.0", false, 00094 QObject::tr ("-"))); 00095 Props.append (new Property ("RSHG", "0.0", false, 00096 QObject::tr ("-"))); 00097 Props.append (new Property ("VTH0", "-0.6", false, 00098 QObject::tr ("-"))); 00099 Props.append (new Property ("VFB", "-99.0", false, 00100 QObject::tr ("-"))); 00101 Props.append (new Property ("PHIN", "0.0", false, 00102 QObject::tr ("-"))); 00103 Props.append (new Property ("K1", "-99.0", false, 00104 QObject::tr ("-"))); 00105 Props.append (new Property ("K2", "-99.0", false, 00106 QObject::tr ("-"))); 00107 Props.append (new Property ("K3", "80.0", false, 00108 QObject::tr ("-"))); 00109 Props.append (new Property ("K3B", "0.0", false, 00110 QObject::tr ("-"))); 00111 Props.append (new Property ("W0", "2.5e-6", false, 00112 QObject::tr ("-"))); 00113 Props.append (new Property ("LPE0", "1.74e-7", false, 00114 QObject::tr ("-"))); 00115 Props.append (new Property ("LPEB", "0.0", false, 00116 QObject::tr ("-"))); 00117 Props.append (new Property ("VBM", "-3.0", false, 00118 QObject::tr ("-"))); 00119 Props.append (new Property ("DVT0", "2.2", false, 00120 QObject::tr ("-"))); 00121 Props.append (new Property ("DVT1", "0.53", false, 00122 QObject::tr ("-"))); 00123 Props.append (new Property ("DVT2", "-0.032", false, 00124 QObject::tr ("-"))); 00125 Props.append (new Property ("DVTP0", "0.0", false, 00126 QObject::tr ("-"))); 00127 Props.append (new Property ("DVTP1", "0.0", false, 00128 QObject::tr ("-"))); 00129 Props.append (new Property ("DVT0W", "0.0", false, 00130 QObject::tr ("-"))); 00131 Props.append (new Property ("DVT1W", "5.3e6", false, 00132 QObject::tr ("-"))); 00133 Props.append (new Property ("DVT2W", "-0.032", false, 00134 QObject::tr ("-"))); 00135 Props.append (new Property ("U0", "-99.0", false, 00136 QObject::tr ("-"))); 00137 Props.append (new Property ("UA", "-99.0", false, 00138 QObject::tr ("-"))); 00139 Props.append (new Property ("UB", "1.0e-19", false, 00140 QObject::tr ("-"))); 00141 Props.append (new Property ("UC", "-99.0", false, 00142 QObject::tr ("-"))); 00143 Props.append (new Property ("EU", "-99.0", false, 00144 QObject::tr ("-"))); 00145 Props.append (new Property ("VSAT", "8.0e4", false, 00146 QObject::tr ("-"))); 00147 Props.append (new Property ("A0", "1.0", false, 00148 QObject::tr ("-"))); 00149 Props.append (new Property ("AGS", "0.0", false, 00150 QObject::tr ("-"))); 00151 Props.append (new Property ("B0", "0.0", false, 00152 QObject::tr ("-"))); 00153 Props.append (new Property ("B1", "0.0", false, 00154 QObject::tr ("-"))); 00155 Props.append (new Property ("KETA", "-0.047", false, 00156 QObject::tr ("-"))); 00157 Props.append (new Property ("A1", "0.0", false, 00158 QObject::tr ("-"))); 00159 Props.append (new Property ("A2", "1.0", false, 00160 QObject::tr ("-"))); 00161 Props.append (new Property ("WINT", "0.0", false, 00162 QObject::tr ("-"))); 00163 Props.append (new Property ("LINT", "0.0", false, 00164 QObject::tr ("-"))); 00165 Props.append (new Property ("DWG", "0.0", false, 00166 QObject::tr ("-"))); 00167 Props.append (new Property ("DWB", "0.0", false, 00168 QObject::tr ("-"))); 00169 Props.append (new Property ("VOFF", "-0.08", false, 00170 QObject::tr ("-"))); 00171 Props.append (new Property ("VOFFL", "0.0", false, 00172 QObject::tr ("-"))); 00173 Props.append (new Property ("MINV", "0.0", false, 00174 QObject::tr ("-"))); 00175 Props.append (new Property ("NFACTOR", "1.0", false, 00176 QObject::tr ("-"))); 00177 Props.append (new Property ("ETA0", "0.08", false, 00178 QObject::tr ("-"))); 00179 Props.append (new Property ("ETAB", "-0.07", false, 00180 QObject::tr ("-"))); 00181 Props.append (new Property ("DROUT", "0.56", false, 00182 QObject::tr ("-"))); 00183 Props.append (new Property ("DSUB", "0.56", false, 00184 QObject::tr ("-"))); 00185 Props.append (new Property ("CIT", "0.0", false, 00186 QObject::tr ("-"))); 00187 Props.append (new Property ("CDSC", "2.4e-4", false, 00188 QObject::tr ("-"))); 00189 Props.append (new Property ("CDSCB", "0.0", false, 00190 QObject::tr ("-"))); 00191 Props.append (new Property ("CDSCD", "0.0", false, 00192 QObject::tr ("-"))); 00193 Props.append (new Property ("PCLM", "1.3", false, 00194 QObject::tr ("-"))); 00195 Props.append (new Property ("PDIBL1", "0.39", false, 00196 QObject::tr ("-"))); 00197 Props.append (new Property ("PDIBL2", "0.0086", false, 00198 QObject::tr ("-"))); 00199 Props.append (new Property ("PDIBLB", "0.0", false, 00200 QObject::tr ("-"))); 00201 Props.append (new Property ("PSCBE1", "4.24e8", false, 00202 QObject::tr ("-"))); 00203 Props.append (new Property ("PSCBE2", "1.0e-5", false, 00204 QObject::tr ("-"))); 00205 Props.append (new Property ("PVAG", "0.0", false, 00206 QObject::tr ("-"))); 00207 Props.append (new Property ("DELTA", "0.01", false, 00208 QObject::tr ("-"))); 00209 Props.append (new Property ("FPROUT", "0.0", false, 00210 QObject::tr ("-"))); 00211 Props.append (new Property ("PDITS", "0.0", false, 00212 QObject::tr ("-"))); 00213 Props.append (new Property ("PDITSD", "0.0", false, 00214 QObject::tr ("-"))); 00215 Props.append (new Property ("PDITSL", "0.0", false, 00216 QObject::tr ("-"))); 00217 Props.append (new Property ("LAMBDA", "-99.0", false, 00218 QObject::tr ("-"))); 00219 Props.append (new Property ("VTL", "-99.0", false, 00220 QObject::tr ("-"))); 00221 Props.append (new Property ("LC", "5.0e-9", false, 00222 QObject::tr ("-"))); 00223 Props.append (new Property ("XN", "3.0", false, 00224 QObject::tr ("-"))); 00225 Props.append (new Property ("RDSW", "200.0", false, 00226 QObject::tr ("-"))); 00227 Props.append (new Property ("RDSWMIN", "0.0", false, 00228 QObject::tr ("-"))); 00229 Props.append (new Property ("RDW", "100.0", false, 00230 QObject::tr ("-"))); 00231 Props.append (new Property ("RDWMIN", "0.0", false, 00232 QObject::tr ("-"))); 00233 Props.append (new Property ("RSW", "100.0", false, 00234 QObject::tr ("-"))); 00235 Props.append (new Property ("RSWMIN", "0.0", false, 00236 QObject::tr ("-"))); 00237 Props.append (new Property ("PRWG", "1.0", false, 00238 QObject::tr ("-"))); 00239 Props.append (new Property ("PRWB", "0.0", false, 00240 QObject::tr ("-"))); 00241 Props.append (new Property ("WR", "1.0", false, 00242 QObject::tr ("-"))); 00243 Props.append (new Property ("NRS", "-99.0", false, 00244 QObject::tr ("-"))); 00245 Props.append (new Property ("NRD", "-99.0", false, 00246 QObject::tr ("-"))); 00247 Props.append (new Property ("ALPHA0", "0.0", false, 00248 QObject::tr ("-"))); 00249 Props.append (new Property ("ALPHA1", "0.0", false, 00250 QObject::tr ("-"))); 00251 Props.append (new Property ("BETA0", "30.0", false, 00252 QObject::tr ("-"))); 00253 Props.append (new Property ("AGIDL", "0.0", false, 00254 QObject::tr ("-"))); 00255 Props.append (new Property ("BGIDL", "2.3e9", false, 00256 QObject::tr ("-"))); 00257 Props.append (new Property ("CGIDL", "0.5", false, 00258 QObject::tr ("-"))); 00259 Props.append (new Property ("EGIDL", "0.8", false, 00260 QObject::tr ("-"))); 00261 Props.append (new Property ("AIGBACC", "0.43", false, 00262 QObject::tr ("-"))); 00263 Props.append (new Property ("BIGBACC", "0.054", false, 00264 QObject::tr ("-"))); 00265 Props.append (new Property ("CIGBACC", "0.075", false, 00266 QObject::tr ("-"))); 00267 Props.append (new Property ("NIGBACC", "1.0", false, 00268 QObject::tr ("-"))); 00269 Props.append (new Property ("AIGBINV", "0.35", false, 00270 QObject::tr ("-"))); 00271 Props.append (new Property ("BIGBINV", "0.03", false, 00272 QObject::tr ("-"))); 00273 Props.append (new Property ("CIGBINV", "0.006", false, 00274 QObject::tr ("-"))); 00275 Props.append (new Property ("EIGBINV", "1.1", false, 00276 QObject::tr ("-"))); 00277 Props.append (new Property ("NIGBINV", "3.0", false, 00278 QObject::tr ("-"))); 00279 Props.append (new Property ("AIGC", "-99.0", false, 00280 QObject::tr ("-"))); 00281 Props.append (new Property ("BIGC", "-99.0", false, 00282 QObject::tr ("-"))); 00283 Props.append (new Property ("CIGC", "-99.0", false, 00284 QObject::tr ("-"))); 00285 Props.append (new Property ("AIGSD", "-99.0", false, 00286 QObject::tr ("-"))); 00287 Props.append (new Property ("BIGSD", "-99.0", false, 00288 QObject::tr ("-"))); 00289 Props.append (new Property ("CIGSD", "-99.0", false, 00290 QObject::tr ("-"))); 00291 Props.append (new Property ("DLCIG", "0.0", false, 00292 QObject::tr ("-"))); 00293 Props.append (new Property ("NIGC", "1.0", false, 00294 QObject::tr ("-"))); 00295 Props.append (new Property ("POXEDGE", "1.0", false, 00296 QObject::tr ("-"))); 00297 Props.append (new Property ("PIGCD", "1.0", false, 00298 QObject::tr ("-"))); 00299 Props.append (new Property ("NTOX", "1.0", false, 00300 QObject::tr ("-"))); 00301 Props.append (new Property ("TOXREF", "3.0e-9", false, 00302 QObject::tr ("-"))); 00303 Props.append (new Property ("XPART", "0.4", false, 00304 QObject::tr ("-"))); 00305 Props.append (new Property ("CGS0", "0.0", false, 00306 QObject::tr ("-"))); 00307 Props.append (new Property ("CGD0", "0.0", false, 00308 QObject::tr ("-"))); 00309 Props.append (new Property ("CGB0", "0.0", false, 00310 QObject::tr ("-"))); 00311 Props.append (new Property ("CGSL", "0.0", false, 00312 QObject::tr ("-"))); 00313 Props.append (new Property ("CGDL", "0.0", false, 00314 QObject::tr ("-"))); 00315 Props.append (new Property ("CKAPPAS", "0.6", false, 00316 QObject::tr ("-"))); 00317 Props.append (new Property ("CKAPPAD", "0.6", false, 00318 QObject::tr ("-"))); 00319 Props.append (new Property ("CF", "-99.0", false, 00320 QObject::tr ("-"))); 00321 Props.append (new Property ("CLC", "1.0e-7", false, 00322 QObject::tr ("-"))); 00323 Props.append (new Property ("CLE", "0.6", false, 00324 QObject::tr ("-"))); 00325 Props.append (new Property ("DLC", "0.0", false, 00326 QObject::tr ("-"))); 00327 Props.append (new Property ("DWC", "0.0", false, 00328 QObject::tr ("-"))); 00329 Props.append (new Property ("VFBCV", "-1.0", false, 00330 QObject::tr ("-"))); 00331 Props.append (new Property ("NOFF", "1.0", false, 00332 QObject::tr ("-"))); 00333 Props.append (new Property ("VOFFCV", "0.0", false, 00334 QObject::tr ("-"))); 00335 Props.append (new Property ("ACDE", "1.0", false, 00336 QObject::tr ("-"))); 00337 Props.append (new Property ("MOIN", "15.0", false, 00338 QObject::tr ("-"))); 00339 Props.append (new Property ("XRCRG1", "12.0", false, 00340 QObject::tr ("-"))); 00341 Props.append (new Property ("XRCRG2", "1.0", false, 00342 QObject::tr ("-"))); 00343 Props.append (new Property ("RBPB", "50.0", false, 00344 QObject::tr ("-"))); 00345 Props.append (new Property ("RBPD", "50.0", false, 00346 QObject::tr ("-"))); 00347 Props.append (new Property ("RBPS", "50.0", false, 00348 QObject::tr ("-"))); 00349 Props.append (new Property ("RBDB", "50.0", false, 00350 QObject::tr ("-"))); 00351 Props.append (new Property ("RBSB", "50.0", false, 00352 QObject::tr ("-"))); 00353 Props.append (new Property ("GBMIN", "1.0e-12", false, 00354 QObject::tr ("-"))); 00355 Props.append (new Property ("DMCG", "0.0", false, 00356 QObject::tr ("-"))); 00357 Props.append (new Property ("DMCI", "0.0", false, 00358 QObject::tr ("-"))); 00359 Props.append (new Property ("DMDG", "0.0", false, 00360 QObject::tr ("-"))); 00361 Props.append (new Property ("DMCGT", "0.0", false, 00362 QObject::tr ("-"))); 00363 Props.append (new Property ("NF", "1.0", false, 00364 QObject::tr ("-"))); 00365 Props.append (new Property ("DWJ", "0.0", false, 00366 QObject::tr ("-"))); 00367 Props.append (new Property ("MIN", "0.0", false, 00368 QObject::tr ("-"))); 00369 Props.append (new Property ("XGW", "0.0", false, 00370 QObject::tr ("-"))); 00371 Props.append (new Property ("XGL", "0.0", false, 00372 QObject::tr ("-"))); 00373 Props.append (new Property ("XL", "0.0", false, 00374 QObject::tr ("-"))); 00375 Props.append (new Property ("XW", "0.0", false, 00376 QObject::tr ("-"))); 00377 Props.append (new Property ("NGCON", "1.0", false, 00378 QObject::tr ("-"))); 00379 Props.append (new Property ("IJTHSREV", "0.1", false, 00380 QObject::tr ("-"))); 00381 Props.append (new Property ("IJTHDREV", "0.1", false, 00382 QObject::tr ("-"))); 00383 Props.append (new Property ("IJTHSFWD", "0.1", false, 00384 QObject::tr ("-"))); 00385 Props.append (new Property ("IJTHDFWD", "0.1", false, 00386 QObject::tr ("-"))); 00387 Props.append (new Property ("XJBVS", "1.0", false, 00388 QObject::tr ("-"))); 00389 Props.append (new Property ("XJBVD", "1.0", false, 00390 QObject::tr ("-"))); 00391 Props.append (new Property ("BVS", "10.0", false, 00392 QObject::tr ("-"))); 00393 Props.append (new Property ("BVD", "10.0", false, 00394 QObject::tr ("-"))); 00395 Props.append (new Property ("JSS", "1.0e-4", false, 00396 QObject::tr ("-"))); 00397 Props.append (new Property ("JSD", "1.0e-4", false, 00398 QObject::tr ("-"))); 00399 Props.append (new Property ("JSWS", "0.0", false, 00400 QObject::tr ("-"))); 00401 Props.append (new Property ("JSWD", "0.0", false, 00402 QObject::tr ("-"))); 00403 Props.append (new Property ("JSWGS", "0.0", false, 00404 QObject::tr ("-"))); 00405 Props.append (new Property ("JSWGD", "0.0", false, 00406 QObject::tr ("-"))); 00407 Props.append (new Property ("CJS", "5.0e-4", false, 00408 QObject::tr ("-"))); 00409 Props.append (new Property ("CJD", "5.0e-4", false, 00410 QObject::tr ("-"))); 00411 Props.append (new Property ("MJS", "0.5", false, 00412 QObject::tr ("-"))); 00413 Props.append (new Property ("MJD", "0.5", false, 00414 QObject::tr ("-"))); 00415 Props.append (new Property ("MJSWS", "0.33", false, 00416 QObject::tr ("-"))); 00417 Props.append (new Property ("MJSWD", "0.33", false, 00418 QObject::tr ("-"))); 00419 Props.append (new Property ("CJSWS", "5.0e-10", false, 00420 QObject::tr ("-"))); 00421 Props.append (new Property ("CJSWD", "5.0e-10", false, 00422 QObject::tr ("-"))); 00423 Props.append (new Property ("CJSWGS", "5.0e-10", false, 00424 QObject::tr ("-"))); 00425 Props.append (new Property ("CJSWGD", "5.0e-10", false, 00426 QObject::tr ("-"))); 00427 Props.append (new Property ("MJSWGS", "0.33", false, 00428 QObject::tr ("-"))); 00429 Props.append (new Property ("MJSWGD", "0.33", false, 00430 QObject::tr ("-"))); 00431 Props.append (new Property ("PBS", "1.0", false, 00432 QObject::tr ("-"))); 00433 Props.append (new Property ("PBD", "1.0", false, 00434 QObject::tr ("-"))); 00435 Props.append (new Property ("PBSWS", "1.0", false, 00436 QObject::tr ("-"))); 00437 Props.append (new Property ("PBSWD", "1.0", false, 00438 QObject::tr ("-"))); 00439 Props.append (new Property ("PBSWGS", "1.0", false, 00440 QObject::tr ("-"))); 00441 Props.append (new Property ("PBSWGD", "1.0", false, 00442 QObject::tr ("-"))); 00443 Props.append (new Property ("TNOM", "27", false, 00444 QObject::tr ("-"))); 00445 Props.append (new Property ("UTE", "-1.5", false, 00446 QObject::tr ("-"))); 00447 Props.append (new Property ("KT1", "-0.11", false, 00448 QObject::tr ("-"))); 00449 Props.append (new Property ("KT1L", "0.0", false, 00450 QObject::tr ("-"))); 00451 Props.append (new Property ("KT2", "0.022", false, 00452 QObject::tr ("-"))); 00453 Props.append (new Property ("UA1", "1.0e-9", false, 00454 QObject::tr ("-"))); 00455 Props.append (new Property ("UB1", "-1.0e-18", false, 00456 QObject::tr ("-"))); 00457 Props.append (new Property ("UC1", "-99.0", false, 00458 QObject::tr ("-"))); 00459 Props.append (new Property ("AT", "3.3e4", false, 00460 QObject::tr ("-"))); 00461 Props.append (new Property ("PRT", "0.0", false, 00462 QObject::tr ("-"))); 00463 Props.append (new Property ("NJS", "1.0", false, 00464 QObject::tr ("-"))); 00465 Props.append (new Property ("NJD", "1.0", false, 00466 QObject::tr ("-"))); 00467 Props.append (new Property ("XTIS", "3.0", false, 00468 QObject::tr ("-"))); 00469 Props.append (new Property ("XTID", "3.0", false, 00470 QObject::tr ("-"))); 00471 Props.append (new Property ("TPB", "0.0", false, 00472 QObject::tr ("-"))); 00473 Props.append (new Property ("TPBSW", "0.0", false, 00474 QObject::tr ("-"))); 00475 Props.append (new Property ("TPBSWG", "0.0", false, 00476 QObject::tr ("-"))); 00477 Props.append (new Property ("TCJ", "0.0", false, 00478 QObject::tr ("-"))); 00479 Props.append (new Property ("TCJSW", "0.0", false, 00480 QObject::tr ("-"))); 00481 Props.append (new Property ("TCJSWG", "0.0", false, 00482 QObject::tr ("-"))); 00483 Props.append (new Property ("SA", "0.0", false, 00484 QObject::tr ("-"))); 00485 Props.append (new Property ("SB", "0.0", false, 00486 QObject::tr ("-"))); 00487 Props.append (new Property ("SD", "0.0", false, 00488 QObject::tr ("-"))); 00489 Props.append (new Property ("SAREF", "1e-6", false, 00490 QObject::tr ("-"))); 00491 Props.append (new Property ("SBREF", "1e-6", false, 00492 QObject::tr ("-"))); 00493 Props.append (new Property ("WLOD", "0.0", false, 00494 QObject::tr ("-"))); 00495 Props.append (new Property ("KU0", "0.0", false, 00496 QObject::tr ("-"))); 00497 Props.append (new Property ("KVSAT", "0.0", false, 00498 QObject::tr ("-"))); 00499 Props.append (new Property ("TKU0", "0.0", false, 00500 QObject::tr ("-"))); 00501 Props.append (new Property ("LKU0", "0.0", false, 00502 QObject::tr ("-"))); 00503 Props.append (new Property ("WKU0", "0.0", false, 00504 QObject::tr ("-"))); 00505 Props.append (new Property ("PKU0", "0.0", false, 00506 QObject::tr ("-"))); 00507 Props.append (new Property ("LLODKU0", "0.0", false, 00508 QObject::tr ("-"))); 00509 Props.append (new Property ("WLODKU0", "0.0", false, 00510 QObject::tr ("-"))); 00511 Props.append (new Property ("KVTH0", "0.0", false, 00512 QObject::tr ("-"))); 00513 Props.append (new Property ("LKVTH0", "0.0", false, 00514 QObject::tr ("-"))); 00515 Props.append (new Property ("WKVTH0", "0.0", false, 00516 QObject::tr ("-"))); 00517 Props.append (new Property ("PKVTH0", "0.0", false, 00518 QObject::tr ("-"))); 00519 Props.append (new Property ("LLODVTH", "0.0", false, 00520 QObject::tr ("-"))); 00521 Props.append (new Property ("WLODVTH", "0.0", false, 00522 QObject::tr ("-"))); 00523 Props.append (new Property ("STK2", "0.0", false, 00524 QObject::tr ("-"))); 00525 Props.append (new Property ("LODK2", "1.0", false, 00526 QObject::tr ("-"))); 00527 Props.append (new Property ("STETA0", "0.0", false, 00528 QObject::tr ("-"))); 00529 Props.append (new Property ("LODETA0", "1.0", false, 00530 QObject::tr ("-"))); 00531 Props.append (new Property ("WL", "0.0", false, 00532 QObject::tr ("-"))); 00533 Props.append (new Property ("WLN", "1.0", false, 00534 QObject::tr ("-"))); 00535 Props.append (new Property ("WW", "0.0", false, 00536 QObject::tr ("-"))); 00537 Props.append (new Property ("WWN", "1.0", false, 00538 QObject::tr ("-"))); 00539 Props.append (new Property ("WWL", "0.0", false, 00540 QObject::tr ("-"))); 00541 Props.append (new Property ("LL", "0.0", false, 00542 QObject::tr ("-"))); 00543 Props.append (new Property ("LLN", "1.0", false, 00544 QObject::tr ("-"))); 00545 Props.append (new Property ("LW", "0.0", false, 00546 QObject::tr ("-"))); 00547 Props.append (new Property ("LWN", "1.0", false, 00548 QObject::tr ("-"))); 00549 Props.append (new Property ("LWL", "0.0", false, 00550 QObject::tr ("-"))); 00551 Props.append (new Property ("LLC", "0.0", false, 00552 QObject::tr ("-"))); 00553 Props.append (new Property ("LWC", "0.0", false, 00554 QObject::tr ("-"))); 00555 Props.append (new Property ("LWLC", "0.0", false, 00556 QObject::tr ("-"))); 00557 Props.append (new Property ("WLC", "0.0", false, 00558 QObject::tr ("-"))); 00559 Props.append (new Property ("WWC", "0.0", false, 00560 QObject::tr ("-"))); 00561 Props.append (new Property ("WWLC", "0.0", false, 00562 QObject::tr ("-"))); 00563 Props.append (new Property ("NTNOI", "1.0", false, 00564 QObject::tr ("-"))); 00565 Props.append (new Property ("KF", "0.0", false, 00566 QObject::tr ("-"))); 00567 Props.append (new Property ("AF", "1.0", false, 00568 QObject::tr ("-"))); 00569 Props.append (new Property ("EF", "1.0", false, 00570 QObject::tr ("-"))); 00571 Props.append (new Property ("TEMP", "27", false, 00572 QObject::tr ("-"))); 00573 00574 createSymbol (); 00575 tx = x2 + 4; 00576 ty = y1 + 4; 00577 Model = "bsim4v30pMOS"; 00578 Name = "BSIM4_"; 00579 } 00580 00581 Component * bsim4v30pMOS::newOne() 00582 { 00583 bsim4v30pMOS * p = new bsim4v30pMOS(); 00584 p->Props.getFirst()->Value = Props.getFirst()->Value; 00585 p->recreate(0); 00586 return p; 00587 } 00588 00589 Element * bsim4v30pMOS::info(QString& Name, char * &BitmapFile, bool getNewOne) 00590 { 00591 Name = QObject::tr("bsim4v30pMOS"); 00592 BitmapFile = (char *) "bsim4v30pMOS"; 00593 00594 if(getNewOne) return new bsim4v30pMOS(); 00595 return 0; 00596 } 00597 00598 void bsim4v30pMOS::createSymbol() 00599 { 00600 Lines.append(new Line(-14,-13,-14, 13,QPen(Qt::darkBlue,3))); 00601 Lines.append(new Line(-30, 0,-14, 0,QPen(Qt::darkBlue,2))); 00602 Lines.append(new Line(-10,-11, 0,-11,QPen(Qt::darkBlue,2))); 00603 Lines.append(new Line( 0,-11, 0,-30,QPen(Qt::darkBlue,2))); 00604 00605 Lines.append(new Line(-10, 11, 0, 11,QPen(Qt::darkBlue,2))); 00606 Lines.append(new Line( 0, 11, 0, 30,QPen(Qt::darkBlue,2))); 00607 Lines.append(new Line(-10, 0, 20, 0,QPen(Qt::darkBlue,2))); 00608 Lines.append(new Line(-10,-16,-10, -7,QPen(Qt::darkBlue,3))); 00609 00610 Lines.append(new Line(-10, 7,-10, 16,QPen(Qt::darkBlue,3))); 00611 Lines.append(new Line( -4, 24, 4, 20,QPen(Qt::darkBlue,2))); 00612 Lines.append(new Line( -5, 5, 0, 0,QPen(Qt::darkBlue,2))); 00613 Lines.append(new Line( -5, -5, 0, 0,QPen(Qt::darkBlue,2))); 00614 Lines.append(new Line(-10, -3,-10, 3,QPen(Qt::darkBlue,3))); 00615 Lines.append(new Line(-10, -8,-10, -6,QPen(Qt::darkBlue,3))); 00616 Lines.append(new Line(-10, 8,-10, 6,QPen(Qt::darkBlue,3))); 00617 00618 00619 Ports.append(new Port( 0,-30)); // drain 00620 Ports.append(new Port(-30, 0)); // gate 00621 Ports.append(new Port( 0, 30)); // source 00622 Ports.append(new Port( 20, 0)); // bulk 00623 00624 x1 = -30; y1 = -30; 00625 x2 = 20; y2 = 30; 00626 }