From 87b9500e5b9a803fc750960fff50e48c78aa5c79 Mon Sep 17 00:00:00 2001 From: mohamedmonem123 Date: Thu, 24 Aug 2023 11:05:19 +0300 Subject: [PATCH] editing the 10v fets model card --- models/ngspice/smbb000149.ngspice | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/models/ngspice/smbb000149.ngspice b/models/ngspice/smbb000149.ngspice index af8e330e..9aef7907 100644 --- a/models/ngspice/smbb000149.ngspice +++ b/models/ngspice/smbb000149.ngspice @@ -316,7 +316,7 @@ .subckt nfet_10v0_asym d g s b w = 25E-6 l = 0.6E-6 ad = 'w*1.48e-6' pd = '2*(1.48e-6+w)' as = 'w*0.48e-6' ps = '(w+0.48e-6)*2' nrd = 0 +nrs = 0 nf = 1 dtemp = 0 +sa = 0 sb = 0 sd = 0 -+par = 1 ++par = 1 m = 1 .param +rdrift1 = 1.5433E3 wa = -1.6705E-8 rd = 0.17322 +ra = 4.631E-3 rb = 1.1181 lb = -1.0648E-6 @@ -335,11 +335,11 @@ +cgds_fixed = '3.9*8.854e-12/toxep' rdrift d d2 '(rdrift1*nfet_10v0_asym_drdrift)*1.2e-6/(w/nf-wa)' tc1=trx1 tc2=trx2 m=nf rd2 d2 d1 'max(1e-2, (rd*nfet_10v0_asym_drdsw*(1+trth1*(temper+dtemp-25)+trth2*(temper+dtemp-25)*(temper+dtemp-25)))/(w/nf-wb)*(tanh(ra*(v(d,s)-rb*(l-lb)/(0.6e-6-lb)))))' m=nf -m0 d1 g s b nfet_10v0_asym_core w=w l=l as=as ad=ad ps=ps pd=pd nf=nf nrd=nrd nrs=nrs sa=sa sb=sb sd=sd -c1_gd g d c='nfet_10v0_asym_dcgd*(cgds_fixed*w*lcgd_d+ exp(polar_d*min(max(v(d,s)-vthd,0),polard_min))*cgdl_d*w*(1+tanh(cgdv_d/(1+cgd_val*max(v(d,g),0))*(v(g,d1)+cgd_vthd*(1+cgdv_d2*v(d,d1)) -nfet_10v0_asym_dvth0))))' -c1_gd2 g d1 c='nfet_10v0_asym_dcgd*(cgds_fixed*w*lcgd_d2 + cgdl_d2*w*(1+tanh( cgdv_d/(1+cgd_val*max(v(d,g),0))*(v(g,d1)+cgd_vthd*(1+cgdv_d2*v(d,d1)) -nfet_10v0_asym_dvth0 ) )) )' -c2_gs g s c='nfet_10v0_asym_dcgs*(cgds_fixed*w*lcgs + cgsl_s*w*(1-tanh(cgs_slope*(v(s,g)+cgs_vth)))*(1 +cgs_factor/(1+cgs_factor2*exp(-v(g,d1)-cgs_vth1))*(1- exp(polar_s*min(max(v(d1,s)-vthd,0),polars_min)))))' -c3_gb g b '(cgb_min + cgb_amp/(1+(1/pow(max(1e-3, cgb_slope*(v(b,g)-cgb_vth + nfet_10v0_asym_dvth0)), cgb_power))) ) *w ' +m0 d1 g s b nfet_10v0_asym_core w=w l=l as=as ad=ad ps=ps pd=pd nf=nf nrd=nrd nrs=nrs sa=sa sb=sb sd=sd m=m +c1_gd g d c='nfet_10v0_asym_dcgd*(cgds_fixed*w*lcgd_d+ exp(polar_d*min(max(2.63157-vthd,0),polard_min))*cgdl_d*w*(1+tanh(cgdv_d/(1+cgd_val*max(3.68421,0))*(2.63157+cgd_vthd*(1+cgdv_d2*5.78947368) -nfet_10v0_asym_dvth0))))' +c1_gd2 g d1 c='nfet_10v0_asym_dcgd*(cgds_fixed*w*lcgd_d2 + cgdl_d2*w*(1+tanh( cgdv_d/(1+cgd_val*max(5.91836734,0))*(3.061224489+cgd_vthd*(1+cgdv_d2*5.102040816)-nfet_10v0_asym_dvth0 ) )) )' +c2_gs g s c='nfet_10v0_asym_dcgs*(cgds_fixed*w*lcgs + cgsl_s*w*(1-tanh(cgs_slope*(0.2040816+cgs_vth)))*(1 +cgs_factor/(1+cgs_factor2*exp(10-cgs_vth1))*(1- exp(polar_s*min(max(-10-vthd,0),polars_min)))))' +c3_gb g b '(cgb_min + cgb_amp/(1+(1/pow(max(1e-3, cgb_slope*(1.83673469-cgb_vth + nfet_10v0_asym_dvth0)), cgb_power))) ) *w ' .model nfet_10v0_asym_core.1 nmos ***** Flag Parameter *** @@ -447,7 +447,7 @@ c3_gb g b '(cgb_min + cgb_amp/(1+(1/pow(max(1e-3, cgb_slope*(v(b,g)-cgb_vth + n .subckt pfet_10v0_asym d g s b w = 2.5E-5 l = 6E-7 dtemp = 0 nf = 1 ad = '(w*1.78e-6)' pd = '2*(w+1.78e-6)' as = 'w*0.48e-6' +ps = '(w+0.48e-6)*2' nrd = 0 nrs = 0 +sa = 0 sb = 0 sd = 0 -+par = 1 ++par = 1 m = 1 .param +rdrift = 5.751E-3 rd = 0.94645 ra = 1.1954E-3 +rb = 1.5957 lb = 6.78E-6 wa = -6.5504E-7 @@ -465,11 +465,11 @@ c3_gb g b '(cgb_min + cgb_amp/(1+(1/pow(max(1e-3, cgb_slope*(v(b,g)-cgb_vth + n +cgds_fixed = '3.9*8.854e-12/toxep' rd1 d d2 '(rdrift*pfet_10v0_asym_drdrift)/(w/nf-wa)' tc1=trx1 tc2=trx2 m=nf rd2 d2 d1 'max(0.1, (rd*pfet_10v0_asym_drdsw*(1+trd1*(temper+dtemp-25))/(w/nf-wb)*(tanh(ra*(v(s,d)-rb*(l-lb)/(0.6e-6-lb))))))' m=nf -m0 d1 g s b pfet_10v0_asym_core w=w l=l dtemp=0 ad=ad pd=pd as=as ps=ps nf=nf nrd=nrd nrs=nrs sa=sa sb=sb sd=sd -c1_gd g d c='pfet_10v0_asym_dcgd*(cgds_fixed*w*lcgd_d+ exp(polar_d*min(max(-v(d,s)-vthd,0),polard_min))*cgdl_d*w*(1+tanh(cgdv_d/(1+cgd_val*max(-v(d,g),0))*(-v(g,d1)+cgd_vthd*(1+cgdv_d2*-v(d,d1)) - pfet_10v0_asym_dvth0))))' -c1_gd2 g d1 c='pfet_10v0_asym_dcgd*(cgds_fixed*w*lcgd_d2 + cgdl_d2*w*(1+tanh( cgdv_d/(1+cgd_val*max(-v(d,g),0))*(-v(g,d1)+cgd_vthd*(1+cgdv_d2*-v(d,d1)) - pfet_10v0_asym_dvth0 ) )) )' -c2_gs g s c='pfet_10v0_asym_dcgs*(cgds_fixed*w*lcgs + cgsl_s*w*(1-tanh(cgs_slope*(-v(s,g)+cgs_vth)))*(1 +cgs_factor/(1+cgs_factor2*exp(v(g,d1)-cgs_vth1))*(1- exp(polar_s*min(max(-v(d1,s)-vthd,0),polars_min)))))' -c3_gb g b '(cgb_min + cgb_amp/(1+(1/pow(max(1e-3, cgb_slope*(-v(b,g)-cgb_vth + pfet_10v0_asym_dvth0)), cgb_power))) ) *w ' +m0 d1 g s b pfet_10v0_asym_core w=w l=l ad=ad pd=pd as=as ps=ps nf=nf nrd=nrd nrs=nrs sa=sa sb=sb sd=sd m=m +c1_gd g d c='pfet_10v0_asym_dcgd*(cgds_fixed*w*lcgd_d+ exp(polar_d*min(max(2.63157-vthd,0),polard_min))*cgdl_d*w*(1+tanh(cgdv_d/(1+cgd_val*max(3.68421,0))*(2.63157+cgd_vthd*(1+cgdv_d2*5.78947368) - pfet_10v0_asym_dvth0))))' +c1_gd2 g d1 c='pfet_10v0_asym_dcgd*(cgds_fixed*w*lcgd_d2 + cgdl_d2*w*(1+tanh( cgdv_d/(1+cgd_val*max(5.91836734,0))*(3.061224489+cgd_vthd*(1+cgdv_d2*5.102040816) - pfet_10v0_asym_dvth0 ) )) )' +c2_gs g s c='pfet_10v0_asym_dcgs*(cgds_fixed*w*lcgs + cgsl_s*w*(1-tanh(cgs_slope*(0.2040816+cgs_vth)))*(1 +cgs_factor/(1+cgs_factor2*exp(10-cgs_vth1))*(1- exp(polar_s*min(max(-10-vthd,0),polars_min)))))' +c3_gb g b '(cgb_min + cgb_amp/(1+(1/pow(max(1e-3, cgb_slope*(1.83673469-cgb_vth + pfet_10v0_asym_dvth0)), cgb_power))) ) *w ' .model pfet_10v0_asym_core.1 pmos ***** Flag Parameter ***