View Single Post
  #5   Report Post  
Posted to sci.electronics.design,alt.binaries.schematics.electronic,sci.electronics.cad,sci.electronics.basics
Tim Wescott[_5_] Tim Wescott[_5_] is offline
external usenet poster
 
Posts: 119
Default Interesting Simulation Problem

On Sat, 22 Mar 2014 17:13:41 -0700, Jim Thompson wrote:

Lots of bad-mouthing about simulation of circuits, but here's a real
world problem for you...

Suppose you have a circuit made up of 10,000 NMOS and 10,000 PMOS
devices plus a few resistors, capacitors and PNP's thrown in to make an
ANALOG circuit.

Said ANALOG circuit goes in a medical-implant environment and, to
conserve power, it is only turned on periodically, does its task, then
goes back to "sleep" for an extended period of time.

During this "sleep" period we want to ensure that only picoamps flow
during the "sleep" interval, so we devise various disconnect and
shorting devices that make sure everything is turned off.

What is always worrisome to the designer is how to ensure all possible
sneak paths are blocked, and that no nodes can FLOAT around and
ultimately turn on something by chance (it's really easy to turn on an
MOS device if its gate is floating).

So the question... in simulation we hit the "sleep" switch and then
check all nodes to make sure nothing is floating.

Visually we can do that in simulation. In PSpice all nodes can be lit
up showing the potential on each.

The snag is PEOPLE... how do we make sure we have checked every node?

More particularly, can anyone devise a way that we could automatically
find floating nodes?

I know the almighty Oz has declared simulation a crutch, but how do you
really verify what I've described... at LEAST 30,000 nodes to check?

...Jim Thompson


Can you run your SPICE file through a perl script or similar that appends
a current source to every gate?

Then set the thing to sleep mode, turn all the current sources on, and
see if any voltages rise.

Alternately (if the thing isn't already done), build it up with
subcircuits that include the current sources that can be turned on.

I don't think you want the current sources on all the time -- that would
mess your simulation up at other times -- you just want the current
sources on when you're verifying that sleep is really sleep.

Come to think of it -- you want to do a run with each current source
turned on INDIVIDUALLY. All 30000 of them. Ho boy -- you are getting
paid by the hour, right?

--

Tim Wescott
Wescott Design Services
http://www.wescottdesign.com