added declaration of noise variables

This commit is contained in:
r29173 2007-07-05 10:20:33 +00:00
parent fdb2fa9424
commit b7aa19243e
3 changed files with 37 additions and 27 deletions

View File

@ -73,6 +73,7 @@
<admst:template match="wrapper">
/*wrapper*/
#define pModel model
#define pInst here
#define mint_get_circuit_tempK() _circuit_temp
#define voltages(n) NP(n)
#define _DDT(q) q
@ -2820,31 +2821,6 @@ inline double _d1_pow(double x,double y) { return (x==0.0)?0.0:((log(x)/exp(0.
<!-- Do not create temp variables for functions inside while(), for()-->
<admst:variable name="SkipFVariable" select="n"/>
<admst:for-each select="/module">
<admst:new datatype="list" arguments="fnoise">
<admst:variable name="fnoise" select="%(.)"/>
</admst:new>
<admst:new datatype="list" arguments="tnoise">
<admst:variable name="tnoise" select="%(.)"/>
</admst:new>
<admst:new datatype="list" arguments="wnoise">
<admst:variable name="wnoise" select="%(.)"/>
</admst:new>
<admst:for-each select="contribution">
<admst:variable name="contribution" select="%(.)"/>
<admst:variable name="dependency" select="%(math/dependency)"/>
<admst:choose>
<admst:when test="rhs/tree/adms[datatypename='function']/..[name='flicker_noise']">
<admst:push into="$fnoise/item" select="$contribution" onduplicate="ignore"/>
</admst:when>
<admst:when test="[$dependency='constant']/rhs/tree/adms[datatypename='function']/..[name='white_noise']">
<admst:push into="$tnoise/item" select="$contribution" onduplicate="ignore"/>
</admst:when>
<admst:when test="[$dependency!='constant']/rhs/tree/adms[datatypename='function']/..[name='white_noise']">
<admst:push into="$wnoise/item" select="$contribution" onduplicate="ignore"/>
</admst:when>
</admst:choose>
</admst:for-each>
<admst:variable name="module" select="%(name)"/>
<admst:choose>
<admst:when test="attribute[name='desc']">

View File

@ -3,7 +3,10 @@
<!--
$Id$
$Log$
Revision 1.12 2007-05-11 07:19:57 r29173
Revision 1.13 2007-07-05 10:20:47 r29173
added declaration of noise variables
Revision 1.12 2007/05/11 07:19:57 r29173
added support to 'div' builtin function
Revision 1.11 2007/02/10 16:08:41 dwarning
@ -254,6 +257,10 @@ typedef struct s$(module)instance {
</admst:if>
<admst:text format="\n"/>
</admst:for-each>
// noise\n
<admst:text select="$fnoise/item" format=" double fpnoise%(index($fnoise/item,.)), fenoise%(index($fnoise/item,.));\n"/>
<admst:text select="$tnoise/item" format=" double tnoise%(index($tnoise/item,.));\n"/>
<admst:text select="$wnoise/item" format=" double wnoise%(index($wnoise/item,.));\n"/>
/* variables */
<admst:for-each select="variable[input='no' and scope='global_instance']">

View File

@ -5,7 +5,10 @@
-->
<!--
$Log$
Revision 1.19 2007-05-13 09:55:14 pnenzi
Revision 1.20 2007-07-05 10:20:48 r29173
added declaration of noise variables
Revision 1.19 2007/05/13 09:55:14 pnenzi
Updated the code for ekv model.
@ -1935,6 +1938,30 @@
<admst:value-to select="/simulator/package_bugreport" value="r29173@users.sourceforge.net"/>
<admst:for-each select="/module">
<admst:new datatype="list" arguments="fnoise">
<admst:variable name="fnoise" select="%(.)"/>
</admst:new>
<admst:new datatype="list" arguments="tnoise">
<admst:variable name="tnoise" select="%(.)"/>
</admst:new>
<admst:new datatype="list" arguments="wnoise">
<admst:variable name="wnoise" select="%(.)"/>
</admst:new>
<admst:for-each select="contribution">
<admst:variable name="contribution" select="%(.)"/>
<admst:variable name="dependency" select="%(math/dependency)"/>
<admst:choose>
<admst:when test="rhs/tree/adms[datatypename='function']/..[name='flicker_noise']">
<admst:push into="$fnoise/item" select="$contribution" onduplicate="ignore"/>
</admst:when>
<admst:when test="[$dependency='constant']/rhs/tree/adms[datatypename='function']/..[name='white_noise']">
<admst:push into="$tnoise/item" select="$contribution" onduplicate="ignore"/>
</admst:when>
<admst:when test="[$dependency!='constant']/rhs/tree/adms[datatypename='function']/..[name='white_noise']">
<admst:push into="$wnoise/item" select="$contribution" onduplicate="ignore"/>
</admst:when>
</admst:choose>
</admst:for-each>
<admst:choose>
<admst:when test="[name='hic0_full']">
<admst:new datatype="attribute" arguments="ngspicename">