X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com Date: Fri, 1 Jul 2016 13:13:31 -0400 From: al davis To: "Shashank Chintalagiri (shashank DOT chintalagiri AT gmail DOT com) [via geda-user AT delorie DOT com]" Subject: Re: [geda-user] Help with gnucap / POLY(2) Message-ID: <20160701131331.2c2d7522@floyd.freeelectron.net> In-Reply-To: References: X-Mailer: Claws Mail 3.11.1 (GTK+ 2.24.25; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Reply-To: geda-user AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: geda-user AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk On Fri, 1 Jul 2016 21:43:26 +0530 "Shashank Chintalagiri (shashank DOT chintalagiri AT gmail DOT com) [via geda-user AT delorie DOT com]" wrote: > I've now hit a rather problematic wall, though. When trying to include > an opamp (Analog Devices OP1177), I find that the model includes > POLY(2) dependent sources which gnucap seems to not like. > > Could someone point me to a reference or so which can explain how to > break down this sort of source into something that gnucap can handle? > If there is no other option, I'm ok with it reducing the accuracy of > the model. > > The following are the lines I have causing trouble: > > * (within) INPUT STAGE & POLE AT 100 MHZ > EOS 9 3 POLY(2) (26, 28) (73, 98) 15E-6 1 1 > * (within) COMMON-MODE GAIN NETWORK WITH ZERO AT 1 kHZ > E2 25 98 POLY(2) 1 98 2 98 0 0.28 0.28 Well, Spice is not compatible with Spice. In this case, as I recall, that form is a proprietary extension in HSpice, that some others have copied. Assuming what you sent is correct, those statements are misuse of the POLY in the sense that there is a simple portable way to do the same thing. "E" is a voltage controlled voltage source. "POLY(2)" says it is a polynomial source with two inputs, each input is defined by two nodes. Parentheses are usually (not always) equivalent to whitespace. It is common to use them to improve readability. So we have .. ...label "EOS" ...output nodes "9 3" ...keyword "POLY(2)" ... in this case the parens are like letters. ...first input "(26, 28)" ...second input "(73, 98)" ...coefficients "15E-6 1 1" Explanation of the coefficients .... The poly source does out = A + B*in1 + C*in2 + D*in1*in1 + E*in1*in2 + F*in2*in2 + ......more stuff. In this case, we have A=15E-6 B=1 C=1 . All others = 0. So you might as well use: VaEOS (9 xxxx1) 15e-6 EbEOS (xxxx1 xxxx2 26 28) 1 EcEOS (xxxx2 3) 1 That should work the same, and work with any Spice-syntax simulator. E2 25 98 POLY(2) 1 98 2 98 0 0.28 0.28 The other line at first looks a little more confusing because there are no parentheses, but it is really the same: ...label "E2" ...output nodes "25 98" ...keyword "POLY(2)" ... in this case the parens are like letters. ...first input "1 98" ...second input "2 98" ...coefficients "0 0.28 0.28"