SuperSpice and new component

And more are deleted :-)

Actually, LTspice seems to be getting slightly better, but is a board level simulator. If that's you're purpose, then fine. If you're doing IC's, it will soon disappoint.

It still doesn't seem to be able to handle simple hspice models for resistors and capacitors. (specified by w/l). These are simple things, but not needed for board level work.

I haven't tried using a multiplier ( m=) for bipolars, but this didn't seem to work when I tried it a while back in a bandgap. A multiplier isn't in the LTspice documentation for bipolars, so it's really not there anyway. Again, if you're not doing a lot of device level work using bipolars, this isn't too much of a problem. There are many things like this you run into when trying to use LTspice for IC's.

So LTspice is a board level simulator with nice graphics. There are many undocumented features in LTspice that people have reverse engineered, but a user shouldn't have to do that.

I looked at Simetrix recently and they can't do m= (mutipliers) on capacitors, so LTspice has them beat there. They have a native linux version though and that sure is tempting.

Both LTspice and Simetrix run well on my AMD 64 box under SuSE9.2.

Ltspice really does run well under wine. I was impressed. I didn't do benchmarks, so have no way of knowing at this point how the extra overhead might affect a long simulation. What impressed me most I think was the ease with which this software loaded and ran. As a new linux administrator (used unix for years), I've struggled with getting other software to run. Loading LTspice was a joy in comparison. 64 bits? No problem.

I tried recently to get ECS/Synario/Cohesion/Lakers_AMS schematic capture to run under SuSE9.2. It's libraries are dependent on Redhat V3 and gets glibc errors under SuSE.

Smartspice won't even let you try their software if you tell them you have anything besides Redhat V3. They don't support anything else. End of story. They're nice about it though :-)

Looks like I chose the wrong distro for my linux box. I'm going to have to switch over to Redhat since that's what the engineering software companies seem to have standardized on. From what I understand the different distros use the same libraries, but have arranged them differently? If true it makes one wonder if the word duh means anything to these folks. Then again, why is it some vendors seem to be able to write distro independent software for linux and while others can't?

Regards, Larry

Reply to
ldg
Loading thread data ...

Larry,

I have people upgrading from hspice to LTspice to for IC design. For accuracy.

--Mike

Reply to
Mike Engelhardt

in your dreams. :-)

Reply to
ldg

ldg, You harp about things that you know not about. LTSpice can run ANY netlist... you're just too much the amateur to understand how.

If only Mike would make his simulation engine talk to my venerable old MicroSim Schematics he'd likely have a convert.

...Jim Thompson

--
|  James E.Thompson, P.E.                           |    mens     |
|  Analog Innovations, Inc.                         |     et      |
|  Analog/Mixed-Signal ASIC\'s and Discrete Systems  |    manus    |
|  Phoenix, Arizona            Voice:(480)460-2350  |             |
|  E-mail Address at Website     Fax:(480)460-2142  |  Brass Rat  |
|       http://www.analog-innovations.com           |    1962     |
             
I love to cook with wine.      Sometimes I even put it in the food.
Reply to
Jim Thompson

Really? :-)

Didn't know I was harping. What things are you worried about? Just the parts about devices?

I said: o LTspice can't handle resistor and capacitors specified with w/l and models. (It can actually run resistors this way with various error messages, but it's undocumented.) You can use undocumented features if you like. I usually choose not to.

I have run circuits in ltspice with resistors to use the graphics, but always have checked the results with other simulators. I like using multiple simulators anyway as a cross check so this isn't unusual. I don't like seeing the error messages LTspice gives with these models.

Caps don't seem to work at all specified this way, but aren't supposed to:

Syntax: Cnnn n1 n2 [ic=] + [Rser=] [Lser=] [Rpar=]

  • [Cpar=] [m=] + [RLshunt=]

**********

LTSPICE test

********************************************************* ..model pp c cox=9e-04 capsw=2.5e-11 del=0.045e-6
  • tref=25 tc1=22e-6 tc2=0.0

*********************************************************

V1 1 0 pulse(0 5 5u 1n 1n 1) R1 1 2 1e5 C1 2 0 5p m=1 R3 1 3 1e5 C3 3 0 PP W=33.33U L=33.33U M=5

*c3 3 0 1p m=5 ..tran 1u 15u

