# HG changeset patch # User cdf # Date 1439830260 0 # Node ID 3ce60a1159f8a6cb636205c1be60f7409effb1cd # Parent 88676c510f30b763e424a17de53b99fbd7e3ac3e fix bug in documentation diff -r 88676c510f30 -r 3ce60a1159f8 extra/ocs/doc/iffspec_ocs.tex --- a/extra/ocs/doc/iffspec_ocs.tex Mon Aug 17 10:26:08 2015 +0000 +++ b/extra/ocs/doc/iffspec_ocs.tex Mon Aug 17 16:51:00 2015 +0000 @@ -8,6 +8,9 @@ \usepackage{amsmath} \usepackage{amsfonts} \usepackage{listings} +\let\tt=\normalfont\ttfamily +\let\bf=\normalfont\bfseries +\let\it=\normalfont\itshape \newcommand{\Iff}{{\tt IFF}} \newcommand{\nlc}{{\tt NLC}} \newcommand{\cir}{{\tt CIR}} diff -r 88676c510f30 -r 3ce60a1159f8 extra/ocs/src/Mshichmanhodgesmosfet.cc --- a/extra/ocs/src/Mshichmanhodgesmosfet.cc Mon Aug 17 10:26:08 2015 +0000 +++ b/extra/ocs/src/Mshichmanhodgesmosfet.cc Mon Aug 17 16:51:00 2015 +0000 @@ -124,7 +124,7 @@ double T = extvar(4); // Temperature double k = mu0*Cox*pow((T + Tshift)/300.0,-3.0/2.0)*W/L; - double dkdT = mu0*Cox*W*(-3.0/2)*pow((T + Tshift)/300.0,-5.0/2.0 )*(1.0/300.0)/L; + double dkdT = mu0*Cox*W*(-3.0/2)*xpow((T + Tshift)/300.0,-5.0/2.0 )*(1.0/300.0)/L; double vgs = vg - vs; double vds = vd - vs; @@ -138,10 +138,10 @@ } else if ( ( (vgs-Vth)>= vds ) && (vds>=0)) { - *ids = k*((vgs-Vth)*vds - pow(vds,2)/2 ) + vds/rd; + *ids = k*((vgs-Vth)*vds - xpow(vds,2)/2 ) + vds/rd; *gm = k*vds; *gd = k*(vgs-Vth-vds) + (1/rd); - *didT = dkdT*((vgs-Vth)*vds-(pow(vds,2))/2); + *didT = dkdT*((vgs-Vth)*vds-(xpow(vds,2))/2); } else if (((vgs-Vth)>=(vds))&&(vds<0)) { @@ -152,10 +152,10 @@ } else // (i.e. if 0 <= vgs-vth <= vds) { - *ids = (k/2)*pow((vgs-Vth),2) + vds/rd; + *ids = (k/2)*xpow((vgs-Vth),2) + vds/rd; *gm = k*(vgs-Vth); *gd = 1/rd; - *didT= (dkdT/(2))*pow((vgs-Vth),2); + *didT= (dkdT/(2))*xpow((vgs-Vth),2); } *P = -(*ids)*vds; @@ -177,8 +177,8 @@ double vb = extvar(3); // V-bulk double T = extvar(4); // Temperature - double k = - mu0*Cox*pow((T + Tshift)/300.0,-3.0/2.0)*W/L; - double dkdT = - mu0*Cox*W*(-3.0/2.0)*pow((T + Tshift)/300.0,-5.0/2.0 )*(1.0/300.0)/L; + double k = - mu0*Cox*xpow((T + Tshift)/300.0,-3.0/2.0)*W/L; + double dkdT = - mu0*Cox*W*(-3.0/2.0)*xpow((T + Tshift)/300.0,-5.0/2.0 )*(1.0/300.0)/L; double vgs = vg - vs; double vds = vd - vs; @@ -192,10 +192,10 @@ } else if ( ( (vgs-Vth)<= vds ) && (vds<=0)) { - *ids = k*((vgs-Vth)*vds - pow(vds,2)/2 ) + vds/rd; + *ids = k*((vgs-Vth)*vds - xpow(vds,2)/2 ) + vds/rd; *gm = k*vds; *gd = k*(vgs-Vth-vds) + (1/rd); - *didT = dkdT*((vgs-Vth)*vds-(pow(vds,2))/2); + *didT = dkdT*((vgs-Vth)*vds-(xpow(vds,2))/2); } else if (((vgs-Vth)<=(vds))&&(vds>0)) { @@ -206,10 +206,10 @@ } else // (i.e. if 0 <= vgs-vth <= vds) { - *ids = (k/2)*pow((vgs-Vth),2) + vds/rd; + *ids = (k/2)*xpow((vgs-Vth),2) + vds/rd; *gm = k*(vgs-Vth); *gd = 1/rd; - *didT= (dkdT/(2))*pow((vgs-Vth),2); + *didT= (dkdT/(2))*xpow((vgs-Vth),2); } *P = -(*ids)*vds; @@ -543,7 +543,7 @@ else error("Mshichmanhodgesmosfet: unknown element type.\n"); - return retval; } + return (retval); }