blob: 1769409b4dab138b250e2e96b65e09ffeebdc87b [file] [log] [blame]
****************************************************
*** Jul 03, 2019 UZMN
*** Why: The charge did not conserve.
*** No process Monte Carlo
*** What:
*** Replace the voltage dependent model by a constant capacitance to
*** conserve charge. Besides, the voltage coefficient only changes
*** the capacitance by 0.09% at 3.3V.
.subckt cm3m4 c0 c1 w=1 l=1 mf=1
*****via_spacing from TDR Rules = via3.1 + via3.2 + capm.4
.param wc = 'w+m3_dw*1e6+tol_m3*1e6'
.param lc = 'l+m3_dw*1e6+tol_m3*1e6'
.param via3_spacing = '(0.17+0.25+0.140)*(0.17+0.25+0.140)' $area of a single via3 with spacing (physical)
.param num_contacts = '(wc*lc/via3_spacing)'
.param r1 = 'rm3_rsh*(lc)/(wc)'
.param r2 = 'rcvia3/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 = 'mcm3f_ca_w_7_680_s_1_240*(wc)*(lc)*m*1e-12'
.param cpar_perim = 'mcm3f_cf_w_7_680_s_1_240*((wc)+(lc))*m*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
c1 c0 a czero tc1=0 tc2=0
rs1 a b1 'r1' tc1=tc1rm3 tc2=tc2rm3 $$use M3 tco's
rs2 b1 c1 'r2' tc1=tc1rvia3 tc2=tc2rvia3 $$use rvia3 tco's
.ends cm3m4
.subckt cm4m5 c0 c1 w=1 l=1 mf=1
*****via_spacing from TDR Rules = via4.1 + via4.2 + cap2m.4
.param wc = 'w+m4_dw*1e6+tol_m4*1e6'
.param lc = 'l+m4_dw*1e6+tol_m4*1e6'
.param via4_spacing = '(0.28+0.31+0.140)*(0.28+0.31+0.140)' $area of a single via4 with spacing (physical)
.param num_contacts = '(wc*lc/via4_spacing)'
.param r1 = 'rm4_rsh*(lc)/(wc)'
.param r2 = 'rcvia4/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 = 'mcm4f_ca_w_7_680_s_1_240*(wc)*(lc)*m*1e-12'
.param cpar_perim = 'mcm4f_cf_w_7_680_s_1_240*((wc)+(lc))*m*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
c1 c0 a czero tc1=0 tc2=0
rs1 a b1 'r1' tc1=tc1rm4 tc2=tc2rm4 $$use M4 tco's
rs2 b1 c1 'r2' tc1=tc1rvia4 tc2=tc2rvia4 $$use rvia4 tco's
.ends cm4m5