blob: f51c53f728526c7a425d7dd9767484ae7c895fd4 [file] [log] [blame]
***This is the model file for MIM Capacitor. This doesn't conserve charge.
.subckt xcmimc c0 c1 b w=1 l=1 mf=1
*****via_spacing from S8TDR Rules = via2.1a + via.2 + capm.4
.param wc = 'w+m2_dw*1e6+tol_m2*1e6'
.param lc = 'l+m2_dw*1e6+tol_m2*1e6'
.param via_spacing = '(0.28+0.28+0.140)*(0.28+0.28+0.140)' $area of a single via2 with spacing (physical) (from TDR*E)
.param num_contacts = '(wc*lc/via_spacing)'
.param r1 = 'rm3*(lc)/(wc)'
.param r2 = 'rcvia2/num_contacts'
.param vc1 = -25e-6 $$ Parts per million/Volts
.param vc2 = 90e-6 $$ Parts per million/Volts^2
.param carea = 'camimc*(wc)*(lc)'
.param cperim = 'cpmimc*((wc)+(lc))*2'
.param czero = 'carea + cperim' dev/gauss='0.01*2.8*(carea + cperim)/sqrt(wc*lc*mf)'
.param cpar_area = 'mcm2f_ca_w_1_120_s_3_500*(wc+0.28)*(lc+0.28)*1e-12'
.param cpar_perim = 'mcm2f_cf_w_1_120_s_3_500*((wc+0.28)+(lc+0.28))*2*1e-6'
c1 c0 a 'czero*(1+vc1*(v(c0)-v(c1))+vc2*(v(c0)-v(c1))*(v(c0)-v(c1)))' tc1=0 tc2=0
rs1 a b1 'r1' tc1=tc1rm2 tc2=tc2rm2 $$use M2 tco's
rs2 b1 c1 'r2' tc1=tc1rvia2 tc2=tc2rvia2 $$us3 rcvia2 tco's
***Use Rescap elements for the M1-Field Parasitic capacitance structures
***Must convert from w/l from um to m to align w/RESCAP element units of F/m^2, F/m
cox_1 c1 b 'cpar_area' tc1=0 tc2=0
cox_2 c1 b 'cpar_perim' tc1=0 tc2=0
.ends xcmimc
***** xcmimc2 is identical to xcmimc except it has not bulk terminal and no parasitic to bulk
.subckt xcmimc2 c0 c1 w=1 l=1 mf=1
*****via_spacing from S8TDR Rules = via2.1a + via.2 + capm.4
.param wc = 'w+m2_dw*1e6+tol_m2*1e6'
.param lc = 'l+m2_dw*1e6+tol_m2*1e6'
.param via_spacing = '(0.28+0.28+0.140)*(0.28+0.28+0.140)' $area of a single via2 with spacing (physical) (from TDR*E)
.param num_contacts = '(wc*lc/via_spacing)'
.param r1 = 'rm3*(lc)/(wc)'
.param r2 = 'rcvia2/num_contacts'
.param vc1 = -25e-6 $$ Parts per million/Volts
.param vc2 = 90e-6 $$ Parts per million/Volts^2
.param carea = 'camimc*(wc)*(lc)'
.param cperim = 'cpmimc*((wc)+(lc))*2'
.param czero = 'carea + cperim' dev/gauss='0.01*2.8*(carea + cperim)/sqrt(wc*lc*mf)'
c1 c0 a 'czero*(1+vc1*(v(c0)-v(c1))+vc2*(v(c0)-v(c1))*(v(c0)-v(c1)))' tc1=0 tc2=0
rs1 a b1 'r1' tc1=tc1rm2 tc2=tc2rm2 $$use M2 tco's
rs2 b1 c1 'r2' tc1=tc1rvia2 tc2=tc2rvia2 $$us3 rcvia2 tco's
.ends xcmimc2