..end

*********************************************************

Perhaps you can show me how to run this netlist in LTspice? It will run in smartspice just fine. I guess it literally "runs" in LTspice, but seems to give the wrong answer when the cap is specified by w/l and uses a typical foundry model.

A lot of this is preference. I did my own layouts for years and now hire others to do it. I've found it more accurate to design resistors and capacitors myself rather than giving the layout person so much leeway by specifying values. I also use the foundry specified models for these devices during simulation.

I'd be interested in how a professional organizes their workflow. How about teaching me a few things? As I recall you use the old Microsim schematic capture for layout and simulate in pspice. Is this the perfect solution (and we should all copy) or do you do this for some other reason? Do you do your own layout? What tools do you use?

o No M= on Bipolars?

********** Symbol Names: NPN, PNP, NPN2, PNP2

Syntax: Qxxx Collector Base Emitter [Substrate Node] model [area] + [off] [IC=] [temp=]

**********

I don't see it in the documentation. It may by now be an undocumented feature and I haven't tried this lately.

Again, you're free to draw as many parallel devices and work-arounds as you like. I'm trying to avoid this.

Thanks for any professional advice :-)

Regards, Larry

Reply to
ldg

Thanks Helmut,

This is very useful to know. You say it is in the LTspice documentation, but where? I know I'm needing better glasses, but I'm having trouble finding the [M=] in the above text. Is there other documentation posted for this simulator other than the help file?

Like I said, LTspice keeps getting better :-)

Regards, Larry

Reply to
ldg

Sure it can. In most Spices, it's done with subcircuits...

xR node1 node2 ModelName Params: L=100u W=2u M=4

HSpice and "Smart"Spice tend to run NON-SPICE-STANDARD notation just to be ass-holes and thwart portability.

But my particular schematic capture can write out netlists in multiple templates, so I can presently write in PSpice, LVS (for any layout editor) and SmartSpice/HSpice formats.

There IS an issue with computational notation, {...} or '...' , but that was solved this weekend (see below).

Done the same way as R's...

xC node1 node2 ModelName Params: L=100u W=20u (Some nutcases use an M here, I don't, it's confusing... for segmented R's I may adopt "S")

Same here.

Likewise. Amazing how fast a digital layout guy can screw-up an Analog layout.

(I have models for well over 100 processes/foundries.)

I'm a circuit designer, thus I THINK in values, NOT physical dimensions. Layout people like dimensions (naturally :).

I can netlist that way (using alternate templates), backing out the dimensions by Algebraic computations {...functions...}, but this doesn't help the layout guy (we like to minimize human intervention :).

So, this weekend, my oldest son wrote an executable for me that reads in a netlist, computes all the {...} and fills in numbers for L and W, making for a clean, untouched by human hands, LVS netlist.

After refinement, we will put it up for sale on his website.

Spice STANDARD is A= , but the literal is assumed, not written...

Q1 C B E [SUB} ModelName 5 **********

Just showed you how above ;-)

...Jim Thompson

--
|  James E.Thompson, P.E.                           |    mens     |
|  Analog Innovations, Inc.                         |     et      |
|  Analog/Mixed-Signal ASIC\'s and Discrete Systems  |    manus    |
|  Phoenix, Arizona            Voice:(480)460-2350  |             |
|  E-mail Address at Website     Fax:(480)460-2142  |  Brass Rat  |
|       http://www.analog-innovations.com           |    1962     |
             
I love to cook with wine.      Sometimes I even put it in the food.
Reply to
Jim Thompson

Actually, I was wondering how wine itself works as an emulator. I'm supposing it adds another layer between the application and the hardware and would incur some overhead. Is this not the case?

I sometimes find I have to run sims that take days. In these cases, speed counts.

So you have to solve the problem caused by the various distro vendors by writing different install scripts? I believe there actually is an attempt to solve this problem by normalizing the libraries so 3rd party software can always find them. This seems like a better solution, but so far the various vendors haven't complied. Redhat probably thinks their user base is "captured" by the way they have these libraries arranged. The other vendors apparently refuse to follow Redhat.

I'll have to look at this - thanks!

One of the issues with switching to linux is that 3rd party software vendors seem to not want to port their code to it. Nero did recently and has been taking flack because their code is proprietary. If the linux community wants linux to grow, they should encourage such things. It also means they should take steps to ensure easy operability between distros I think.

