Monday, June 18, 2012

A glimmer of simulated success

I think I'm starting to understand SPICE a bit better. Sorry, though, no pics today.

I noticed that the rise and fall times in the Phillips BSS83 model were impossibly fast. Impossibly high dV/dT would imply impossibly high currents, and impossibly high currents would mean the smallest inductance would generate impossibly high voltage spikes. I decided to try wrapping the BSS83 model with a subcircuit that would add capacitance on the inside of the various intrinsic resistances, thereby slowing all the signals to realistic speeds. And it worked!

My bench comparisons show the BSS83 gate acts a lot like a 7.5pF capacitor. So I added 3.75pF between gate and source, and between gate and drain. I removed the RD= and RS= statements from the .MODEL card and added them explicitly in the subcircuit between the interface nodes and the .MODEL nodes. I also threw in a small gate resistance. And what do you know! My simulation of a chain of RTL inverters runs! It's even starting to look like the bench curves.

Not content with that, I tried the new subcircuit in a simulation of the first two stages of the 4004's 8-phase timing generator. That didn't work so well, but now I had reason to look at more than the BSS83's model. One thing that caught my eye is that the timing generator has a number of floating nodes -- nodes that are driven by driving the gate of a transmission FET high, and then allowed to float when the gate goes low again. You'd never do that in a modern design, but in the 1970s such dynamic logic was commonplace.

Maybe SPICE was getting hung up on that? There's a SPICE card you can add to the deck that allows you to specify initial conditions. So I added .IC cards for each of the four floating nodes. It worked!  At least in general.

I still have some cleanup to do: the BSS83's gate threshold voltage is given as "0.1V < Vgs(th) < 2.0V". Gee, thanks for being so specific! The model says 2.0V, but my tests show it's roughly 1.25V. Also, the FDV301N appears to be about 25pF rather than the 153pF in the model. I'll need to pin these down and tweak the models.

No comments:

Post a Comment