diff --git a/Benchmark_test/gummel_nmos.sp b/Benchmark_test/gummel_nmos.sp new file mode 100644 index 000000000..cb23f808a --- /dev/null +++ b/Benchmark_test/gummel_nmos.sp @@ -0,0 +1,27 @@ +*Sample netlist for BSIM6.0 +*Drain current symmetry for nmos +.option abstol=1e-6 reltol=1e-6 post ingold + +.hdl "bsim6.va" +.include "modelcard.nmos" + +* --- Voltage Sources --- +vdrain drain 0 dc=0 +esource source 0 drain 0 -1 +vgate gate 0 dc=1.0 +vbulk bulk 0 dc=0.0 + + +* --- Transistor --- +X1 drain gate source bulk bsim6 W=10u L=10u + +* --- DC Analysis --- +.dc vdrain -0.1 0.1 0.001 vgate 0.0 1.0 0.2 +.probe dc ids=par'-i(vdrain)' +.probe dc gx=deriv(ids) +.probe dc gx2=deriv(gx) +.probe dc gx3=deriv(gx2) +.probe dc gx4=deriv(gx3) +.print dc par'ids' par'gx' par'gx2' par'gx3' par 'gx4' + +.end diff --git a/Benchmark_test/gummel_pmos.sp b/Benchmark_test/gummel_pmos.sp new file mode 100644 index 000000000..552656290 --- /dev/null +++ b/Benchmark_test/gummel_pmos.sp @@ -0,0 +1,27 @@ +*Sample netlist for BSIM6.0 +*Drain current symmetry +.option abstol=1e-6 reltol=1e-6 post ingold + +.hdl "bsim6.va" +.include "modelcard.pmos" + +* --- Voltage Sources --- +vdrain drain 0 dc=0 +esource source 0 drain 0 -1 +vgate gate 0 dc=-0.5 +vbulk bulk 0 dc=0 + + +* --- Transistor --- +X1 drain gate source bulk pmos W=10e-6 L=10e-6 + +* --- DC Analysis --- +.dc vdrain -0.1 0.1 0.001 vgate -1 -0.4 -0.3 +.probe dc ids=par'-i(vdrain)' +.probe dc gx=deriv(ids) +.probe dc gx2=deriv(gx) +.probe dc gx3=deriv(gx2) +.probe dc gx4=deriv(gx3) +.print dc par'ids' par'gx' par'gx2' par'gx3' par 'gx4' + +.end diff --git a/Benchmark_test/idvd_nmos.sp b/Benchmark_test/idvd_nmos.sp new file mode 100644 index 000000000..e05e34ad6 --- /dev/null +++ b/Benchmark_test/idvd_nmos.sp @@ -0,0 +1,23 @@ +*Sample netlist for BSIM6.0 +*Id-Vd Characteristics for NMOS (T = 27 C) + +.option abstol=1e-6 reltol=1e-6 post ingold +.temp 27 +.hdl "bsim6.va" +.include "modelcard.nmos" + +* --- Voltage Sources --- +vd d 0 dc=1.3 +vg g 0 dc=0 +vs s 0 dc=0 +vb b 0 dc=0 + +* --- Transistor --- +X1 d g s b nmos W=10e-6 L=10e-6 + +* --- DC Analysis --- +.dc vd 0.0 1.3 0.01 vg 0.4 1 0.3 +.probe dc ids=par'-i(vd)' +.probe dc gd=deriv(ids) +.print dc par'ids' par'gd' +.end diff --git a/Benchmark_test/idvd_pmos.sp b/Benchmark_test/idvd_pmos.sp new file mode 100644 index 000000000..498eead63 --- /dev/null +++ b/Benchmark_test/idvd_pmos.sp @@ -0,0 +1,26 @@ +*Sample netlist for BSIM6.0 +*Id-Vd Characteristics for PMOS (T = 27 C) + +.option abstol=1e-6 reltol=1e-6 post ingold +.temp 27 +.hdl "bsim6.va" +.include "modelcard.pmos" + + +* --- Voltage Sources --- +vd d 0 dc=-1 +vg g 0 dc=0 +vs s 0 dc=0 +vb b 0 dc=0 + +* --- Transistor --- +X1 d g s b pmos W=10e-6 L=10e-6 + +* --- DC Analysis --- +.dc vd -1.3 0.0 0.01 vg -1 -0.4 -0.3 + +.probe dc ids=par'i(vd)' +.probe dc gd=deriv(ids) +.print dc par'ids' par'gd' +.end + diff --git a/Benchmark_test/idvg_nmos.sp b/Benchmark_test/idvg_nmos.sp new file mode 100644 index 000000000..fc91ac081 --- /dev/null +++ b/Benchmark_test/idvg_nmos.sp @@ -0,0 +1,24 @@ +*Sample netlist for BSIM6.0 +.option abstol=1e-6 reltol=1e-6 post ingold + +.hdl "bsim6.va" +.include "modelcard.nmos" + +* --- Voltage Sources --- +vd d 0 dc=50m +vg g 0 dc=0.0 +vs s 0 dc=0.0 +vb b 0 dc=0.0 + +* --- Transistor --- +X1 d g s b nmos W = 10e-6 L = 10e-6 + +* --- DC Analysis --- +.dc vg -1.3 1.3 0.01 vb -0.3 0 0.1 + +.probe dc ids=par'-i(vd)' +.probe dc gm=deriv(ids) +.probe dc gm2= deriv(gm) +.print dc par'ids' par'gm' par'gm2' i(vd) +.end + diff --git a/Benchmark_test/idvg_pmos.sp b/Benchmark_test/idvg_pmos.sp new file mode 100644 index 000000000..41168a2d2 --- /dev/null +++ b/Benchmark_test/idvg_pmos.sp @@ -0,0 +1,24 @@ +*Sample netlist for BSIM6.0 +.option abstol=1e-6 reltol=1e-6 post ingold + +.hdl "bsim6.va" +.include "modelcard.pmos" + + +* --- Voltage Sources --- +vd d 0 dc=-0.05 +vg g 0 dc=0.0 +vs s 0 dc=0.0 +vb b 0 dc=0.0 + +* --- Transistor --- +X1 d g s b pmos W=10e-6 L=10e-6 + +* --- DC Analysis --- +.dc vg -1.3.0 1.3 0.01 vb 0 -0.3 -0.1 +.probe dc ids=par'i(vd)' +.probe dc gm=deriv(ids) +.probe dc gm2= deriv(gm) +.print dc par'ids' par'gm' par'gm2' +.end + diff --git a/Benchmark_test/inv_dc.sp b/Benchmark_test/inv_dc.sp new file mode 100644 index 000000000..6e2f59dd7 --- /dev/null +++ b/Benchmark_test/inv_dc.sp @@ -0,0 +1,26 @@ +*Sample netlist for BSIM6.0 +*Inverter DC Analysis + +.option abstol=1e-6 reltol=1e-6 post ingold +.hdl "bsim6.va" +.include "modelcard.nmos" +.include "modelcard.pmos" +* --- Voltage Sources --- +vdd supply 0 dc=1.0 +vin vi 0 dc=0.5 + +* --- Inverter Subcircuit --- +.subckt inverter vin vout vdd gnd + Xp1 vout vin vdd gnd pmos W=10u L=10u + Xn1 vout vin gnd gnd nmos W=10u L=10u +.ends + +* --- Inverter --- +Xinv1 vi vo supply 0 inverter + +* --- Transient Analysis --- +.dc vin 0 1 0.01 + +.print dc v(vi) v(vo) + +.end diff --git a/Benchmark_test/inverter_transient.sp b/Benchmark_test/inverter_transient.sp new file mode 100644 index 000000000..be62e036e --- /dev/null +++ b/Benchmark_test/inverter_transient.sp @@ -0,0 +1,31 @@ +*Sample netlist for BSIM6.0 +*Inverter Transient + +.option abstol=1e-6 reltol=1e-6 post ingold +.hdl "bsim6.va" +.include "modelcard.nmos" +.include "modelcard.pmos" + +* --- Voltage Sources --- +vdd supply 0 dc=1.0 +vin vi 0 dc=0.5 sin (0.5 0.5 1MEG) + +* --- Inverter Subcircuit --- +.subckt inverter vin vout vdd gnd + Xp1 vout vin vdd gnd pmos W=10u L=10u + Xn1 vout vin gnd gnd nmos W=10u L=10u +.ends + +* --- Inverter --- +Xinv1 vi 1 supply 0 inverter +Xinv2 1 2 supply 0 inverter +Xinv3 2 3 supply 0 inverter +Xinv4 3 4 supply 0 inverter +Xinv5 4 vo supply 0 inverter + +* --- Transient Analysis --- +.tran 10n 5u + +.print tran v(vi) v(vo) + +.end diff --git a/Benchmark_test/modelcard.nmos b/Benchmark_test/modelcard.nmos new file mode 100644 index 000000000..8e5f5db27 --- /dev/null +++ b/Benchmark_test/modelcard.nmos @@ -0,0 +1,209 @@ +*modelcard for BSIM6_BD + +.model nmos bsim6 ++LLONG =2E-06 ++WWIDE =1E-05 ++TYPE =1 ++GEOMOD =0 ++RGEOMOD =0 ++COVMOD =1 ++RDSMOD =0 ++XL =-1.7E-08 ++XW =1.1E-08 ++LINT =0 ++WINT =0 ++DLC =0 ++DWC =0 ++TOXE =1.74E-09 ++TOXP =1.7E-09 ++NDEP =4.6E+23 ++NSD =1E+26 ++NGATE =8.5E+25 ++VFB =-1.02 ++EPSROX =3.9 ++EPSRSUB =11.9 ++NI0SUB =1.1E+16 ++XJ =1.5E-07 ++DMCG =0 ++DMDG =0 ++DMCGT =0 ++CIT =1E-08 ++CDSCD =0.001 ++CDSCB =0 ++CDSCBL =0.007 ++CDSCBLEXP =1 ++NFACTOR =0.002 ++NFACTORL =2.1E-08 ++NFACTORLEXP =6.264 ++NDEPL1 =0.096 ++NDEPLEXP1 =1 ++NDEPL2 =-0.0032 ++NDEPLEXP2 =2.05 ++DVTP0 =7.5E-07 ++DVTP1 =-4.4E-07 ++NDEPW =-0.1548 ++NDEPWEXP =0.7441 ++NDEPWL =0 ++NDEPWLEXP =0.2 ++K2W =0 ++GIDLMOD =1 ++AGIDL =3.728E-08 ++AGIDLL =-0.04815 ++AGIDLW =-0.0341 ++BGIDL =8.123E+09 ++CGIDL =1.21E-06 ++EGIDL =-2.952 ++PHIN =0.05 ++K2L =0.001636 ++K2 =-0.014 ++ETA0 =8.416E-06 ++ETAB =-5.561E-05 ++ETABEXP =2.155 ++DSUB =3 ++VSAT =6.4E+04 ++VSATW =0.05 ++VSATWEXP =1 ++DELTA =0.15 ++DELTAL =0.1 ++DELTALEXP =1E-05 ++U0 =0.04546 ++ETAMOB =1.5 ++U0L =0.025 ++U0LEXP =0.95 ++UA =0.4007 ++UAW =0.05 ++UAWEXP =1 ++UAL =0.00475 ++UALEXP =1.118 ++EUW =-0.02 ++EUWEXP =1 ++EUL =0.001 ++EULEXP =1 ++EU =1.9 ++UDL =1E-15 ++UDLEXP =1 ++UD =1.042E-05 ++UCS =2 ++UCW =0 ++UCWEXP =1 ++UC =1E-07 ++UCL =2.5E+04 ++UCLEXP =1 ++PCLM =0.15 ++PCLML =0.01 ++PCLMLEXP =0.4 ++PCLMG =0 ++PSCBE1 =5 ++PSCBE2 =1.29E-12 ++PDITS =0 ++PDITSL =0 ++PDITSD =0 ++RSWMIN =0 ++RSW =100 ++RDWMIN =0 ++RDW =100 ++RDSW =20 ++RDSWMIN =0 ++PRWG =1 ++PRWB =0 ++WR =1 ++RSH =0 ++PDIBLCB =0 ++PDIBLC =0.01 ++PDIBLCL =1E-05 ++PDIBLCLEXP =1E-06 ++PVAG =0 ++PTWG =0.2 ++PTWGL =3E+04 ++PTWGLEXP =5E-06 ++FPROUT =0 ++CF =0 ++CFRCOEFF =1 ++CGSO =2.5E-10 ++CGDO =2.5E-10 ++CGSL =1.2E-10 ++CGDL =1.2E-10 ++CKAPPAS =1.25 ++CKAPPAD =1.25 ++CGBO =0 ++ADOS =0 ++BDOS =1 ++QM0 =0.001 ++ETAQM =0.54 ++NDEPCV =8E+23 ++VFBCV =-0.95 ++VSATCV =1E+05 ++PCLMCV =0 ++PSAT =0.46 ++PSATL =6 ++PSATLEXP =0.06 ++TNFACTOR =0 ++TETA0 =0 ++UTE =-1.4 ++UTEL =-0.001 ++UA1 =-0.0011 ++UA1L =0 ++UC1 =0 ++UD1 =0 ++UD1L =0 ++UCSTE =-0.005 ++PRT =0 ++AT =-0.05 ++ATL =-0.1 ++TDELTA =-0.0048 ++PTWGT =-0.002 ++PTWGTL =0.01 ++KT1 =-0.115 ++KT1EXP =1 ++KT1L =1.286E-09 ++KT2 =-0.003157 ++K2LEXP =1.698 ++K2WEXP =0.005 ++TBGASUB =0 ++IGCMOD =0 ++IGBMOD =0 ++AIGS=0.0136 ++BIGS=0.00171 ++CIGS=0.075 ++AIGSL=0 ++AIGD=0.0136 ++BIGD=0.00171 ++CIGD=0.075 ++AIGDL=0 ++AIGC=0.01285 ++LAIGC=2.132E-06 ++BIGC=0.0013 ++CIGC=0.013 ++AIGCL=-0.01227 ++PIGCD=1 ++PIGCDL=6.196 ++AIGBINV=0.015 ++BIGBINV=0.000949 ++CIGBINV=0.006 ++EIGBINV=1.1 ++NIGBINV=3 ++AIGBACC=0.01751 ++BIGBACC=8.307 ++CIGBACC=-898.7 ++NIGBACC=1 ++LPSAT=0 ++WPSAT=0 ++PPSAT=0 ++PSATB=0 ++PSATX=3 ++WVSAT=0 ++PVSAT=0 ++WPTWG=0 ++PPTWG=0 ++TNOM=25 ++WDVTP0=0 ++WDVTP1=0 ++LUTE=0.04574 ++LUA1=8.365E-05 ++LAT=0 ++DVTP2=0 ++DVTP3=0 ++DVTP4=0 ++DVTP5=0 ++VSATL=1350 ++VSATLEXP=0.00033 diff --git a/Benchmark_test/modelcard.pmos b/Benchmark_test/modelcard.pmos new file mode 100644 index 000000000..44fe2f2dd --- /dev/null +++ b/Benchmark_test/modelcard.pmos @@ -0,0 +1,426 @@ +*modelcard for BSIM6_BD + +.model pmos bsim6 ++TYPE = -1.0 ++toxe = 2.34e-009 ++toxp = 1.925e-009 ++dtox = 0 ++epsrox = 3.9 ++tnom = 25 ++xl = 0 ++xw = 0 ++lint = 0 ++llong = 1000000 ++ll = 0 ++lw = 0 ++lwl = 0 ++lln = 1 ++lwn = 1 ++wint = -9.0134104e-009 ++wl = 0 ++ww = 0 ++wwl = 0 ++wln = 1 ++wwn = 1 ++wwide = 1000000 ++dlc = 0 ++llc = 0 ++lwc = 0 ++lwlc = 0 ++dwc = 0 ++wlc = 0 ++wwc = 0 ++wwlc = 0 ++geomod = 0 ++rgeomod = 0 ++rgatemod= 0 ++rbodymod= 0 ++igcmod = 0 ++igbmod = 0 ++covmod = 1 ++rdsmod = 0 ++gidlmod = 0 ++tnoimod = 0 ++gmin = 1e-012 ++jss = 0.0001 ++jsd = 0.0001 ++jsws = 0 ++jswd = 0 ++jswgs = 0 ++jswgd = 0 ++njs = 1 ++njd = 1 ++ijthsfwd= 0.1 ++ijthdfwd= 0.1 ++ijthsrev= 0.1 ++ijthdrev= 0.1 ++bvs = 10 ++bvd = 10 ++xjbvs = 1 ++xjbvd = 1 ++jtss = 0 ++jtsd = 0 ++jtssws = 0 ++jtsswd = 0 ++jtsswgs = 0 ++jtsswgd = 0 ++jtweff = 0 ++njts = 20 ++njtsd = 20 ++njtssw = 20 ++njtsswd = 20 ++njtsswg = 20 ++njtsswgd= 20 ++vtss = 10 ++vtsd = 10 ++vtssws = 10 ++vtsswd = 10 ++vtsswgs = 10 ++vtsswgd = 10 ++cjs = 0.0005 ++cjd = 0.0005 ++cjsws = 5e-010 ++cjswd = 5e-010 ++cjswgs = 0 ++cjswgd = 0 ++pbs = 1 ++pbd = 1 ++pbsws = 1 ++pbswd = 1 ++pbswgs = 1 ++pbswgd = 1 ++mjs = 0.5 ++mjd = 0.5 ++mjsws = 0.33 ++mjswd = 0.33 ++mjswgs = 0.33 ++mjswgd = 0.33 ++tpb = 0 ++tcj = 0 ++tpbsw = 0 ++tcjsw = 0 ++tpbswg = 0 ++tcjswg = 0 ++xtis = 3 ++xtid = 3 ++xtss = 0.02 ++xtsd = 0.02 ++xtssws = 0.02 ++xtsswd = 0.02 ++xtsswgs = 0.02 ++xtsswgd = 0.02 ++tnjts = 0 ++tnjtsd = 0 ++tnjtssw = 0 ++tnjtsswd= 0 ++tnjtsswg= 0 ++tnjtsswgd= 0 ++noia = 6.25e+040 ++noib = 3.125e+025 ++noic = 8.75e+008 ++em = 41000000 ++ef = 1 ++lintnoi = 0 ++ntnoi = 1 ++tnoia = 0 ++tnoib = 0 ++tnoic = 0 ++rnoia = 0.577 ++rnoib = 0.5164 ++rnoic = 0.395 ++dwj = 0 ++dmcg = 0 ++dmci = 0 ++dmdg = 0 ++dmcgt = 0 ++xgw = 0 ++xgl = 0 ++gbmin = 1e-012 ++rshg = 0.1 ++rbpb = 50 ++rbpd = 50 ++rbps = 50 ++rbdb = 50 ++rbsb = 50 ++rbps0 = 50 ++rbpsl = 0 ++rbpsw = 0 ++rbpsnf = 0 ++rbpd0 = 50 ++rbpdl = 0 ++rbpdw = 0 ++rbpdnf = 0 ++rbpbx0 = 100 ++rbpbxl = 0 ++rbpbxw = 0 ++rbpbxnf = 0 ++rbpby0 = 100 ++rbpbyl = 0 ++rbpbyw = 0 ++rbpbynf = 0 ++rbsbx0 = 100 ++rbsby0 = 100 ++rbdbx0 = 100 ++rbdby0 = 100 ++rbsdbxl = 0 ++rbsdbxw = 0 ++rbsdbxnf= 0 ++rbsdbyl = 0 ++rbsdbyw = 0 ++rbsdbynf= 0 ++xrcrg1 = 12 ++xrcrg2 = 1 ++ngcon = 1 ++ndep = 8.062e+023 ++ndepl1 = 1.2139 ++ndeplexp1= 1.9088 ++ndepl2 = -1.1825 ++ndeplexp2= 1.9173 ++ndepw = 0.065035 ++ndepwexp= 0.48882 ++ndepwl = 0.00040893 ++ndepwlexp= 1.3273 ++easub = 4.05 ++ni0sub = 1.1e+016 ++bg0sub = 1.17 ++epsrsub = 11.9 ++xj = 1.5e-007 ++vfb = -1.2108 ++vfbsdoff= 0 ++nsd = 1e+026 ++dvtp0 = 1.8335e-007 ++dvtp1 = 220.59 ++dvtp2 = 9.6351e-010 ++dvtp3 = 0.89017 ++dvtp4 = 98.728 ++dvtp5 = 5.1435e-017 ++phin = 0.045 ++eta0 = 0.0051075 ++etab = -0.010908157 ++etabexp = 0.09999 ++dsub = 1.0667 ++k2 = -0.093146 ++k2l = 0.065574 ++k2lexp = 0.79778 ++k2w = 0.030809 ++k2wexp = 0.87253 ++cit = 1.0136148e-005 ++cdscd = 0.0011509049 ++cdscdl = -0.00048388809 ++cdscdlexp= 0.13963388 ++cdscb = 9.9995516e-006 ++cdscbl = 1.4756534e-009 ++cdscblexp= 1 ++nfactor = 0.0017201 ++nfactorl= 1.7832e-006 ++nfactorlexp= 0.99988 ++nfactorw= 0.11149 ++nfactorwexp= 0.8993 ++nfactorwl= -0.01386 ++u0 = 0.04004 ++u0l = 0.58676 ++u0lexp = 0.11151 ++etamob = 4.0947 ++ua = 0.4298 ++ual = -0.0087246 ++ualexp = 1.3647 ++uaw = 0.11575 ++uawexp = 0.4385 ++uawl = -7.027e-005 ++eu = 1.3371 ++eul = 0.0021948 ++eulexp = 1.4769 ++euw = -0.0031666 ++euwexp = 1.9366 ++euwl = -0.00013929 ++ud = 0.0093995 ++udl = 0.067484 ++udlexp = 0.099452 ++ucs = 0.9999 ++uc = 4.91e-006 ++ucl = 0.001096 ++uclexp = 0.0015937 ++vsat = 9609100 ++vsatl = 6.8282 ++vsatlexp= 0.086396 ++vsatw = 0.016834 ++vsatwexp= 3.0172 ++vsatcvl = 0 ++vsatcvlexp= 1 ++vsatcvw = 0 ++vsatcvwexp= 1 ++delta = 0.1779 ++deltal = 0.1269 ++deltalexp= 0.18156 ++pclm = 0 ++pclml = 0 ++pclmlexp= 1e-013 ++pclmg = 0 ++pclmcvl = 0 ++pclmcvlexp= 1 ++pscbe1 = 4.24e+008 ++pscbe2 = 1e-008 ++pdits = 0.85536 ++pditsl = 8473.9 ++pditsd = 0 ++pdiblc = 0.005 ++pdiblcl = 0 ++pdiblclexp= 1 ++pdiblcb = -0.49995 ++pvag = 1 ++fprout = 0 ++fproutl = 0 ++fproutlexp= 1 ++ptwg = 0.09999 ++ptwgl = 0.069993 ++ptwglexp= 0.0009999 ++psat = 1e-013 ++psatl = 0 ++psatlexp= 1 ++psatb = 0.9999 ++psatx = 1e-013 ++rsh = 0 ++prwg = 1 ++prwb = 0.010098993 ++prwbl = 0.00070000265 ++prwblexp= 1 ++wr = 1 ++rswmin = 0 ++rsw = 10 ++rswl = 0 ++rswlexp = 1 ++rdwmin = 0 ++rdw = 10 ++rdwl = 0 ++rdwlexp = 1 ++rdswmin = 0 ++rdsw = 0 ++rdswl = 0.0007 ++rdswlexp= 1e-007 ++alpha0 = 0 ++alpha0l = 0 ++alpha0lexp= 1 ++beta0 = 0 ++agidl = 0 ++agidll = 0 ++agidlw = 0 ++bgidl = 2.3e+009 ++cgidl = 0.5 ++egidl = 0.8 ++agisl = 0 ++agisll = 0 ++agislw = 0 ++bgisl = 2.3e+009 ++cgisl = 0.5 ++egisl = 0.00171 ++aigbacc = 0.00171 ++bigbacc = 0.00171 ++cigbacc = 0.075 ++nigbacc = 1 ++aigbinv = 0.0111 ++bigbinv = 0.000949 ++cigbinv = 0.006 ++eigbinv = 1.1 ++nigbinv = 3 ++aigc = 0.0136 ++aigcl = 3 ++aigcw = 0.0136 ++bigc = 0.00171 ++cigc = 0.075 ++aigs = 0.0136 ++aigsl = 0.075 ++aigsw = 0.0136 ++aigd = 0.0136 ++aigdl = 0 ++aigdw = 0.0136 ++bigs = 0.00171 ++bigd = 0.00171 ++cigs = 0.075 ++cigd = 0.075 ++toxref = 0.075 ++ntox = 1 ++poxedge = 1 ++pigcd = 1 ++pigcdl = 1 ++ndepcv = 4.598e+23 ++ndepcvl1= 0 ++ndepcvlexp1= 1 ++ndepcvl2= 0 ++ndepcvlexp2= 2 ++ndepcvw = 0 ++ndepcvwexp= 1 ++ndepcvwl= 0 ++ndepcvwlexp= 1 ++ngate = 7.764e+25 ++cf = 0 ++cfrcoeff= 1 ++cgso = 187.0e-12 ++cgdo = 187.0e-12 ++cgbo = 0 ++cgsl = 130.0e-12 ++cgdl = 130.0e-12 ++ckappas = 1.6 ++ckappad = 1.6 ++ados = 221.4 ++bdos = 1.350 ++qm0 = 405.7e-6 ++etaqm = 848.5e-3 ++vfbcv = -996.0e-3 ++vfbcvl = 0 ++vfbcvlexp= 1 ++vfbcvw = 0 ++vfbcvwexp= 1 ++vfbcvwl = 0 ++vfbcvwlexp= 1 ++tbgasub = 0.000473 ++tbgbsub = 636 ++tdelta = 0 ++ptwgt = 0 ++iit = 0 ++tgidl = 0 ++igt = 0 ++kt1 = -0.11 ++kt1l = 0 ++kt2 = 0.022 ++kt1exp = 1 ++ute = -1.5 ++ua1 = 0.001 ++ud1 = 0 ++uc1 = -5.6e-011 ++ucste = -0.004775 ++prt = 0 ++at = -0.00156 ++sca = 0 ++scb = 0 ++scc = 0 ++sc = 0 ++ku0we = 0 ++kvth0we = 0 ++k2we = 0 ++web = 0 ++wec = 0 ++scref = 1e-006 ++sa = 0 ++sb = 0 ++sd = 0 ++saref = 1e-006 ++sbref = 1e-006 ++wlod = 0 ++kvsat = 0 ++ku0 = 0 ++tku0 = 0 ++lku0 = 0 ++wku0 = 0 ++pku0 = 0 ++llodku0 = 0 ++wlodku0 = 0 ++kvth0 = 0 ++lkvth0 = 0 ++wkvth0 = 0 ++pkvth0 = 0 ++llodvth = 0 ++wlodvth = 0 ++stk2 = 0 ++lodk2 = 1 ++steta0 = 0 ++lodeta0 = 1 diff --git a/Benchmark_test/noise.sp b/Benchmark_test/noise.sp new file mode 100644 index 000000000..ba3aa54a5 --- /dev/null +++ b/Benchmark_test/noise.sp @@ -0,0 +1,31 @@ +*Samle netlist for BSIM6.0 +* Drain Noise Simulation + +.option abstol=1e-6 reltol=1e-6 post ingold +.temp 27 + +.hdl "bsim6.va" +.include "modelcard.nmos" + +* --- Voltage Sources --- +vds 1 0 dc=1v ac=1 +vgs gate 0 dc=0.5v +vbs bulk 0 dc=0v + +* --- Circuit --- +lbias 1 drain 1m +cload drain 2 1m +rload 2 0 R=1 noise=0 +X1 drain gate 0 bulk nmos W = 10e-6 L = 10e-6 + +* --- Analysis --- +.op +*.dc vgs -0.5 1.3 0.01 +*.print dc i(lbias) +.ac dec 11 1k 100g +.noise v(drain) vgs 1 +*.print ac v(drain) +*.print dc v(drain) +.print noise inoise onoise +.end + diff --git a/Benchmark_test/ringosc_17.sp b/Benchmark_test/ringosc_17.sp new file mode 100644 index 000000000..54ac368c9 --- /dev/null +++ b/Benchmark_test/ringosc_17.sp @@ -0,0 +1,52 @@ +*Sample netlist for BSIM6.0 +*17-stage ring oscillator + +.options abstol=1e-6 reltol=1e-6 post ingold dcon=1 + +.hdl "bsim6.va" +.include "modelcard.nmos" +.include "modelcard.pmos" + +* --- Voltage Sources --- +vdd supply 0 dc=1.0 + +* --- Inverter Subcircuit --- +.subckt inverter vin vout vdd gnd + Xp1 vout vin vdd gnd pmos W=10e-6 L=10e-6 + Xn1 vout vin gnd gnd nmos W=10e-6 L=10e-6 +.ends + +* --- 17 Stage Ring oscillator --- +Xinv1 1 2 supply 0 inverter +Xinv2 2 3 supply 0 inverter +Xinv3 3 4 supply 0 inverter +Xinv4 4 5 supply 0 inverter +Xinv5 5 6 supply 0 inverter +Xinv6 6 7 supply 0 inverter +Xinv7 7 8 supply 0 inverter +Xinv8 8 9 supply 0 inverter +Xinv9 9 10 supply 0 inverter +Xinv10 10 11 supply 0 inverter +Xinv11 11 12 supply 0 inverter +Xinv12 12 13 supply 0 inverter +Xinv13 13 14 supply 0 inverter +Xinv14 14 15 supply 0 inverter +Xinv15 15 16 supply 0 inverter +Xinv16 16 17 supply 0 inverter +Xinv17 17 1 supply 0 inverter + +* --- Initial Condition --- +.ic 1=1 + +.tran 1n 10u + +.print tran v(1) + +.measure tran t1 when v(1)=0.5 cross=1 +.measure tran t2 when v(1)=0.5 cross=7 +.measure tran period param'(t2-t1)/3' +.measure tran delay_per_stage param'period/34' + +.end + +