Test & Measurement | July 19, 2007
Interview JTAG Technologies'<br>Peter van den Eijnden
JTAG Technologies' Mr. Peter van den Eijnden explains the basic concepts of boundary scan testing and how it can be used.
Q1: Please explain the basic concepts of boundary scan testing and how it can be used ? A1: Boundary-scan testing is predominantly a structural test method aimed at verifying that the right devices are mounted on the board and that all interconnects between devices are present on the board as defined in the circuit schematics, i.e. non are missing, and none are shorted (inadvertently connected). Structural testing has the advantage that fast, accurate diagnostics of failures is possible down to the component pin level and that the actual fault coverage of a test can be calculated, something which is impossible for functional test methods. Boundary-scan can however be enhanced to tackle 'functional-style tests on parts of the circuits which can be accessed by the boundary-scan infrastructure - so called 'cluster testing'. This is really a bonus feature that has been devised by enterprising engineers since the original standard was defined. Note also that boundary-scan testing requires no or little fixturing, is independent of the functionality of the board and can be used with any board dimension and any chip type package. Dense PCB assemblies and boards that use for example BGA packages generally lack physical access to the pins and therefore cannot be tested with traditional structural test methods such as in-circuit test or flying probe testers. However, when boundary-scan is used no physical access is required and so dense PCB assemblies and boards using BGA, or other advanced surface mount packages can therefore easily be tested with boundary-scan. Q2: Does the IEEE 1149.1 standard adequately define all parameters associated with boundary scan test methods? A2: Maybe not all. It is a rapidly changing world and IEEE 1149.1 (also referred to as "Dot1") is specifically meant for 'static' digital interconnect testing. Since its official release in 1990 extensions to the Dot1 standard have been released such as IEEE 1149.4 ("Dot4") for analogue testing and more recently IEEE 1149.6 ("Dot6") for high speed and AC-coupled interconnects. The latter standard in particular we believe will have widespread use intra and inter testing of circuits and systems through the use of LVDS bus structures like PCI-Express and ATCA. Q3: What are some primary benefits of in-system programming? A3: In-system programming has a number of advantages. First of all only un-programmed parts need to be held in stock, thus avoiding extra logistical handling in a factory to deal with special type numbers for identical parts that have been programmed differently. When in-system programming is used programmable devices only have to be handled once during board assembly thus avoiding the problem of bad contacting and the risk of damaging the device leads during programming, which can occur when traditional off-line programming is used. Another big advantage of in-system programming is the fact that systems can be re-programmed in the field for upgrading purposes. The in-system re-programming is furthermore very beneficial during the design process. Rather then removing a part, program it and then re-install it to the board a design engineer can now quickly re-program a device during design debugging as often as needed while it is sitting on the board and thus without any additional handling of that device. Q4: How do boundary scan/in-system programming relate to design for test? A4: As a first rule the boundary-scan chains of the devices that are present in a design need to be daisy-chained into one or more big chains. Another important design rule is: provide access from a boundary-scan device to the enable / disable pins of non boundary-scan devices. This makes it possible to control those pins to avoid driver conflicts that might otherwise result during boundary-scan testing. Also it allows for improving the fault-coverage on a board. When flashes are programmed speed is important. The programming speed can be optimized, and thus the programming time be kept minimal, by making the boundary-scan chain used for programming the flash as short as possible, this can be done by putting certain devices in the chain in “bypass", or by using different boundary-scan chains in a board design. Also direct access to the write control pin of a flash (“autowrite") helps to reduce the programming time by a factor of 2 to 3. Q5: What are common methods of transferring test information to and from boundary scan test points? Is special equipment required? A5: A boundary-scan chain is a serial path through which data is shifted using the IEEE 1149.1 protocol. Special equipment, so called boundary-scan controllers, is needed to shift the data through the boundary-scan chains at high speed during testing and in-system programming. The boundary-scan controller must comply with the Dot1 protocol in order to communicate with the chains. Q6: What are some practical considerations when implementing a boundary scan test system? A6: Important aspects are speed (TCK rate), here it is important to note that the TCK frequency of the board (or the boundary-scan devices on the board) determine the actual rate at which data can be shifted through the boundary-scan chain. A boundary-scan controller that can handle a sustained TCK rate of 40 MHZ is generally more than enough. Next it is important to determine whether only boundary-scan testing, or also in-system programming is needed. In-system programming puts other requirements on the controller. Having a boundary-scan controller that is equipped with dedicated hardware for high performance in-system programming is essential for realizing a high throughput. From a software perspective you want to be able to choose from different integration possibilities in addition to having a stand-alone solution. Hence selecting a boundary-scan controller with its associated software that can be integrated into any production environment is essential. The boundary-scan controller could be integrated with an in-circuit tester or a flying-probe tester. The boundary-scan system can also be integrated in a functional test station that runs under a customer defined user interface or under any of the software platforms provided by National Instruments for example. Q7: What are the limitations for boundary scan? How does this tool complement other test systems? A7: As said in the beginning boundary-scan is an excellent tool for performing structural tests on PCBs, even for testing complete systems. If traditionally only functional testing is used, then boundary-scan can simply be added to the functional test environment as “pre-screening" to easily detect and diagnose soldering defects, defects which are far more difficult to detect and diagnose using functional testing. Boundary-scan can also be used in combination with in-circuit testing. With the increasing density of PCBs and the use of surface mount packages the fault coverage that can be obtained with in-circuit testers has decreased dramatically. Adding boundary-scan can again increase the overall fault coverage. In that case boundary-scan can be used to test the digital part of the PCB while the in-circuit tester could test the analog part (if Dot4 is not used for that). Rather than using an expensive in-circuit tester for testing the analog part a much lower cost manufacturing defects analyzer (MDA) could also be used for testing the analog part. Using the integration possibilities as explained under point 6 boundary-scan can also be easily integrated with such systems.