Hello Leandro,
from what I saw in available sources, likely "input" and "output" are not implemented. What I saw - you can use "inout" and define nodes, not ports. so - pls try: module vamp (in, out) ; inout in, out ; electrical in, out ; ... V(out) <+ GAIN_V * V(in) ; ... regards Gena Friday, January 28, 2011, 12:25:13 AM, you wrote: LM> 2010/10/26 <[email protected]>: >> Hello Andrey, >> >> plese - take a look at >> http://git.gnucapplus.org/gitweb/ >> >> 1) gnucap-mot-adms.git >> http://git.gnucapplus.org/gitweb/?p=gnucap-mot-adms.git;a=summary >> >> This is port of NGSpice mot-adms (made by Laurent Lemaitre) to gnucap >> >> gnucap can use (-a switch, .attach .load commands) plugins, including >> models and can understand Spice, BSIM and NGspice models. This tool >> uses NGspice interface and allows to compile Verilog-A models into C >> code, which then shall be compiled into *.so and then attached and >> used in gnucap. LM> Hi Genna and all, LM> regarding the gnucap-mot-adms model compilator, I'm trying to compile LM> (following the model_add.howto) this simple model: LM> `define P(txt) (*txt*) LM> `include "discipline.h" LM> `include "constants.h" LM> module vamp (in, out) ; LM> input in ; LM> output out ; LM> voltage out , in ; LM> parameter real GAIN_V=10.0 from [0:inf] ; LM> `P(info="Gain (times)"); LM> analog begin LM> begin LM> V(out) <+ GAIN_V * V(in) ; LM> end LM> end //analog LM> endmodule LM> // LM> But found this error at the point of doing make -f Makefile.gnucap: LM> vampguesstopology.c: In function 'vampguesstopology': LM> vampguesstopology.c:37: error: 'vampinstance' has no member named LM> 'PTR_J_out_in_required' LM> make: *** [vampguesstopology.o] Error 1 LM> Seems like something is missing other than adding/modifing the LM> wraper.h and the gnspiceVersion.xml. Just in case, I attach the LM> modifications I did on them at the end of the mail. I wonder if adms LM> is intended to do what I am trying to do, instead of device types LM> (like transistors, resistors, sources, etc), because I don't know LM> which device type letter should I choose for an amplifier, or any LM> other circuit. LM> Ok, sorry for the long mail, thank you. LM> Regards, LM> Leandro. LM> <!-- This is what I added to ngspiceVersion.xml --> LM> <admst:when test="[name='vamp']"> LM> <admst:if test="[nilled(variable[name='I'])]"> LM> <admst:value-of select="analog"/> LM> <admst:value-of select="."/> LM> <admst:new datatype="variable" arguments="%p,I,%p"> LM> <admst:push into="module/variable" select="." onduplicate="ignore"/> LM> <admst:value-to select="sizetype" value="scalar"/> LM> <admst:value-to select="type" value="integer"/> LM> <admst:value-to select="input" value="yes"/> LM> <admst:value-to select="output" value="yes"/> LM> <admst:value-to select="parametertype" value="model"/> LM> <admst:value-to select="scope" value="global_model"/> LM> <admst:new datatype="number" arguments="1"> LM> <admst:value-to select="scalingunit" value="1"/> LM> <admst:value-of select="."/> LM> <admst:value-of select="../module"/> LM> <admst:new datatype="expression" arguments="%p,%p"> LM> <admst:value-of select="."/> LM> <admst:value-to select="../../default" value="%p"/> LM> </admst:new> LM> </admst:new> LM> </admst:new> LM> </admst:if> LM> </admst:when> LM> /* This is the wrap.h file I modified for my vam.va LM> */ LM> extern "C" { LM> #include "vampdefs.h" LM> } LM> #define info vampinfo LM> #define INSTANCE vampinstance LM> #define MODEL vampmodel LM> #define SPICE_LETTER "I" LM> #define DEVICE_TYPE "ngspice_vamp" LM> #define MIN_NET_NODES 2 LM> #define MAX_NET_NODES 2 LM> #define INTERNAL_NODES 0 LM> #define MODEL_TYPE "Ivamp|I" LM> #define UNCONNECTED_NODES uGROUND LM> static std::string port_names[] = {"in", "out"}; LM> static std::string state_names[] = {}; LM> _______________________________________________ LM> Help-gnucap mailing list LM> [email protected] LM> http://lists.gnu.org/mailman/listinfo/help-gnucap -- Best regards, Gserdyuk mailto:[email protected] _______________________________________________ Help-gnucap mailing list [email protected] http://lists.gnu.org/mailman/listinfo/help-gnucap
