Geoffrey,
Quote:so if you just change level=60 to level=14 you should be able to run it and see which one Spectre says it doesn't know
Thank you fot hint. I tried it. For the moment I've problem with model syntax.
At the begining of Eldo model there is following piece of code
Code:.SUBCKT ENULLMM9JU D G S B
+ param: W=10e-6 L=10e-6 nfing=1 mismatch=1 srcefirst=1
+ wfing={w/nfing+3.6e-08}
+ fd={srcefirst*(nfing-2*trunc(nfing/2))+(1-srcefirst)*(2*trunc(1+nfing/2)-nfing)}
+ fs={2-fd}
+ AD={wfing*(nfing*(5.2e-07-(-2.8e-08))/2+fd*(1.4e-07+(3.6e-08)/2))}
+ AS={wfing*(nfing*(5.2e-07-(-2.8e-08))/2+fs*(1.4e-07+(3.6e-08)/2))}
+ PD={nfing*2*(5.2e-07-(-2.8e-08))/2+fd*(wfing+2*1.4e-07+(3.6e-08))}
+ PS={nfing*2*(5.2e-07-(-2.8e-08))/2+fs*(wfing+2*1.4e-07+(3.6e-08))}
+ number=1
***MATCHING****
.PARAM vtor_alpha = {7.2e-09}
.PARAM vtor_beta = {0}
.PARAM vtor_fudge = {1}
.PARAM betsq_alpha = {1.85e-08}
.PARAM betsq_beta = {0}
.PARAM betsq_fudge = {1}
.PARAM vtor_sig = {((vtor_alpha/sqrt(W*L*number))+vtor_beta)*vtor_fudge/sqrt(2.0)}
.PARAM vtor_dev = 0.0 DEV/gauss = {vtor_sig*mismatch}
.PARAM betsq_sig = {((betsq_alpha/sqrt(W*L*number))+betsq_beta)*betsq_fudge/sqrt(2.0)}
.PARAM betsq_dev = 0.0 DEV/gauss = {betsq_sig*mismatch}
First I tried spice parser (option +csfe). It didn't like function
trunc . The Spice homologue of Eldo
trunc is
int. When I replace
trunc by
int, spice parcer gives error.
Then I tried Spectre parser. I replaced
.PARAM by
parameters and
trunc by
floor. This was Ok. Problem rised with
vtor_dev and
betsq_dev parameters. For Spectre such syntax is uncomprehesible.
In which directio should I follow (adaptation to Spectre or Spice) and how could I circumvent problems mentionned above.
Quote:.so is a "shared object" -- similar to a DLL in Windows. Eg, the libphilips_sh.so contains the Mextram and PSP transistor models.
If I properly undestand you, the contents of this file is compiled models. So, it should be the way to use them? How?
Regards.
Pavel.