I have a serious problem with
Labcenter Electronics,
Proteus Professional 8.
What i need is to simulate nonlinear analog current sources with several variables, mainly, a function
I(V1,...,Vn,I1,...In). Some matematical functions and if-else conditions.
Nothing so complex but enough for making me to write some expressions or a few lines of code.
An expression, after all.
NODE Command
At first i went into
EasyHDL NODE Command, with expressions documented solely in the program help (and in some google site which mainly replicate them in an exact way), like that:
NODE V(MyAnalogPin)
NODE I(MyAnalogPin)
NODE V(MyAnalogPin1,MyAnalogPin2)
NODE I(MyAnalogPin1,MyAnalogPin2)
NODE VOUT(MyAnalogPin)
All them embedded inside a Generator as Local code or as a Text Script enclosed as:
*SCRIPT PROGRAM MYCODE
<NODE declarations>
<expressions>
*ENDSCRIPT
or
*SCRIPT GENERATOR MYSIGNAL
<NODE declarations>
<expressions>
*ENDSCRIPT
The second case is out of my use, because i am clear with signals, i am looking for functions.
None of the written sintaxis worked actually. I didnt find any working sample not any functional tutorial in the whole internet.
SPICE Support
Moreover, i then switched into using a
Spice code inside Proteus. My surprise was huge by realizing that the standard
Spice function
GXXXX is not supported for expressions!. Hence this s not valid when tried:
G1 1 2 3 4 value={<F(V(1),...,V,I(1),...,I)>}
This is confirmed in here by a Proteus specialist.
https://support.labcenter.com/forums/viewtopic.php?f=9&t=6330&p=21028&hilit=EasyHDL#p21063
Hence, i concluded that Proteus simply do not supports the
EasyHDL NODE commands for designing an analog block, nor
SPICE GXXXX nonlinear expressions.
What i believe is they were removed due to convergence issues, as the
Proteus specialist explained in the same post at their forum.
So how should i simulate nonlinear expressions after all?
Or i should simply switch to another, better program?