ngspiceMODULE.hxx.xml, $finish and test with r2_cmc.va

This commit is contained in:
rlar 2017-05-13 12:50:12 +02:00 committed by Holger Vogt
parent f71926ad15
commit 729ab44bd5
2 changed files with 21 additions and 11 deletions

View File

@ -2623,20 +2623,28 @@ inline double _d1_pow(double x,double y) { return (x==0.0)?0.0:((log(x)/exp(0.
<!-- analog//callfunctions -->
<admst:template match="callfunction">
<admst:choose>
<admst:when test="function[name='\$strobe']">printf(</admst:when>
<admst:when test="function[name='\$warning']">_warning(</admst:when>
<admst:when test="function[name='\$error']">_error(</admst:when>
<admst:when test="function[name='\$finish']">_finish(</admst:when>
<admst:when test="function[name='\$stop']">_stop(</admst:when>
<admst:when test="function[name='\$finish']">
<admst:text format="_finish("/>
<admst:join select="function/arguments" separator=",">%(e(tree))</admst:join>
<admst:text format=");\n"/>
</admst:when>
<admst:otherwise>
<admst:fatal format="function not supported: %(function/name)\n"/>
<admst:choose>
<admst:when test="function[name='\$strobe']">printf(</admst:when>
<admst:when test="function[name='\$warning']">_warning(</admst:when>
<admst:when test="function[name='\$error']">_error(</admst:when>
<admst:when test="function[name='\$stop']">_stop(</admst:when>
<admst:otherwise>
<admst:fatal format="function not supported: %(function/name)\n"/>
</admst:otherwise>
</admst:choose>
<admst:join select="function/arguments" separator=",">
%(e(tree))
<admst:if test="[position(.)=1]">&quot;\\n&quot;</admst:if>
</admst:join>
<admst:text format="); fflush(stdout);\n"/>
</admst:otherwise>
</admst:choose>
<admst:join select="function/arguments" separator=",">
%(e(tree))
<admst:if test="[position(.)=1]">&quot;\\n&quot;</admst:if>
</admst:join>
<admst:text format="); fflush(stdout);\n"/>
</admst:template>
<!-- analog/code -->

View File

@ -27,6 +27,8 @@ module r2_cmc(t, b);
parameter real type = 0; // 0=n, 1=p
analog begin : L
real dT, rsh_t, c, r, Ir, Qc, Ceff, pwrR;
if (nc > 2)
$finish(0);
begin : initializeModel
dT = $temperature - `TNOM;
rsh_t = rsh*(1.0+tcr*dT);