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