Did you ever need a new board coming off the production line yesterday and it wouldn’t boot? It didn’t even try to come up and gave you no hint why? Typically you’d connect a debugger tool to see if you could get some signs of life. You might put some code into memory to start running some tests. But there’s no response from the processor and you can’t access any of the memory parts on the board. You’re stuck…
Maybe you’ll go to the X-ray team and try to ‘see’ the problem, but you’ll find that it isn’t as easy as you had hoped. Then the ICT guys might have a go at it for you, if they even have fixtures. Probably, they are either waiting for fixtures or you find out that they don’t have all the test points needed to verify all the BGA connections on your multilayer board. So what do you do now?
Today most high-end processors have implemented the IEEE boundary-scan 1149.1 (JTAG) standard and some of its extensions, like 1149.6 testing of high-speed devices. In a board bring-up environment, boundary scan gives you the ability to immediately get a feeling for how dead the board actually is. The first thing you’ll find out is whether the boundary-scan chain is intact and working. In most cases, this will also verify the debug port, since they commonly share pins on the processor. If the scan chain is alive and OK, you’ll likely connect your debugger — Great stuff! If not, then the boundary-scan tool can show you the fault on the scan chain or at least give you a hint as to which device on the board is not soldered down properly.
Then, when the scan chain is up and running, you can run the automatically generated interconnect test. On a typical design the interconnect test will find shorts and opens on parts and nets connected to processors, DRAM memory, flash memory, bridges and other critical interfaces. Once you’ve found and debugged the faults and gotten them out of the way, you’ll likely be able to run some code on the processor and start your functional testing and validation. Or you can continue to program the empty on-board NOR/NAND flash or PLD/FPGA with your own code. Now you’re running!
Even if the processor doesn’t support boundary scan, your FPGA and other major devices on your board will. So is it worth the effort? We think so.
With contemporary boundary-scan tools these tasks are done very quickly. You’ll spend a few hours – maybe a couple of days at the most – and benefit by saving weeks of debugging time in the end. It’s worth a couple of hours investigating your options. Have a look at the boundary-scan tools on the ScanWorks platform for embedded instruments.
If you are new to boundary scan, you might consider downloading our tutorial on boundary scan. Click on the following: http://www.asset-intertech.com/registrations/Boundary-Scan_Tutorial_registration.html