Some considerations for system-level JTAG
By Mike Westermeier
Senior Applicatons Engineer
ASSET InterTech
System-level boundary scan is attracting the attention of more and more equipment manufacturers these days and for good reason. The benefits can reach from prototype debug in design and development, through system commissioning in manufacturing and into the marketplace where systems are supported by field service organizations.
The benefits of system-level JTAG are truly far reaching. For example, even if the initial intent is to only enable remote reprogramming to reduce module updating costs, with the capabilities in place, system-level JTAG can be leveraged throughout the company in many other ways. It can be very useful in environmental testing, for instance. Many companies use techniques such as HALT (Highly Accelerated Life Testing) or other environmental tests as part of design validation. If a manufacturing fault is detected, system-level JTAG diagnostics can identify net- or pin-level faults and eliminate the time the test group might spend trying to find a design fault. System-level scan, once it has been deployed, will be available in the environmental test chamber at whatever temperature or stress the system is subjected to.
For a manufacturer to reap all of the benefits of system-level JTAG, early planning must take place across multiple disciplines within the organization. That means a planning team made up of board designers, test engineers, system designers and architects, manufacturing engineers, quality and reliability engineers, field service and repair engineers.
Define the Requirements
In many cases, the process will begin with company-specific cost justification analysis. These exercises will lead to a commitment on the part of all concerned organizations within the company to system-level JTAG. A cross-discipline project team is usually formed and, as a first step it defines a set of basic considerations. These would include issues such as: Will the system’s JTAG infrastructure be used when the system is online or offline? If so, for what purpose? Test, and retest, or to reconfigure on-board programmable devices? If test is the primary purpose of system-level JTAG, what level of precision should the tests address? (That is, what is the smallest replaceable unit in the system?) What’s the organization’s tolerance for average response time? What’s the tolerance for average system down time? How would system-level boundary scan affect the system’s warranty and warranty costs? Answering these types of questions will establish the backdrop against which a system-level JTAG suite of operations, embedded or applied remotely, can be developed.
Next, the team must decide the aspects of the system that system-level JTAG will test. This will include questions like: Are all of the boards, daughter cards and subassemblies present and, if they are present, are the correct boards and assemblies installed in their proper places? Are boards and other elemental units in the system properly connected to any system-level buses? Are functional interconnects working properly? Are boards and assemblies working correctly?
Typical testing procedures should also be discussed. Will the system be tested automatically at power up? Will it be tested in background mode? If boundary scan operations are embedded, will they only be launched on demand by service engineers? Will the tests be simple pass/fail tests or pass/fail tests followed automatically by diagnostic routines? In addition, if system-level boundary scan will perform in-system programming, the types of programmable logic devices and memories in the system must be identified and planned for. Also, how will the backplane or any system-level buses be tested?
Design-for-System-Test
Since the early days of JTAG, design-for-test (DFT) has been a critical concept that has eased the deployment of boundary scan technology. System-level JTAG is no exception to this. Implementing system-level boundary scan begins during a system’s design phase.
Embedded boundary scan operations can be implemented by scan controllers or built-in self test (BIST) sequencers on every board or other elemental unit in the system.
With embedded scan controllers, the following procedure would be followed: a master embedded scan manager would first interrogate each board to determine the types of boards configured in the system. Then, based on the board types, the appropriate tests would be assembled by the in-system embedded scan manager. And lastly, the appropriate test or programming operation would be applied by each board with the assistance of a local microprocessor. In this type of scenario, tests will usually be stored in system memory or downloaded from system storage devices and delivered by way of a primary test bus across a backplane to the board-under-test. The delivered vectors will test the integrity of the board itself as well as its connectivity to the rest of the system. Since test vectors will be stored in-system, they will likely be compacted and stored in a binary file format such as BIST vector format (BVF).
|