Diagnosing BGAs with JTAG and ScanWorks
By Arden Bjerkeli
Director of Customer Applications Support
ASSET InterTech, Inc.
Test engineers often feel like they're caught between a rock and a hard place when they're trying to diagnose faults on circuit boards with components in ball grid array (BGA) packaging. They feel that way because many times that's where those hard-to-find and impossible-to-see BGA faults are: caught between the device and the printed circuit board.
Fortunately for the ScanWorks community, the ScanWorks JTAG / boundary scan test system excels at finding, isolating and diagnosing faults where test pads are few and far between and where device pins are hidden under the die. Most circuit boards that feature BGAs are densely populated with components. Because board real estate is at a premium, there are few, if any, test pads on the board. And, the presence of devices in BGA packages only exacerbates the problems engineers face when they try to diagnose faults. The bonding balls for a BGA device are under the chip itself and are not visible to the human eye or to optical inspection equipment. Since JTAG / boundary scan is an access-free, electrical test technology, ScanWorks can be a very effective tool at diagnosing BGA-related faults.
Diagnosing Faults and Failures
There are three distinct purposes for electronic test: detecting failures, diagnosing faults to the level of a replaceable unit and diagnosing faults to the level of their root causes in order to prevent future failures. The various test technologies that are available today, such as functional test and structural test techniques like JTAG / boundary scan, in-circuit test (ICT), X-ray inspection and others can supplement each other to achieve all three facets of electronic test and diagnostics. But, in the final analysis, JTAG / boundary scan has certain capabilities that no other test technology has and these qualities make it particularly effectively at diagnosing BGA faults.
Functional tests are designed to ensure that the product can perform the designer's intended functions. As such, functional test may detect classes of failures that structural test may not detect. For this reason, functional test set-ups, which typically implement several types of test technologies, are usually an important part of a design's test strategy. Unfortunately, while functional test can detect functional failures effectively, it is not so effective at taking the next step and diagnosing failures or faults to the replaceable unit or to their root causes.
For example, a test technician may run a functional test routine and determine that a failure occurred on a circuit board. The type of function that failed may suggest to the technician that the problem came from a BGA on the board, but the results of the functional test do not tell the technician where the fault is or what it is. For instance, a short or an open could be under the device package, or the device itself could be bad, or a short/open could be located some distance from the BGA.
In a case like this, the test technician is faced with a dilemma. He can remove the BGA from the circuit board to determine whether there is a fault underneath the die, but, in doing so, he will in all likelihood damage the bonding balls and will either throw the chip away or incur an added expense to re-attach the bonding balls to the die.
In addition, removing the BGA device will destroy any visible evidence of where the fault might have been, important information in determining the root cause of a recurring functional failure. In the end, the technician could decide to replace the BGA device on the circuit board, run the same functional test routine and observe whether the failure has been fixed. If it hasn't been fixed, the technician might begin to wonder whether the fault is somewhere else on the circuit board or whether he replicated the same fault underneath the BGA a second time. Furthermore, since it is often undetermined whether the nature of the fault was structural or functional, the quality of the BGA that was removed is still unknown. The ambiguity and frustration mounts geometrically for the test technician or engineer.
Structural Diagnostics
Structural test technologies like boundary scan or ICT are able to detect shorts and opens, and, more importantly, diagnose where they are. Unfortunately, ICT requires that the circuit board have test points designed into it. The ICT system needs these test pads for its physical probes. Typically, designs that deploy small components in BGA packages do so because board real estate is scarce. As a result, test points are typically hard to come by and the use of ICT equipment for structural test and diagnostics may be quite limited.
In contrast, the ScanWorks JTAG / boundary scan system does not need any test points on the board. Test vectors can be scanned to the BGA from connected devices to determine whether shorts or opens are present. Boundary-scan tests for opens can often determine which termination of the net is open, even if the termination is under the BGA. In some cases, a net may have terminations under multiple BGAs, so knowing the exact location of the open can prevent the removal of the wrong BGA.
Pinning Faults Down
A single fault on a net that has three or more terminations can usually be diagnosed to the failing pin. For example, Figure 1 shows a net that is typical of a data bus or an address bus. Assuming that there is an open at the termination under U1, a vector that causes U1 to drive the net low would have no affect on the receivers at U2 and U3, since the pull-up resistor on the net would hold them high. The response vectors for the input cells of U2 and U3 would lead ScanWorks to indict the output pin of U1.
In another scenario, U1 might have no fault, but there could be an open under U2. In this case, low and high signals driven by U1 would be detected at U3, but they may not be detected at U2. The input at U2 would be undriven, but impedance internal to the device would likely prevent the input from sensing both states driven onto the net. Therefore, the unexpected response vector for the U2 input pin would lead ScanWorks to indict the input pin of U2.
If each termination is a boundary-scan cell of the type BC_7 (bidirectional with output control), additional vectors could reinforce a diagnosis, removing any doubt about which termination has a fault. In this case, any of the three devices can act as the driver, while the other two act as receivers. The ScanWorks' automatic test program generation (ATPG) capabilities will cause each cell to be tested as a driver and a receiver, unless instructed otherwise. Assuming again that there is an open under U1, U3 would drive the bus low and high, and this would be sensed at U2, but not at U1. Combined with the first test, where U1 was the driver, the two tests would come to the same conclusion.
If the fault is located at the pull-up resistor, instead of under the BGA, a pull-up test can also prevent a fault from being misdiagnosed. If U1 first drives the bus low and then immediately allows the bus to float, the receivers at U2 and U3 should sense a high on the next scan, but they may not if the pull-up connection is faulty.
There are some cases where ambiguity can not be avoided, but these are not common. Two examples of ambiguous conditions are the following:
- If a net has only two terminations, a fault at one termination will cause the same behavior as a fault at the other end.
- If a net has multiple faults, the diagnosis can be ambiguous. For the sake of example, assume that the termination under U1 is an output-only cell, that the terminations under U2 and U3 are input-only cells, and that no pull-up resistor is present. If there were open solder joints on the net under both U2 and U3, the results of a test could be identical to a case where a single open existed at the termination under U1.
However, in most cases a boundary-scan test will result in proper diagnosis on the first try, reducing the chance that a fully functional, fault-free BGA would be removed.
Finding Root Causes
Process engineers frequently want to take this one step further and find the root cause of shorts and opens so that flaws in the manufacturing process can be corrected to eliminate recurring faults. When this is the case, X-ray inspection can be used in tandem with ScanWorks' JTAG / boundary scan tests to diagnose root causes. Once faults are detected by ScanWorks, X-ray inspection may be used to look under the BGA to determine the root cause, such as insufficient or excessive paste or an uneven reflow temperature. And if the certainty that a fault was structural in nature can be increased, fewer BGAs will be falsely indicted as malfunctioning.
Ultimately, ScanWorks provides a very effective set of diagnostic tools that test engineers, test technicians and process engineers can put to good use locating and isolating faults relating to devices in BGA packages on printed circuit boards. When boundary scan is complemented with other techniques, such as X-ray inspection and functional test, the cost of producing printed circuit boards with BGAs can be reduced.
|