Wednesday, December 12, 2012

Analog test-anti-test path

Earlier in Street Smart Analog Lingo I mentioned an analog test-bus or analog test-path.  These animals are excellent for debug of silicon, particularly deep-submicron where probe pads are REALLY Huge.  A 2u probe-pad was no big deal back in the day but that area is really useful in geometries below 0.13u.

The test-path issue came up recently so I figure I would blog about this useful debug tool.

The Good:
DC analog signals such as currents and voltage references can be sent on/off chip helping to isolate DC bias problems.  An "analog mux" is placed on the test-bus normally each block has a little mux that allows a signal to be passed from the INSIDE to a PAD on the outside of the chip. Outside of the chip the appropriate test-device or current/voltage source can be attached to the test pin.  This is useful for tuning in band-gaps, bias generators and debugging low-freqency clocks or slow-speed ADCs. 

High-speed (differential) signals can also be sent out an analog test-bus.  These are trickier to deal with but I have seen an 800MHz test-bus employed on an 12Gbps receiver.
(ISSCC 2006 - Keyeye 12Gbps).  That test-bus had a dedicated output buffer created from a thin-oxide PMOS transistor.  This was a "source-follower' with the off-chip resistor being a several-K Ohm resistor.  With the correct (~10V) power-supply, the circuit could be tuned to an impedance of 50 ohms to match the board trace.   The poor-little transistor was biased well beyond 10 year lifetime limits however it allowed us to "tune-in" our analog DFE, NEXT and ECHO cancellers.  This circuit also made a fine figure for our ISSCC paper.  We achieved about 8 bit linearity with a bandwidth of near 800MHz.  If you left it on too-long or raised the voltage too high the chip would blow.  The eye got cleaner until it popped.  Later on we included EQ on scope capture data to reduce the burn-out problem.

Medium bandwidth signals can also be sent through a mux into a front-end of a receiver.  The transformer in an Ethernet chip had a dual-purpose as a balun.  You could put a single-ended RF generator (with associated filter network) on the differential input side of the transformer.  Then on the "chip side" you could adjust the center-tap to give whatever common-mode was required for the internal block being tested.  A "leap-frog" test-path was included to send the signals to the various front-end blocks helping to debug harmonic-distortion problems, AGC ranges, low-pass filter bandwidths and ADC linearity.  This path should be simulated before tape-out.

One advantage of an analog test-bus is that you can always disconnect it in a metal-rev, so reliability is not a concern, especially in the early stages of  analog-front-end (AFE) bring-up.

The Bad:
I have also seen the analog test-bus cause failures.  These are subtle but this is the point of street smart analog.  The test-bus needs to be verified like any other circuit.  Neglecting to do so can cause bad things to happen.

The ultimate sin of the "test-bus" is to reduce the performance of the circuit's primary function.

Failure #1:  Some pads on chips have voltages that go "above the rail".  These are called "open-drain" where an off-chip pull-up resistor or transformer is required off-chip to supply current.  A common mistake is to connect a  PMOS switch to the pad with body tied to the chip supply.  If you take a PMOS terminal above the highest supply, a diode will turn on inside the chip and steal current with its characteristic nonlinear temperature dependent way often puzzling the layman.  Also these parasitic diodes can blow.  We learn in college that the PMOS body needs to be connected to the highest supply.  (source-body connections also have pitfalls and are do-able, but tricky and may affect a circuit in its normal mode.)  So as a general rule, unless you really have to, never us a PMOS switch, especially if you have an open-drain or a transformer.  Dan Ray said "No P on the Pad".  Notice my " ad", it has no P.

Failure #2:  Bad neighbor behavior.  What I mean by this is that several blocks normally share an analog test-bus such as a "DC" bus.  There is a desire to prevent noise from coupling back in from the test-bus so often we would employ a "T" switch.  This is a switch that consists of a T network with three switches.  When the bus is "off", the middle switch prevents noise coupling through.  When the test-bus is "on" the middle switch is off and the two outer switches connect internal node to the outside.  I have seen a case where someone left out one of the switches in the T.  So when the test-bus was disabled, it was pulled to ground preventing other blocks from using it.  So if you have an analog test-bus, a "test-case" should include "open". I would do this by loading the test-bus with a 1Meg resistor in sims to a voltage mid-rail in simulations.  You can also pull the resistor above the rail (on an open drain pin) to check for P on the pad if that is a concern.

Failure #3: Low priority verification.  The first shot at that 800Mhz differential test-bus did not work all that well.  We had hired an excellent consultant to design repeater to send a signal to the source-follower pad.  This IP never did make the first tape-out.  The focus was on tape-out and verification of the main function, but prevented debug later on forcing a quicker spin.  So if you are going to put a test-bus in, you should "Do it like you mean it" and verify it too.  If there are buffers they should be reviewed and plot reviewed.  The test-bus methodology should be done "up front" in the design and not snuck in at the last moment, since it could ruin your floor plan.  Thinking ahead and planning are always a good idea when it comes to analog chip design.  You can try to substitute long hours but you'll always lose to the thinker-planner.  Think tortoise and hare...

Keyeye Ref:  http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=1696054

No comments:

Post a Comment