IBIS Models Explained

If you’ve worked with circuit simulation, you may have run into IBIS models. The acronym is input/output buffer information, and while you can do a lot without having to deal with IBIS, knowing about it can help you have a successful simulation.

IBIS is an industry-standard format that uses ASCII text to describe voltage versus current and voltage versus time about some device’s digital input and output pins. This allows precise simulation without revealing the device’s internals, which is important to some vendors. The first post of this two-part series talks about what IBIS is and how it got started. The second part explains creating and using LTSpice to create your own IBIS models. It also covers why you might want to do that.

Of course, if you don’t care about revealing the internals of a device, you could just create a Spice simulation. However, many tools will accept both models, so it is useful to know how to produce either kind of model. In fact, to create an IBIS model, you’ll want to use a Spice model to generate the data for the IBIS model, so it is a good bet you’ll have both, even if you choose to only publish the IBIS models.

If you need a refresher on Spice, we have a series. If you prefer using something different, try Micro-Cap 12, which was commercial, but went free a few years ago.

OpenSPICE: A Portable Python Circuit Simulator

[Roman Parise] and [Georgios Is. Detorakis] have created OpenSPICE a fork of the PySpice project, adding a new simulation engine written entirely in Python. This enables the same PySpice simulations to be executed on any platform that runs python (which we reckon is quite a few!) whilst leveraging the full power of the python infrastructure. Since it is a fork — for supported platforms — you can also run your simulations upon Ngspice as well as Xyce, giving options for scaling up to larger systems when required, but importantly without having to recreate your circuit from scratch.

The OpenSPICE simulator first converts the parsed netlist into a set of data structures that represent the equations describing the various parts of the system. These are then in turn passed along the scipy library “optimize.root” function which solves the system, generating a list of branch currents and node voltages. The output of the simulation is a numpy array, which can be further processed and visualized with the mathplotlib library. All pretty standard stuff in python circles. Since this is based upon PySpice, it’s also possible to use KiCAD netlists, so you have a nice way to enter those schematics. We’ve not dug into this much yet, but support for the vast libraries of spice models out there in circulation would be high up on our wish list if it already can’t handle this. This scribe will most definitely be checking this out, as LTSpice whilst good, is a bit of a pain to use and does lack the power of a Python backend!

Continue reading “OpenSPICE: A Portable Python Circuit Simulator”

30 Free Circuit Simulators Lightly Reviewed

We live in a time where great software is available with the click of a mouse, often for free or — at least — low cost. But there’s a problem: how do you select from so many alternatives? We were interested in [Lee Teschler]’s review earlier this year of 30 free circuit simulators. If you are selecting one or don’t like the one you are currently using, it is well worth the time to review.

There are several on the list that you’ve probably heard of before like GNUCap and LTspice. There are also some lesser-known products. Some of those are just trial or student versions of paid products. Some are branded versions of commercial products (like Tina) or were made free after selling for higher price tags (like MicroCap 12).

Old favorites like Falstad (which is apparently known as Circuit Sims) and TinkerCAD made the list. Many of the trial versions were very limited. For example, DCAClab only provides an NPN bipolar transistor model. Proteus doesn’t let you save or print unless you pay. While the list includes TI’s Tina, it doesn’t seem to mention that TI also provides a free version of PSpice which is a very popular professional product.

While the capsule descriptions are nice, you may want to dig in a little on the ones you are most interested in. For example, Falstad has a great mixed mode that can even include an AVR microprocessor. But there were a few on the list we had not heard of and maybe you’ll find something new there, too.

Photovoltaic Cells In LTSpice

We like to build things using real parts. But we do think the more you can model using tools like LTSpice, the less time you can spend going down dead ends. If you need to model a common component like a resistor or even an active device, most simulators have great models and you can tweak them to have realistic parasitic effects. But what if the component you want isn’t in the library or doesn’t have the fidelity you want? [FesZ] wanted to model photovoltaic cells and had to build his own model. The resulting two videos are well worth watching.

Building your own models in Spice isn’t necessarily very difficult. However, knowing exactly what to add to model different real-world effects can be challenging. The videos do a good job of showing how to mutate a simple diode into one that produces current when exposed to light.

Continue reading “Photovoltaic Cells In LTSpice”

LTSpice Tips And A Long Tutorial

We always enjoy videos from [FesZ], so when we saw his latest about tips and tricks for LTSpice, we decided to put the 20 minutes in to watch it. But we noticed in the text that he has an entire series of video tutorials about LTSpice and that this is actually episode 30. So there’s plenty to watch.

Like any tips and tricks video, you might know some of them and you may not care about some of them — for example, the first one talks about setting the colors which is a highly personal preference.  But it is a good bet you’ll find something to like in the video.

Continue reading “LTSpice Tips And A Long Tutorial”

Class A Amplifiers, Virtually

If you didn’t know better, you might think the phrase “class A amplifier” was a marketing term to help sell amplifiers. But it is, of course, actually a technical description of an amplifier that doesn’t distort the input waveform because it doesn’t depend on multiple elements to handle different areas of the input waveform. Want to know more? [FesZ] has a new video covering the basics of class A amplifiers including some great simulations. You can see the video below.

A class A amplifier uses a transistor that is always biased on. It never saturates or switches off. This is good for linearity, but not always the best for efficiency so there are other classes of amplifiers, too. However, for many applications, class A is the most common configuration.

There are a number of trade-offs involved with each type of amplifier and [FesZ] covers them in detail. But the real interesting part is the simulations in Spice. Sure, you can build the circuits and look at everything with a meter or scope, but using Spice is much handier.

There is a second video upcoming. We hope he covers other amplifier types too, as you really do want to understand the differences when you need to design something. If you want more Spice stuff, check out some of our previous posts. If for some reason, you don’t like LTSpice, there’s always Micro-Cap 12.

Continue reading “Class A Amplifiers, Virtually”

Custom Components In LTSpice

If you enjoy simulating circuits, you’ve probably used LTSpice. The program has a lot of powerful features we tend to not use, including the ability to make custom components that are quite complex. To illustrate how it works, [asa pro] builds a potentiometer component that is not only a good illustration but also a useful component.

The component is, of course, just two resistors. However, using parameters, the component gets two values, a total resistance and a percentage. Then the actual resistance values adjust themselves.

Continue reading “Custom Components In LTSpice”