gEDA netlisting for NGspice Code Models

From Eugene Maker Space
Code Models
Jump to navigation Jump to search


I came up with a little patch against the current gEDA cvs that allows for a custom format string in the spice-sdb backend for the gEDA gnetlist util. This allows you to seamlessly use code models in your spice simulations. Code models can be useful if you want to quickly cobble together a test environment for your circuit. Here are some examples:

Oneshot

V2 (red) is the clock input, when it goes high the oneshot starts a pulse the length of which is controlled by the CTL input which is from V1, the blue sloping line. As it goes higher the green output pulses get longer.

The new net-format attribute holds the custom format string. Net-format can be an unpromoted attribute in the symbol. When you make a new symbol you chose which I/O pins are single ended or differential, and set your format string appropriately. Since my version of the oneshot uses all differential IO its format string looks like this: %vd(~a ~a) %vd(~a ~a) %vd(~a ~a) %vd(~a ~a).

Integrator

The blue input sine wave and it's red integral. Notice how the integrator symbol has differential input and single ended output? It's format string looks like this: %vd(~a ~a) ~a .

Differentiator

The blue input sine wave and its green derivative.

Links:

You can find documentation on NGspice code models here: http://ngspice.sourceforge.net/docs/ngspice-manual.pdf

-- Main.ClifCox - 2011-01-13