How to robustly verify power rail sequencing

In a mid-high complexity design, you probably have 5 or more (maybe a lot more) rails to manage.   Those rails probably have sequencing requirements — in both the power up and power down directions.  There’s a good chance you have several district power states, and need to move between them.  

You need to verify that your supply sequencing is correct, across all power-state transitions.

Step 1 - make a printed “map” of the board

If you’re like me you probably have spent a lot of hours pulling up Altium finding where to probe a particular net for the 20th time.  Instead, try this:

Take good pictures of your assembled boards, on both sides.  The optimal way to do this, in my experience, is use a ring light (these are cheap) at a 90-deg angle, and take the photo with your phone.

Turns out a laser printer does a decent job printing these images — I most recently used the B&W High Contrast filter before printing - built into the Photos app on Windows.  For a large board you might need to split into several images, and ideally tape them together.  If you were thinking ahead you could get a large image printed online - would be nice to have this as part of the board release proceedure.

Taking a good quality PCBA image with a ring light.
Playing with the contrast to get a good BW print on a laser printer.
Marking up the printout.

Step 2 - set up a robust probing solution

It’ll be worth your time later to set up a probing solution that isn’t hyper delicate or that requires constant under-the-microscope soldering.  

Instead, pick a decent probe-holding solution and get set up right.  If you don’t already have one of these, get it right now.  Hell, you should get three of them. Seriously!

First probe set up. It gets messier from here.

Step 3 - probe all the rails and label them

Probe holding solutions like the PCBite are not perfect, but they are way better than nothing.  Take the time so that your probing isn’t going to fall over in the slightest breeze.  

If you have a usb cable, and/or other cables - make sure you’re set up to easily plug/unplug — without needing to plug/unplug them for the DUT!  Otherwise, your probing is going to be continually falling over.  You might consider a USB switch like this one, especially if you’ll be automating any sort of testing later.

Also - because this is endlessly confusing after the fact - take the time to label your inputs - both in the software, and ideally also with some labels directly on the wires. E.g. VBUS, 5V, 3.3V, 0.9V 1.8V_FPGA, etc.

Probing the various supplies
Label all the channels.

Step 4 - pull up the requirements

Ideally you have a great single-source-of-truth document set for your project, that includes a section dedicated to power, and power sequencing requirements.   If not, create it!

Personally I like to include lots of screenshots from the datasheets — it provides more easily observable “audit trail” that will help out your design review and hopefully prevent continuous thrashing through all the datasheets.  More on this topic another time.

Example power sequencing requirement from a TI datasheet. Not overly well articulated imo, so I'd suggest writing this out more clearly in your writeup, and/or sketch it out graphically.

Step 5 - Arrange the channels to match the rail sequence

Wouldn’t it be nice if you could just glance at the screen and see if the sequence was good?  Drag the channels into the sequence you expect.

Step 6 - make your board do its thing, while recording

You might have your recording constantly running all the time so you can see what’s going on — that’s what I do — but I like to restart the capture before doing something something I want to zero in on later.  Otherwise it might not be super clear later when “the beginning” was.

Now, power up your board.  Download the firmware, run the test script - make the board do its thing.

  • Start a fresh recording
  • Power up the DUT
  • Exercise various power modes as desired
  • Power down
  • Stop the capture

Step 7 - Kick back and observe the flawless supply sequencing

Now that you have a recording of all your rails over an entire “power cycle”, you can pan and zoom around checking that everything is as it should be.
Be sure to capture any errata in your single-source-of-truth-for-all-project-errata doc.   Grab screenshots of any issues and paste them in that doc.
Also, double check that you labeled all your signals correctly, ordered them correctly in the view, and that the sequence you observed actually matches the datasheet requirements.  

Zoomed in on the power-up sequence for some of the primary supplies.

Step 8 (optional) - think about how much better this process should be..

If you’re like me, doing this sort of thing brings to mind all sorts of ways this experience should be better.

  • Super easy way to figure out where your to place your probes
  • Super easy way to keep track of which probe is which net
  • Super easy way to have the software automatically check your rail requirements
  • Super easy way to clean up the presentation of these signals, e.g. so they are all overlayed with the same scale and different colors.
  • more...

All in good time.  

Joe Garrison

Joe Garrison

Co-Founder, Saleae
San Francisco, CA