PING Kevin Ayward

Kevin, As you are a simulator expert, I have a question for you...

If I have a _bounded_ source driving an Algebraic multiplication, is the result bounded (in simulators :), or should I bound the multiplier element as well?

My gut feeling is that I don't need to, but I'm just being safe. ...Jim Thompson

--
| James E.Thompson                                 |    mens     | 
| Analog Innovations                               |     et      | 
 Click to see the full signature
Reply to
Jim Thompson
Loading thread data ...

Spice3 don't bound hardly anything. If the bounded output driving something can go unbounded with that bounded input, then you should bound the output of the following device. Its a probability of failure thing.

I know as fact that I got a non convergence when I feed sinh() with values such as 500. That's why I did the double tanh(). Essentially, everything needs to be in valid double precision range. Physical signals will never go above single precision of 1e38, so there is no harm in grossly bounding signals.

I consider it an omission in the design of spice to allow values that can not happen in real circuits. In fact the XSpice enhanced aswitch made an attempt to improve convergence by having a smooth resistance, but it failed. Overdriving the input generates resistances approaching zero. I haven't gotten around to fixing it yet, but I have made a smooth, bounded vswitch as noted here.

.SUBCKT bsw_XN in !1_a !2_b ron=1 roff=100G vt=0.5 k=10

  • _SS_Symbol [Behavioural.ssm] [BSW] V!2 !2_b b 0 V!1 !1_a a 0
*k controls how fast switch resistance changes around the switch point Vt .param gm_min={1/roff} .param gm_max={1/ron} B1 a b i=v(a,b) *( {gm_min} + 0.5*{gm_max - gm_min}* (1 + tanh( {k}*v(in) - {k*vt} ) ) ) .ends

It does what you think it should do.

Expensive Cadence Spectre R.F. has this sort of problem. I am currently running PSS and Phase noise simulations. I know as fact that it has trouble converging without having clamp series zenor diodes across the inductors.

Kevin Aylward B.Sc.

formatting link
formatting link
- SuperSpice

Reply to
Kevin Aylward

My VswTANH does the same except I have gm_min = gmin

I worked a recent project using Cadence Virtuoso. What a pain :-(

...Jim Thompson

--
| James E.Thompson                                 |    mens     | 
| Analog Innovations                               |     et      | 
 Click to see the full signature
Reply to
Jim Thompson

If you don't mind me asking, what compiling tool (language) bundle did you use to construct your SS. ?

Jamie

Reply to
Maynard A. Philbrook Jr.

The GUI is all in M.S. Visual Studio C++. Currently on version 2008. It started on version 1.5, then to Version 6 as 32 bit. I converted it to 64 bit 4 years ago. Took about a week. The XSpice code is compiled and run as a separate exe engine. Major advantage is no memory leaks. Windows takes it all back after it runs and quits.

I also use a class library from Codejock. This does all the docking windows and moveable toolbars stuff.

Kevin Aylward B.Sc.

formatting link
formatting link
- SuperSpice

Reply to
Kevin Aylward

Sounds good, I work mostly in Delphi or latest package of look alike delphi and I also have VC++ which I have some code but not any GUI stuff with it. I also have Builder C++.

I stay away from .NET apps, tried a few via conversion of existing apps and no thanks, causes lag problems in time critical apps.(Automation)

Jamie

Reply to
Maynard A. Philbrook Jr.

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.