Starting Download..
save Save

What is Boundary scan?

Boundary scan is a test technique that involves devices designed with shift registers placed between each device pin and the internal logic as shown in Figure 1. Each shift register is called a boundary scan cell. These boundary scan cells allow you to control and observe what happens at each input and output pin. When these cells are connected together, they form a data register chain, called the Boundary Register.

      Figure 1 A boundary scan device       

There are other registers within a boundary-scan device.

• An Instruction Register decodes instruction bits that allow the device to perform various functions.
• A Bypass Register provides a one-bit path that minimizes the distance between the scan input and the scan output.
• An Identification Register, called the IDCODE Register, identifies the device and manufacturer.
• Other designer-specified data registers typically perform internal test functions.
Boundary scan devices have a dedicated port, called the Test Access Port (TAP), that routes input signals to a controller, called the TAP Controller, and the register cells. The TAP Controller is a 16-state machine that controls the Boundary Register.

The TAP signals shown in the illustration are used to control the boundary scan device. They include the following:
• Test Data In (TDI): The serial input for test data and instruction bits.
• Test Data Out (TDO): The serial output for test data.
• Test Clock (TCK): An independent clock used to drive the device.
• Test Mode Select (TMS): This provides the logic levels needed to change the TAP Controller from state to state.
• Test Reset (TRST) Optional: This optional input provides asynchronous initialization of the TAP Controller, which in turn causes asynchronous initialization of other test logic included in the design.

Boundary scan devices can perform many test functions. Three of these, EXTEST, SAMPLE/PRELOAD, and BYPASS, are mandatory for every boundary-scan device. For other test functions, INTEST, RUNBIST, IDCODE, CLAMP, HIGHZ, and USERCODE, are described by the IEEE 1149.1 standard, but are optional. Manufacturers can also add test functions whose implementation is guided by the IEEE standard.

Was this helpful?

Didn't find what you're looking for?