# Test cases for for OTA in LTSpice Here is a component OTA provided by LTSpice which has inverting non inverting common and output node. I am in process of modelling this OTA behavior form LTSpice to PSpice. I reffered this link for the description Descriptions of OTA parameters

G=6u Iout=20u Ref=-1m Rout=1Meg Vhigh=0 Vlow=-3


Can anyone share idea to test cases in LTSpice for those parameters. How to validate those each above parameter that are affecting the output?

• This is a Q&A site, write a clear specific question, and you'll get an answer – Voltage Spike Jun 19 '19 at 14:56
• That’s a really tiny symbol outline for the size of the font. another reason I dislike LTSpice. @Pai , if output is a current source try to vary the current with input or with load R or use feedback R and measure gain and choose reference input within CM range – Tony Stewart Sunnyskyguy EE75 Jun 19 '19 at 18:10
• @SunnyskyguyEE75 I ran some test cases for Iout but as mentioned max Iout is 20u (assuming) it seems to be varying according to load R. I didnt get you to measure the gain.A help would be appriciated. – Pai Jun 19 '19 at 18:44

For the symbol you're showing, it's a simple G source (VCCS) with/without a parallel RC at the output. This is for the linear flag. In this case, Vhigh and Vlow don't actually limit the output, rather they specify the threshold over/beneath which the output is attenuated 2x.

If Iout is specified, its output is a tanh() transfer function, and Vhigh and Vlow are the soft upper/lower limits. You can use Isrc and Isink to make the current limits asymmetrical. This could be modeled with a behavioural current source with tanh(), with/without builtin Rpar/Cpar parasitics. For the asymmetrical case, you'll need to get creative in creating a complex equation with tanh().

If you're using the mota... symbols, those have two differential inputs, which are multiplied at the output, and there's also the ref parameter. In this case, the equivalent schematic complicates a bit, but could be done in a "one-liner" in a behavioural expression.

I recommend using the builtin OTA in LTspice, as it performs exquisitely and has no adversary since it's made to be a primitive element (even if specific to LTspice). If you want to implement it in PSpice, most likely you'll need a behavioural approach.

For the linear case, after fiddling a bit more with the OTA, the limiting is a bit more complicated. It appears that the breaking points are fixed, but the slope is dependent on the gain (g) and the output resistor (rout)? At any rate, if you want hard limiting you can use a VCCS with a table(), or maybe even an ideal diode with custom vfwd and vrev, and appropriate ron and roff (don't forget about epsilon and/or revepsilon for better convergence and, maybe, for a bit of soft-limiting). I'll have to dig up some more, but the asymmetric tanh() limited version has this formula (g=gain):

$$V_{out}=A\tanh\left(\frac gA*V_{in}\right)+B$$ $$A=\frac{V_{max}-V_{min}}{2}$$ $$B=\frac{V_{max}+V_{min}}{2}$$

This can be easily implemented in a behavioural mathematical expression, and no external limiting is needed since tanh() takes care of that, in a beautiful way.

As for the ota and mota, you have to think a bit differently: there is only one OTA, the one explained on ltwiki.org, which has two differential, multiplying inputs, and all those parameters. The symbols you see in [SpecialFunctions] are nothing but particuliarities of that one and only OTA: ota and ota2 are simply the OTA with only the first differential input (symbol displayed with the inputs as + and -, or - and +), mota and mota2 are the same OTA but now with both inputs -- one differential and one with positive input (they are multiplied one with another), same display (positive/negative inputs, or reverse), mota3 has the same functionality as mota and mota2 except the multiplying input is now a differential input, and mota8 is the full-blown OTA, shown with the additional two pins, the mystical V+ and V-, their functions not precisely determined yet (one has an attempt at an explaination on ltwiki.org). The parameters are common to all variants, since what you see in the symbol browser, or in the schematic, are nothign but symbols making use of that one and only OTA.

• Here is what i understood from your answer- 1] Vhigh and Vlow can be implemented by clamping output node to required potential. 2] Isink and Isrc can be incorporated but my concern is that it must follow the equations mentioned in the link / How to test this behavior of LTSpice OTA and verify theoretically (equations) and in simulation 3]What is difference between OTA and MOTA in general – Pai Jun 19 '19 at 19:10