So far I've tried Fedora, Xandros, and SuSE. SuSE seemed to set up the hardware more easily, though Xandros was also very good. Using a memory stick on Fedora meant creating a special mount directory and going through that process. SuSE and Xandros seemed to just recognize a memory stick automatically. Only Xandros automatically set up Samba so that it would function on my lan with win2k machines.

Regards, Larry

Reply to
ldg

"[area]" is a number, it IS NOT SPECIFIED as M=, except in non-standard-conforming shit-for-brains simulators.

If you think HSpice is a good simulator you must be awfully young, or substantially isolated from the real world ;-)

...Jim Thompson

--
|  James E.Thompson, P.E.                           |    mens     |
|  Analog Innovations, Inc.                         |     et      |
|  Analog/Mixed-Signal ASIC\'s and Discrete Systems  |    manus    |
|  Phoenix, Arizona            Voice:(480)460-2350  |             |
|  E-mail Address at Website     Fax:(480)460-2142  |  Brass Rat  |
|       http://www.analog-innovations.com           |    1962     |
             
I love to cook with wine.      Sometimes I even put it in the food.
Reply to
Jim Thompson

"ldg" schrieb im Newsbeitrag news: snipped-for-privacy@4ax.com...

Hello Larry, the multiplier for Q is now in the LTspice documentation and it's implemeted. I wonder why it is exactly the same text as you posted.

---- From the manual -------

Q. Bipolar transistor

Symbol Names: NPN, PNP, NPN2, PNP2

Syntax: Qxxx Collector Base Emitter [Substrate Node] model [area] + [off] [IC=] [temp=]

---- End ----

To all here, don't make personal attacks. It doesn't help the technical discussions.

Best Regards, Helmut

PS: I am not an employee off Linear Technology.

Useful links:

LTspice/SwitcherCAD:

formatting link

User group:

formatting link
I am one of the two moderators of this group.

Reply to
Helmut Sennewald

I used to do such things when I used pspice. It causes you to look for ways around its limitations. Unless doing a subcircuit adds accuracy to the simulation, it's difficult for me to understand how doing this is better.

Once in a while I use a capacitor symbol, for instance, that calls a subcircuit to add stray to ground. This stray is constantly present in an IC and if you don't account for it, it can cause real problems. It isn't needed all the time, so I just change the pointer to another symbol in another directory and it netlists out normally.

Done the same way as R's...

