![]() |
||
|
Boundary-Scan Testing / JTAG Standard
Boundary-Scan Testing
The arrival of various surface mount technologies for semiconductor packaging more than two decades ago resulted in very dense board assemblies that are difficult to test or debug at component level, mainly because of the greater difficulty with which the components' external electrical connections could be accessed. Furthermore, the problem only got worse with time as surface-mount packages continued to shrink.
'Bed-of-nails' testing, which refers to the use of hardware, jigs, and fixtures to test a semiconductor device by accessing its pins directly, was no longer a practical option for 'modern' packages sprung from these newer technologies. The need to resolve problems associated with the testability of these surface-mount packages triggered the formation of the JTAG in 1985, and the subsequent definition of the boundary-scan testing standard.
Boundary-scan
testing basically involves
embedding
of special test circuits at chip level that would facilitate board-level
testing of the chip and the board itself. These additional
circuits allow
input
and
output
signals to be
scanned
into and out of the I/O circuits of a device in a
serial
manner, letting the device to be tested with a small number of
accessible pins
The benefits offered by boundary-scan testing include: 1) significant reduction in the required number of physical test points on the board; 2) increased board component density; 3) corresponding reduction in costs associated with test fixtures; 4) shorter time-to-market; 5) on-board testing and programming capabilities; 6) reduced in-circuit testing time; and 7) higher production efficiency.
A JTAG-compliant device has: 1) a boundary cell on each of its I/O pins; 2) a 'scan path' or 'scan chain' that connects these boundary cells together in serial manner; 3) 4 or 5 additional pins to handle the JTAG signals; 4) a Test Access Port (TAP) for controlling the JTAG signals used in boundary-scan testing; and 5) a 16-state TAP controller or state machine that controls the states of operation of the boundary-scan testing.
Under normal operating conditions, the boundary cells simply let the input/output signals pass through them, into and out of the I/O pins. When the device is placed under the 'Test' mode, however, these boundary cells become 'active' for use in the direct capture or control of the signals going into and out of the I/O circuitries of the device, circumventing the device's normal input and output connections. The boundary cells basically consist of multiplexed shift-registers that are located around the chip's periphery (hence the name 'boundary' cell).
The test access port is simply a serial interface port defined by the IEEE 1449.1 to consist of at least 4 pins (optionally 5) in a JTAG-compliant device. These 5 pins, which are used to implement JTAG's serial protocol for boundary-scan testing, are: 1) the TCK pin, which is a clock signal that synchronizes the internal tap controller state machine operations; 2) the TMS pin, which is a mode select signal sampled at the rising edge of TCK to determine the next machine state; 3) the TDI pin, which is the data input pin; 4) the TDO pin, which is the data output pin; and 5) the TRST pin (optional), which is an asynchronous reset pin.
The properties and capabilities of a JTAG-compliant device's boundary-scan logic are defined by an external file known as the Boundary-Scan Description Language (BSDL) file. BSDL files are provided by the manufacturers of JTAG-compliant devices for use in the definition and generation of algorithms for the boundary-scan operation of their devices.
Testing
a device or
circuit board using boundary-scan technology may
Boundary-scan technology has also been used by some companies in software debugging functions for CPU's. Using proprietary techniques complemented by adequate on-chip support, the JTAG interface was utilized to download code from a CPU, execute it, and examine register and memory values. These functions are enough to handle most of the low-level debugging tasks expected from a typical software debugger. Aside from debugging, the JTAG interface can also be used for emulation, benchmarking, and profiling applications.
Primary References: http://www.jtag.com; http://www.embedded.com; http://www.xilinx.com; http://www.corelis.com
Copyright © 2005 www.SemiconFarEast.com. All Rights Reserved. |
||