xC node1 node2 ModelName Params: L=100u W=20u (Some nutcases use an M here, I don't, it's confusing... for segmented R's I may adopt "S")

***********

It's less confusing to place the same capacitor over and over again? If you say so.

Lets say you were drawing a 6 bit switched capacitor mdac. This means you have to draw 1,2,4,8,16,and 32 cap arrays (in subcircuits perhaps?). Or you could do one of your workarounds and create the m= function yourself I suppose. Then you'd have to figure out how to do an lvs netlist for layout. You also could simply make the caps sequentially larger, but I know you wouldn't do that because of matching issues and the chance of confusing the layout person.

In any case, if I have a choice of simply adding m=32 on a cap, I'll do this instead. If the schematic capture supports iterated instances, I've also created these arrays by adding the appropriate instance name on the device. C[0:31]

Regards, Larry

"nutcase"

Reply to
ldg

Really? How interesting. It's not an accepted spice "lexicon"?

Since Helmut says this has been implemented in LTspice now, this simulator also is bad?

So using a 6 bit dac example again, you wouldn't weight the transistors 1,2,4,8,16,32? Or you would just place 64 transistors?

Perhaps you'd write a subcircuit to create the M= function yourself? Or maybe you'd try to make the transistors physically larger so the current densities would match?

The dacs I've done seemed to be help greatly by doing these arrays. It also seemed to me that if you want things to match they should be the same, hence the arrays. Using M= greatly simplifies this.

Regards, Larry

Reply to
ldg

So you have different models for different sized devices?

Reply to
ldg

A "resistor" is a NATIVE Spice device. If it has more than two terminals, or has parameters, it's a "subcircuit".

Since I have 100's of clients and 100's of models, I create my own symbol set with Templates appropriate to the process.

For instance I don't just place an NMOS device, I place an XFAB-NMOS, so that its strays are properly computed per the process.

Sorry, I went back and placed the modifier after the wrong device. I use M= on capacitors all the time. I have so many different types of capacitors (in silicon) that I probably have 20 different symbol types.

I just find M= for resistors confusing... parallel?? or serial??

Naaaah! You missed the BEAUTY of my schematic capture. The simulation TEMPLATE and the LVS TEMPLATE are different.

For instance, MOS devices, in the LVS netlist have no AD, AS, PD, PS, etc., but do in the simulation netlist.

I can do that too, but generally limit such notation to buses.

I presume you mean, by "nutcase", that you've never really used a good simulator ;-)

...Jim Thompson

--
|  James E.Thompson, P.E.                           |    mens     |
|  Analog Innovations, Inc.                         |     et      |
|  Analog/Mixed-Signal ASIC\'s and Discrete Systems  |    manus    |
|  Phoenix, Arizona            Voice:(480)460-2350  |             |
|  E-mail Address at Website     Fax:(480)460-2142  |  Brass Rat  |
|       http://www.analog-innovations.com           |    1962     |
             
I love to cook with wine.      Sometimes I even put it in the food.
Reply to
Jim Thompson

Nope. Get out a 2G6 or 3F5 manual.

No. Knowing Mikey, I would bet the farm that he's implemented ANY variation of the scheme, to allow netlists from any source.

I'd just place the number after the ModelName per the standard. No M= called for.

...Jim Thompson

--
|  James E.Thompson, P.E.                           |    mens     |
|  Analog Innovations, Inc.                         |     et      |
|  Analog/Mixed-Signal ASIC\'s and Discrete Systems  |    manus    |
|  Phoenix, Arizona            Voice:(480)460-2350  |             |
|  E-mail Address at Website     Fax:(480)460-2142  |  Brass Rat  |
|       http://www.analog-innovations.com           |    1962     |
             
I love to cook with wine.      Sometimes I even put it in the food.
Reply to
Jim Thompson

What part of "place the NUMBER after the ModelName per the standard" do you have a problem with?

Q1 C B E [SUB} ModelName 5

Reply to
Jim Thompson

I see, ok

but i have another problem now: convergence :(( I have found in manual that you could set initial guess for some voltages and currents that helps iteration process.

where do I enter this in superspice? (I'm hoping that guessing will help iteration)

I've got 19 of those nonlinear components we talked about (I=const/V). With smaller circuits (12 of them), everything is ok

All I need is operating point analysis and for relativelty large voltages (~30V) and currents (~1A)

Reply to
Pera Mitic

I made a mistake, there are 29 of them. When I remove just 3, it works. Maybe that means its not possible in reality to supply all of them?

I need one more thing (less important): is it possible somehow to set values of all resistors to =const*R ? (I have to calculate resistors, for eg. R1=150m *0.00528 Ohm/m it would be a lot easier to simply enter meters and let your program calculate resistance)

-- Qmnon fgr ebg-binyv

Reply to
Pera Mitic

I misread your post. Sorry. I see that you're using as a multiplier.

This spice "lexicon" really isn't such a good standard, is it? To me it would be better to have one syntax for a multiplier that can be used across the devices. Hspice and smartspice seem to have settled on m= for this. In fact, multiples are calculated by multiplying area*m with 1 being the default for both.

If I could summarize, so far your professional approach seems to be using subcircuits to get around Pspice simulator issues which you justify the need for by pointing out that the original spice didn't have more functionality anyway? Or did I miss something?

Many (maybe all?) of these work-arounds simply aren't needed anymore and are things I used for years, then rejected when a simpler approach became available. Some call this progress. Others call it an improper spice lexicon or some such thing.

You also seem to take great pride in creating all of these pspice compatible model files from the original foundry files. I prefer not to edit the foundry given model files at all and treat these files as "gold". It also makes it much simpler to incorporate updates.

LTspice parses the foundry models files without all the modifications, so it would be preferable to your approach I'd think.

Regards, Larry

Reply to
ldg

Hi Helmut,

Is [area] the multiplier you were referring to? Sorry if I misunderstood your post.

I've gotten used to using m= in Smartspice for all devices. I guess I like the uniformity.

Regards, Larry

Reply to
ldg

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.