0% found this document useful (0 votes)
381 views12 pages

Boundary Scan Methods and Standards

The document discusses boundary scan methods and standards. It provides a history of boundary scan, which aims to resolve test problems from chip to system level. The key IEEE 1149 standards are described, including 1149.1 for digital boundary scan, 1149.4 for mixed-signal testing, and 1149.6 for advanced digital networks. The architecture of IEEE 1149.1 adds boundary scan cells to device pins to test interconnects without physical probes.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
381 views12 pages

Boundary Scan Methods and Standards

The document discusses boundary scan methods and standards. It provides a history of boundary scan, which aims to resolve test problems from chip to system level. The key IEEE 1149 standards are described, including 1149.1 for digital boundary scan, 1149.4 for mixed-signal testing, and 1149.6 for advanced digital networks. The architecture of IEEE 1149.1 adds boundary scan cells to device pins to test interconnects without physical probes.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

Module Lesson

8 41
Testing of Embedded Boundary Scan Methods
System and Standards
Version 2 EE IIT, Kharagpur 1 Version 2 EE IIT, Kharagpur 2
Instructional Objectives Number Description Year
IEEE 1149.1 Testing of digital chips and interconnections Std 1149.1 – 1990
After going through this lesson the student would be able to
between chips
x Explain the meaning of the term Boundary Scan IEEE 1149.1a Added supplement A. Rewrite of the chapter Std 1149.1a – 1993
x List the IEEE 1149 series of standards with their important features describing boundary register
x Describe the architecture of IEEE 1149.1 boundary scan and explain the functionality of IEEE 1149.1b Supplement B - formal description of the Std 1149.1b – 1994
each of its components
boundary-scan Description Language (BSDL)
x Explain, with the help of an example, how a board-level design can be equipped with the
boundary scan feature IEEE 1149.1c Corrections, clarifications and enhancements of Std 1149.1 –2001

x Describe the advantages and disadvantages of the boundary scan technique IEEE Std 1149.1a and Std 1149.1b. Combines
1149.1a & 1149.1b
Boundary Scan Methods and Standards IEEE 1149.2 Extended Digital Serial Interface. It has merged Obsolete
with 1149.1 group.
1. Boundary Scan History and Family
IEEE 1149.3 Direct Access Testability Interface Obsolete
Boundary Scan is a family of test methodologies aiming at resolving many test problems: from
chip level to system level, from logic cores to interconnects between cores, and from digital IEEE 1149.4 Test Mixed-Signal and Analog assemblies Std. 1149.4 – 1999
circuits to analog or mixed-mode circuits. It is now widely accepted in industry and has been IEEE 1149.5 Standard Module Test and Maintenance (MTM) Std. 1149.5 –1995
considered as an industry standard in most large IC system designs. Boundary-scan, as defined
by the IEEE Std. 1149.1 standard [1-3], is an integrated method for testing interconnects on Bus Protocol. Deals with test at system level,
printed circuit board that is implemented at the IC level. Earlier, most Printed Circuit Board 1149.2 has merged with.
(PCB) testing was done using bed-of-nail in-circuit test equipment. Recent advances with VLSI
technology now enable microprocessors and Application Specific Integrated Circuits (ASICs) to IEEE 1149.6 Includes AC-coupled and/or differential nets. Std 1149.6 - 2002
be packaged into fine pitch, high count packages. The miniaturization of device packaging, the IEEE 1532 It is a derivative standard for in-system 2000
development of surface-mounted packaging, double-sided and multi-layer board to accommodate
the extra interconnects between the increased density of devices on the board reduces the programming (ISP) of digital devices.
physical accessibility of test points for traditional bed-of-nails in-circuit tester and poses a great
challenge to test manufacturing defects in future. The long-term solution to this reduction in Fig. 41.1 IEEE 1149 Family
physical probe access was to consider building the access inside the device i.e. a boundary scan
register. In 1985, a group of European companies formed Joint European Test Action Group The Std. 1149.1, usually referred to as the digital boundary scan, is the one that has been used
(JETAG) and by 1988 the Joint Test Action Group (JTAG) was formed by several companies to widely. It can be divided into two parts: 1149.1a, or the digital Boundary Scan Standard, and
tackle these challenges. The JTAG has developed a specification for boundary-scan testing that 1149.1b, or the Boundary Scan Description Language (BSDL) [1,6]. Std. 1149.1 defines the chip
was standardized in 1990 by IEEE as the IEEE Std. 1149.1-1990. In 1993 a new revision to the level test architecture for digital circuits, and Std. 1149.1b is a hardware description language
IEEE Std. 1149.1 standard was introduced (1149.1a) and it contained many clarifications, used to describe boundary scan architecture. The 1149.2 defines the extended digital series
corrections, and enhancements. In 1994, a supplement that contains a description of the interface in the chip level. It has merged with 1149.1 group. The 1149.3 defines the direct access
boundary-scan Description Language (BSDL) was added to the standard. Since that time, this interface in contrast to 1149.2. Unfortunately this work has been discontinued. 1149.4 IEEE
standard has been adopted by major electronics companies all over the world. Applications are Standard deals with Mixed-Signal Test Bus [4]. This standard extends the test structure defined
found in high volume, high-end consumer products, telecommunication products, defense in IEEE Std. 1149.1 to allow testing and measurement of mixed-signal circuits. The standard
systems, computers, peripherals, and avionics. Now, due to its economic advantages, smaller describes the architecture and the means of control and access to analog and digital test data.
companies that cannot afford expensive in-circuit testers are using boundary-scan. Figure 41.1 The Std.1149.5 defines the bus protocol at the module level. By combining this level and
gives an overview of the boundary scan family, now known as the IEEE 1149.x standards. Std.1149.1a one can easily carry out the testing of a PC board.
1149.6 IEEE Standard for Boundary-Scan Testing of Advanced Digital Networks is released in
2002. This standard augments 1149.1 for the testing of conventional digital networks and 1149.4
for analog networks. The 1149.6 standard defines boundary-scan structures and methods

Version 2 EE IIT, Kharagpur 3 Version 2 EE IIT, Kharagpur 4


required to test advanced digital networks that are not fully covered by IEEE Std. 1149.1, such
as networks that are AC-coupled, differential, or both.
1149.1 Chip Architecture
1532 IEEE Standard is developed for In-System Configuration of Programmable Devices [5]. Boundary-Scan Register
This extension of 1149.1 standardizes programming access and methodology for programmable
integrated circuit devices. Devices such as CPLDs and FPGAs, regardless of vendor, that
implement this standard may be configured (written), read back, erased and verified, singly or
concurrently, with a standardized set of resources based upon the algorithm description
contained in the 1532 BSDL file. JTAG Technologies programming tools contain support for
1532-compliant devices and automatically generate the applications.
Clearly the testing of mixed-mode circuits at the various levels of integration will be a critical Internal Register
test issue for the system-on-chip design. Therefore there is a demand to combine all the boundary
scan standards into an integrated one.
Any Digital Chip
1
2. Boundary Scan Architecture Bypass Register
The boundary-scan test architecture provides a means to test interconnects between integrated TDI TDO
circuits on a board without using physical test probes. It adds a boundary-scan cell that includes
a multiplexer and latches, to each pin on the device. Figure 41.2 [1] illustrates the main elements Identification Register
of a universal boundary-scan device.
The Figure 41.2 shows the following elements: 1 Instruction Register
x Test Access Port (TAP) with a set of four dedicated test pins: Test Data In (TDI), Test
Mode Select (TMS), Test Clock (TCK), Test Data Out (TDO) and one optional test pin TMS
TAP
Test Reset (TRST*). Controller
TCK
x A boundary-scan cell on each device primary input and primary output pin, connected 1
internally to form a serial boundary-scan register (Boundary Scan).
x A TAP controller with inputs TCK, TMS, and TRST*. TRST* (optional)
x An n-bit (n >= 2) instruction register holding the current instruction. Fig. 41.2 Main Elements of a IEEE 1149.1 Device Architecture
x A 1-bit Bypass register (Bypass).
x An optional 32-bit Identification register capable of being loaded with a permanent The test access ports (TAP), which define the bus protocol of boundary scan, are the additional
device identification code. I/O pins needed for each chip employing Std.1149.1a. The TAP controller is a 16-state final state
machine that controls each step of the operations of boundary scan. Each instruction to be carried
out by the boundary scan architecture is stored in the Instruction Register. The various control
signals associated with the instruction are then provided by a decoder. Several Test Data
Registers are used to stored test data or some system related information such as the chip ID,
company name, etc.

2.1 Bus Protocol


The Test Access Ports (TAPs) are genral purpose ports and provide access to the test function of
the IC between the application circuit and the chip’s I/O pads. It includes four mandatory pins
TCK, TDI, TDO and TMS and one optional pin TRST* as described below. All TAP inputs and
outputs shall be dedicated connections to the component (i.e., the pins used shall not be used for
any other purpose).
x Test Clock Input (TCK): a clock independent of the system clock for the chip so that test
operations can be synchronized between the various parts of a chip. It also synchronizes
the operations between the various chips on a printed circuit board. As a convention, the

Version 2 EE IIT, Kharagpur 5 Version 2 EE IIT, Kharagpur 6


test instructions and data are loaded from system input pins on the rising edge of TCK
and driven through system output pins on its falling edge. TCK is pulsed by the Figure 41.3 [1] shows a basic universal boundary-scan cell, known as a BC_1. The cell has four
equipment controlling the test and not by the tested device. It can be pulsed at any modes of operation: normal, update, capture, and serial shift. The memory elements are two D-
frequency (up to a maximum of some MHz). It can be even pulsed at varying rates. type flip-flops with front-end and back-end multiplexing of data. It is important to note that the
x Test Data Input (TDI): an input line to allow the test instruction and test data to be loaded circuit shown in Figure 41.3 is only an example of how the requirement defined in the Standard
into the instruction register and the various test data registers, respectively. could be realized. The IEEE 1149.1 Standard does not mandate the design of the circuit, only its
functional specification. The four modes of operation are as follows:
x Test Data Output (TDO): an output line used to serially output the data from the JTAG
registers to the equipment controlling the test. 1) During normal mode also called serial mode, Data_In is passed straight through to
Data_Out.
x Test Mode Selector (TMS): the test control input to the TAP controller. It controls the
transitions of the test interface state machine. The test operations are controlled by the 2) During update mode, the content of the Update Hold cell is passed through to Data_Out.
sequence of 1s and 0s applied to this input. Usually this is the most important input that Signal values already present in the output scan cells to be passed out through the device
has to be controlled by external testers or the on-board test controller. output pins. Signal values already present in the input scan cells will be passed into the
internal logic.
Test Reset Input (TRST*): The optional TRST* pin is used to initialize the TAP controller, that
is, if the TRST* pin is used, then the TAP controller can be asynchronously reset to a Test- 3) During capture mode, the Data_In signal is routed to the input Capture Scan cell and the
Logic-Reset state when a 0 is applied at TRST*. This pin can also be used to reset the circuit value is captured by the next ClockDR. ClockDR is a derivative of TCK. Signal values
under test, however it is not recommended for this application. on device input pins to be loaded into input cells, and signal values passing from the
internal logic to device output pins to be loaded into output cells
2.2 Boundary Scan Cell 4) During shift mode, the Scan_Out of one Capture Scan cell is passed to the Scan_In of the
next Capture Scan cell via a hard-wired path.
The IEEE Std. 1149.1a specifies the design of four test data registers as shown in Figure The Test ClocK, TCK, is fed in via yet another dedicated device input pin and the various modes
41.2. Two mandatory test data registers, the bypass and the boundary-scan resisters, must be of operation are controlled by a dedicated Test Mode Select (TMS) serial control signal. Note
included in any boundary scan architecture. The boundary scan register, though may be a little that both capture and shift operations do not interfere with the normal passing of data from the
confusing by its name, refers to the collection of the boundary scan cells. The other registers, parallel-in terminal to the parallel-out terminal. This allows on the fly capture of operational
such as the device identification register and the design-specific test data registers, can be added values and the shifting out of these values for inspection without interference. This application of
optionally. the boundary-scan register has tremendous potential for real-time monitoring of the operational
status of a system — a sort of electronic camera taking snapshots — and is one reason why TCK
is kept separate from any system clocks.
Basic Boundary – Scan Cell (BC 1)
Scan Out = 0, Functional mode 2.3 Boundary Scan Path
(SO) Mode = 1, Test mode
(for BC_1)
At the device level, the boundary-scan elements contribute nothing to the functionality of the
internal logic. In fact, the boundary-scan path is independent of the function of the device. The
Data In value of the scan path is at the board level as shown in Figure 41.4 [1].
0 Data Out The figure shows a board containing four boundary-scan devices. It is seen that there is an edge-
(PI) Capture Update
Hold Cell 1 (PO) connector input called TDI connected to the TDI of the first device. TDO from the first device is
Scan Cell
permanently connected to TDI of the second device, and so on, creating a global serial scan path
0 terminating at the edge connector output called TDO. TCK is connected in parallel to each
D Q D Q
1 device TCK input. TMS is connected in parallel to each device TMS input. All cell boundary
data registers are serially loaded and read from this single chain.
Clk Clk
C
U
Scan in ShiftDR ClockDR UpdateDR
S
(SI)

Fig. 41.3 Basic Boundary Scan Cell


Version 2 EE IIT, Kharagpur 7 Version 2 EE IIT, Kharagpur 8
TMS1
TMS2
TDO

TCK
Boundary-scan cell

TDI
Chip 1 Chip 2
TDI
TMS TMS
Serial
data in
TCK TCK TDI TDO TDI TDO TDI TDO TDI TDO

Chip 4
Chip 3

TMS TMS

TCK TCK Serial


data out
TDO

TCK
System interconnect TMS
Serial test interconnect
Fig. 41.5 MCM with two parallel boundary scan chains
Fig. 41.4 MCM with Serial Boundary Scan Chain

The advantage of this configuration is that only two pins on the PCB/MCM are needed for 2.4 TAP Controller
boundary scan data register support. The disadvantage is very long shifting sequences to deliver
test patterns to each component, and to shift out test responses. This leads to expensive time on The operation of the test interface is controlled by the Test Access Port (TAP) controller. This is
the external tester. As shown in Figure 41.5 [1], the single scan chain is broken into two parallel a 16-state finite state-machine whose state transitions are controller by the TMS signal; the state-
boundary scan chains, which share a common test clock (TCK). The extra pin overhead is one transition diagram is shown in Figure 41.7. The TAP controller can change state only at the
more pin. As there are two boundary scan chains, so the test patterns are half as long and test rising edge of TCK and the next state is determined by the logic level of TMS. In other words,
time is roughly halved. Here both chains share common TDI and TDO pins, so when the top two the state transition in Figure 41.6 follows the edge with label 1 when the TMS line is set to 1,
chips are being shifted, the bottom two chips must be disabled so that they do not drive their otherwise the edge with label 0 is followed. The output signals of the TAP controller
TDO lines. The opposite must hold true when the bottom two chips are being tested. corresponding to a subset of the labels associated with the various states. As shown in Figure
41.2, the TAP consists of four mandatory terminals plus one optional terminal. The main functions of
the TAP controller are:
x To reset the boundary scan architecture,
x To select the output of instruction or test data to shift out to TDO,
x To provide control signals to load instructions into Instruction Register,
x To provide signals to shift test data from TDI and test response to TDO, and
x To provide signals to perform test functions such as capture and application of test data.

Version 2 EE IIT, Kharagpur 9 Version 2 EE IIT, Kharagpur 10


TAP Controller TAP Controller State Diagram
Test_Logic
1 Reset

TMS ClockDR 0
Run_Test/ 1 Select 1 Select 1
0
TCK ShiftDR Idle DR_Scan IR_Scan
0 0
TRST* UpdateDR 1 1
Capture_DR Capture_IR
16-state FSM Reset*
0 0
TAP Controller Select
(Moore machine) Shift_DR 0 Shift_IR 0
ClockIR
1 1
ShiftIR Exit_DR
1
Exit1_IR
1

UpdateIR 0 0
Enable Pause_DR 0 Pause_IR 0

1 1
0 0
Exit2_DR Exit2_IR
Fig. 41.6 Top level view of TAP Controller
1 1
Figure 41.6 shows a top-level view of TAP Controller. TMS and TCK (and the optional TRST*) Update_DR Update_IR
go to a 16-state finite-state machine controller, which produces the various control signals. These 1 0 1 0
signals include dedicated signals to the Instruction register (ClockIR, ShiftIR, UpdateIR) and
generic signals to all data registers (ClockDR, ShiftDR, UpdateDR). The data register that
actually responds is the one enabled by the conditional control signals generated at the parallel Fig. 41.7 State transition diagram of TAP controller
outputs of the Instruction register, according to the particular instruction.
The other signals, Reset, Select and Enable are distributed as follows: Figure 41.7 shows the 16-state state table for the TAP controller. The value on the state transition
arcs is the value of TMS. A state transition occurs on the positive edge of TCK and the controller
x Reset is distributed to the Instruction register and to the target Data Register output values change on the negative edge of TCK. The 16 states can be divided into three parts.
x Select is distributed to the output multiplexer The first part contains the reset and idle states, the second and third parts control the operations
of the data and instruction registers, respectively. Since the only difference between the second
x Enable is distributed to the output driver amplifier and the third parts are on the registers they deal with, in the following only the states in the first
It must be noted that the Standard uses the term Data Register to mean any target register except and second parts are described. Similar description on the second part can be applied to the third
the Instruction register part.
1. Test-Logic-Reset: In this state, the boundary scan circuitry is disabled and the system is in
its normal function. Whenever a Reset* signal is applied to the BS circuit, it also goes back
to this state. One should also notice that whatever state the TAP controller is at, it will goes
back to this state if 5 consecutive 1's are applied through TMS to the TAP controller.
2. Run-Test/Idle: This is a state at which the boundary scan circuitry is waiting for some test
operations such as BIST operations to complete. One typical example is that if a BIST
operation requires 216 cycles to complete, then after setting up the initial condition for the
BIST operation, the TAP controller will go back to this state and wait for 216 cycles before it
starts to shift out the test results.
3. Select-DR-Scan: This is a temporary state to allow the test data sequence for the selected
test-data register to be initiated.

Version 2 EE IIT, Kharagpur 11 Version 2 EE IIT, Kharagpur 12


4. Capture-DR: In this state, data can be loaded in parallel to the data registers selected by the operation). It is also possible to load (Capture) internal hard-wired values into the shift section of
current instruction. the Instruction register. The Instruction register must be at least two-bits long to allow coding of
the four mandatory instructions — Extest, Bypass, Sample, Preload — but the maximum length
5. Shift-DR: In this state, test data are scanned in series through the data registers selected by
of the Instruction register is not defined. In capture mode, the two least significant bits must
the current instruction. The TAP controller may stay at this state as long as TMS=0. For
capture a 01 pattern. (Note: by convention, the least-significant bit of any register connected
each clock cycle, one data bit is shifted into (out of) the selected data register through TDI
between the device TDI and TDO pins, is always the bit closest to TDO.) The values captured
(TDO).
into higher-order bits of the Instruction register are not defined in the Standard. One possible use
6. Exit-DR: All parallel-loaded (from the Capture-DR state) or shifted (from the Shift-DR of these higher-order bits is to capture an informal identification code if the optional 32-bit
state) data are held in the selected data register in this state. Identification register is not implemented. In practice, the only mandated bits for the Instruction
7. Pause-DR: The BS pauses its function here to wait for some external operations. For register capture is the 01 pattern in the two least-significant bits. We will return to the value of
example, when a long test data is to be loaded to the chip(s) under test, the external tester capturing this pattern later in the tutorial.
may need to reload the data from time to time. The Pause-DR is a state that allows the
boundary scan architecture to wait for more data to shift in. Instruction Register
8. Exit2-DR: This state represents the end of the Pause-DR operation, allows the TAP
controller to go back to ShiftDR state for more data to shift in. DR select and control signals routed to selected target register

9. Update-DR: The test data stored in the first stage of boundary scan cells is loaded to the
second stage in this state.
Decode Logic
2.5 Bypass and Identification Registers
Figure 41.8 shows a typical design for a Bypass register. It is a 1-bit register, selected by the Hold register
(Holds current instruction)
Bypass instruction and provides a basic serial-shift function. There is no parallel output (which
means that the Update_DR control has no effect on the register), but there is a defined effect with
the Capture_DR control — the register captures a hard-wired value of logic 0.
From Scan Register To
TDI Scan-in new instruction/scan-out capture bits) TDO

0
D Q To TDO TAP 0 1
Controller IR Control Higher order bits:
From TDI current instruction, status bits, informal ident,
results of a power-up self test, …
Fig. 41.9 Instruction register
ShiftDR Clk
2.7 Instruction Set
ClockDR
The IEEE 1149.1 Standard describes four mandatory instructions: Extest, Bypass, Sample, and
Fig. 41.8 Bypass register Preload, and six optional instructions: Intest, Idcode, Usercode, Runbist, Clamp and HighZ.
Whenever a register is selected to become active between TDI and TDO, it is always possible to
2.6 Instruction Register perform three operations on the register: parallel Capture followed by serial Shift followed by
parallel Update. The order of these operations is fixed by the state-sequencing design of the TAP
As shown in Figure 41.9, an Instruction register has a shift scan section that can be connected controller. For some target Data registers, some of these operations will be effectively null
between TDI and TDO, and a hold section that holds the current instruction. There may be some operations, no ops.
decoding logic beyond the hold section depending on the width of the register and the number of
different instructions. The control signals to the Instruction register originate from the TAP
controller and either cause a shift-in/shift-out through the Instruction register shift section, or
cause the contents of the shift section to be passed across to the hold section (parallel Update

Version 2 EE IIT, Kharagpur 13 Version 2 EE IIT, Kharagpur 14


IDCODE: This is used to select the Identification register between TDI and TDO, preparatory to
loading the internally-held 32-bit identification code and reading it out through TDO. The 32 bits
Standard Instructions
are used to identify the manufacturer of the device, its part number and its version number.
Instruction Selected Data Register USERCODE: This instruction selects the same 32-bit register as IDCODE, but allows an
Mandatory: alternative 32 bits of identity data to be loaded and serially shifted out. This instruction is used
Extest Boundary scan (formerly all-0s code) for dual-personality devices, such as Complex Programmable Logic Devices and Field
Bypass Bypass (initialized state, all-1s code) Programmable Gate Arrays.
Sample Boundary scan (device in functional mode) RUNBIST: An important optional instruction is RunBist. Because of the growing importance of
Preload Boundary scan (device in function mode) internal self-test structures, the behavior of RunBist is defined in the Standard. The self-test
Optional: routine must be self-initializing (i.e., no external seed values are allowed), and the execution of
RunBist essentially targets a self-test result register between TDI and TDO. At the end of the
Intest Boundary scan self-test cycle, the targeted data register holds the Pass/Fail result. With this instruction one can
Idcode identification (initialized state if present) control the execution of the memory BIST by the TAP controller, and hence reducing the
Usercode Identification (for PLDs) hardware overhead for the BIST controller.
Runbist Result register
Clamp CLAMP: Clamp is an instruction that uses boundary-scan cells to drive preset values established
Bypass (output pins in safe state)
HighZ initially with the Preload instruction onto the outputs of devices, and then selects the Bypass
Bypass (output pins in high-Z state)
register between TDI and TDO (unlike the Preload instruction which leaves the device with the
NB. All unused instruction codes must default to Bypass
boundary-scan register still selected until a new instruction is executed or the device is returned
EXTEST: This instruction is used to test interconnect between two chips. The code for Extest to the Test_Logic Reset state). Clamp would be used to set up safe guarding values on the
used to be defined to be the all-0s code. The EXTEST instruction places an IEEE 1149.1 outputs of certain devices in order to avoid bus contention problems, for example.
compliant device into an external boundary test mode and selects the boundary scan register to HIGH-Z: It is similar to Clamp instruction, but it leaves the device output pins in a high-
be connected between TDI and TDO. During this instruction, the boundary scan cells associated impedance state rather than drive fixed logic-1 or logic-0 values. HighZ also selects the Bypass
with outputs are preloaded with test patterns to test downstream devices. The input boundary register between TDI and TDO.
cells are set up to capture the input data for later analysis.
BYPASS: A device's boundary scan chain can be skipped using the BYPASS instruction, 3. On Board Test Controller
allowing the data to pass through the bypass register. The Bypass instruction must be assigned an
all-1s code and when executed, causes the Bypass register to be placed between the TDI and So far the test architecture of boundary scan inside the chip under test has been discussed. A
TDO pins. This allows efficient testing of a selected device without incurring the overhead of major problem remains is "Who is going to control the whole boundary scan test procedure?" In
traversing through other devices. The BYPASS instruction allows an IEEE 1149.1 compliant general there are two solutions for this problem: using an external tester and using a special on-
device to remain in a functional mode and selects the bypass register to be connected between board controller. The former is usually expensive because of the involving of an IC tester. The
the TDI and TDO pins. The BYPASS instruction allows serial data to be transferred through a latter provides an economic way to complete the whole test procedure. As clear from the above
device from the TDI pin to the TDO pin without affecting the operation of the device. description, in addition to the test data, the most important signal that a test controller has to
provide is the TMS signal. There exist two methods to provide this signal in a board: the star
SAMPLE/PRELOAD: The Sample and Preload instructions, and their predecessor the
configuration and the ring configuration as shown in Figure 41.10. In the star configuration the
Sample/Preload instruction, selects the Boundary-Scan register when executed. The instruction
TMS is broadcast to all chips. Hence all chips must execute the same operation at any time. For
sets up the boundary-scan cells either to sample (capture) values or to preload known values into
the ring structure, the test controller provides one independent TMS signal for each chip,
the boundary-scan cells prior to some follow-on operation. During this instruction, the boundary
therefore great flexibility of the test procedure is facilitated.
scan register can be accessed via a data scan operation, to take a sample of the functional data
entering and leaving the device. This instruction is also used to preload test data into the
boundary-scan register prior to loading an EXTEST instruction.
INTEST: With this command the boundary scan register (BSR) is connected between the TDI
and the TDO signals. The chip's internal core-logic signals are sampled and captured by the BSR
cells at the entry to the "Capture_DR" state as shown in TAP state transition diagram. The
contents of the BSR register are shifted out via the TDO line at exits from the "Shift_DR" state.
As the contents of the BSR (the captured data) are shifted out, new data are sifted in at the entries
to the "Shift_DR" state. The new contents of the BSR are applied to the chip's core-logic signals
during the "Update_DR" state.

Version 2 EE IIT, Kharagpur 15 Version 2 EE IIT, Kharagpur 16


Application chips Application chips
TDI TDI
TCK TCK #1
TMS #1 TMS
Bus TDO Bus TDO L L L
master master O O O
TDI TD0 TDI G G G
TD0 TCK
TDI
TMS1 TCK
TMS #2 TMS #2 I I I
TDI TMS2
TDO TDO C C C
TMS TMSN TDI TDO TDI TDO TDI TDO
TCK TCK
BP BP BP
TDI TDI
TCK TCK IR IR IR
#N TMS #N
TMS
TDO TDO
DR DR DR
TCK TMS TCK TMS TCK TMS
(a) (b) TAP TAP TAP

Fig. 41.10 BUS master for chips with BS: (a) star structure, (b) ring structure

4. How Boundary Scan Testing Is Done


In a board design there usually can be many JTAG compliant devices. All these devices can be
connected together to form a single scan chain as illustrated in Figure 41.11, "Single Boundary TAP Control Device
(Test Software
Figureon11PC/WS)
Scan Chain on a Board." Alternatively, multiple scan chains can be established so parallel
checking of devices can be performed simultaneously.
Figure 41.11, "Single Boundary Scan Chain on a Board," illustrates the on onboard TAP
controllers connected to an offboard TAP control device, such as a personal computer, through a Test Connector
TAP access connector. The offboard TAP control device can perform different tests during board
manufacturing without the need of bed-of-nail equipment. Fig. 41.11 Single Boundary Scan Chain on a Board

5. Simple Board Level Test Sequence


One of the first tests that should be performed for a PCB test is called the infra-structure test.
This test is used to determine whether all the components are installed correctly. This test relies
on the fact that the last two bits of the instruction register (IR) are always ``01''. By shifting out
the IR of each device in the chain, it can be determined whether the device is properly installed.
This is accomplished through sequencing the TAP controller for IR read.
After the infra-structure test is successful, the board level interconnect test can begin. This is
accomplished through the EXTEST command. This test can be used to check out ``opens'' and
``shorts'' on the PCB. The test patterns are preloaded into the output pins of the driving devices.
Then they are propagated to the receiving devices and captured in the input boundary scan cells.
The result can then be shifted out through the TDO pin for analysis.
These patterns can be generated and analyzed automatically, via software programs. This feature
is normally offered through tools like Automatic Test Pattern Generation (ATPG) or Boundary
Scan Test Pattern Generation (BTPG).

6. Boundary Scan Description Language


Boundary Scan Description Language (BSDL) has been approved as the IEEE Std. 1149.1b
(the original boundary scan standard is IEEE Std. 1149.1a) [1,6]. This VHDL compatible

Version 2 EE IIT, Kharagpur 17 Version 2 EE IIT, Kharagpur 18


language can greatly reduce the effort to incorporate boundary scan into a chip, and hence is
quite useful when a designer wishes to design boundary scan in his own style. Basically for those 12 11
parts that are mandatory to the Std. 1149.1a such as the TAP controller and the BYPASS D6 Q6 D6 6 0 Q6
register, the designer does not need to describe them; they can be automatically generated. The C 13 C 10
designer only has to describe the specifications related to his own design such as the length of D5 O Q5 D5 7 O 1 Q5
boundary scan register, the user-defined boundary scan instructions, the decoder for his own R 14 R 9
instructions, the I/O pins assignment. In general these descriptions are quite easy to prepare. In D4 Q4 D4 8 2 Q4
E E
fact, currently many CAD tools already implement the boundary scan generation procedure and 15 8
D3 Q3 D3 9 3 Q3
thus it may even not needed for a designer to write the BSDL file: the tools can automatically L L 7
generate the needed boundary scan circuitry for any circuit design as long as the I/O of the 16
D2 O Q2 D2 10 O 4 Q2
design is specified. G 17 G 6
Any manufacturer of a JTAG compliant device must provide a BSDL file for that device. The D1 I Q1 D1 11 I 5 Q1
BSDL file contains information on the function of each of the pins on the device - which are C 1 C
CLK CLK 12
used as I/Os, power or ground. BSDL files describe the Boundary Scan architecture of a JTAG-
TAP
compliant device, and are written in VHDL. The BSDL file includes: Controller

1. Entity Declaration: The entity declaration is a VHDL construct that is used to identify the
name of the device that is described by the BSDL file. 2 3 4 5
TDI TCK TMS TDO
2. Generic Parameter: The Generic parameter specifies which package is described by the (a)
(b)
BSDL file.
Fig. 41.12 Example to illustrate BSDL (a) core logic (b) after BS insertion
3. Logical Port Description: lists all of the pads on a device, and states whether that pin is an
input(in bit;), output(out bit;), bidirectional (inout bit;) or unavailable for boundary scan (linkage
bit;).
7. Benefits and Penalties of Boundary Scan
.4. Package Pin Mapping: The Package Pin Mapping shows how the pads on the device die are The decision whether to use boundary-scan usually involves economics. Designers often hesitate
wired to the pins on the device package. to use boundary-scan due to the additional silicon involved. In many cases it may appear that the
5. Use statements: The use statement calls VHDL packages that contain attributes, types, penalties outweigh the benefits for an ASIC. However, considering an analysis spanning all
constants, etc. that are referenced in the BSDL File. assembly levels and all test phases during the system's life, the benefits will usually outweigh the
penalties.
6. Scan Port Identification: The Scan Port Identification identifies the JTAG pins: TDI, TDO,
TMS, TCK and TRST (if used). Benefits
7. TAP description: provides additional information on the device's JTAG logic; the Instruction The benefits provided by boundary-scan include the following:
Register length, Instruction Opcodes, device IDCODE, etc. These characteristics are device x lower test generation costs
specific. x reduced test time
8. Boundary Register description: provides the structure of the Boundary Scan cells on the x reduced time to market
device. Each pin on a device may have up to three Boundary Scan cells, each cell consisting of a x simpler and less costly testers
register and a latch. x compatibility with tester interfaces
x high-density packaging devices accommodation

By providing access to the scan chain I/Os, the need for physical test points on the board is
eliminated or greatly reduced, leading to significant savings as a result of simpler board layouts,
less costly test fixtures, reduced time on in-circuit test systems, increased use of standard
interfaces, and faster time-to-market. In addition to board testing, boundary-scan allows
programming almost all types of CPLDs and flash memories, regardless of size or package type,
on the board, after PCB assembly. In-system programming saves money and improves
throughput by reducing device handling, simplifying inventory management, and integrating the
programming steps into the board production line.

Version 2 EE IIT, Kharagpur 19 Version 2 EE IIT, Kharagpur 20


Penalties References
The penalties incurred in using boundary-scan include the following:
[1] IEEE-SA Standards Board, 3 Park Avenue, New York, NY 10016-5997, USA, “IEEE
x extra silicon due to boundary scan circuitry
Standard Test Access Port and Boundary-Scan Architecture”, IEEE Std 1149.1-2002,
x added pins
(Revision of IEEE Std 1149.1-1990), http://grouper.ieee.org/groups/1149/1or
x additional design effort
http://standards.ieee.org/catalog/
x degradation in performance due to gate delays through the additional circuitry
[2] Parker, “The boundary-scan handbook: analog and digital”, Kluwer Academic Press,
x increased power consumption
1998 (2nd Edition).
Boundary Scan Example [3] M. L. Bushnell and V. D Agarwal, “Essentials of Electronic Testing” Kluwer academic
Publishers, Norwell, MA, 2000.
Since boundary-scan design is new to many designers, an example of gate count for a circuit [4] IEEE 1149.4 Mixed-Signal Test Bus Standard web site:
with boundary scan is discussed here. This provides an estimate for the circuitry sizes required to http://grouper.ieee.org/groups/1149/4
implement the IEEE 1149.1 standard, but without the extensions defined in the standard. The [5] IEEE 1532 In-System Configuration Standard web site:
example uses a library-based gate array design environment. The gate counts given are based on http://grouper.ieee.org/groups/1532/
commercial cells and relate to a 10000 gate design in a 40-pin package. Table 1 gives the gate [6] Agilent Technologies BSDL verification service:
requirement. http://www.agilent.com/see/bsdl_service

Logic Element Gate Equivalent


Problems
Variable Size
Boundary-scan Register (40 cells) 680 Approx 1. What is Boundary Scan? What is the motivation of boundary scan?
Fixed Sizes 2. How boundary scan technique differs from so-called bed-of-nails techniques?
TAP controller 131
3. What are the different device packaging styles?
Instruction Register (2 bits) 28
Bypass Register 9 4. What is JTAG?
Miscellaneous Logic 20 Approx 5. Give an overview of the boundary scan family i.e., 1149.
Total 868 Approx
6. Show boundary scan architecture and describe functions of its elements.
Table: 1 Gate requirements for a Gate Array Boundary-scan Design 7. Show the basic cell of a boundary-scan register. Describe different modes of its
operation.
It must be noted that in Table 1 the boundary-scan implementation requires 868 gates, requiring
an estimated 8 percent overhead. It also be noted that the cells used in this example were created 8. A board is composed of 100 chips with 100 pins each. The length of the total scan chain
prior to publication of the IEEE 1149.1 standard. If specific cell designs had been available to is 10,000 bits. Find a possible testing strategy to reduce the scan chain length.
support the standard or if the vendor had placed the boundary-scan circuitry in areas of the ASIC 9. What is TAP controller? What are the main functions of TAP controller?
not available to the user, then the design would have required less.
10. Describe a serial boundary scan chain and its operation. What are its disadvantages and
discuss a strategy to overcome these.
9. Conclusion
11. Discuss different instruction sets and their functions.
Board level testing has become more complex with the increasing use of fine pitch, high pin 12. Considering a board populated by IEEE 1149.1-compliant devices (a "pure" boundary-
count devices. However with the use of boundary scan the implementation of board level testing scan board), summarize a board-test strategy.
is done more efficiently and at lower cost. This standard provides a unique opportunity to
simplify the design debug and test processes by enabling a simple and standard means of 13. What is the goal of the infrastructure test? Is the infrastructure test mandatory or
automatically creating and applying tests at the device, board, and system levels. Boundary scan optional? Which are the main steps of an infrastructure test?
is the only solution for MCMs and limited-access SMT/ML boards. The standard supports 14. Consider the example depicted in the following figure.
external testing with an ATE. The IEEE 1532-2000 In-System Configuration (ISC) standard
makes use of 1149.1 boundary-scan structures within the CPLD and FPGA devices.

Version 2 EE IIT, Kharagpur 21 Version 2 EE IIT, Kharagpur 22


TDO

TDI

A C E

B IC1 IC2 F
D

This circuit has two primary inputs, two primary outputs and two nets that connect the ICs one to
the other. There is only 1 TAP, which connects the TDI and TDO of both ICs. Prepare a test plan
for this circuit.
15. Consider a board composed of 100 40-pin Boundary-Scan devices, 2,000 interconnects,
an 8-bit Instruction Register per device, a 32-bit Identification Register per device, and a
10 MHz test application rate. Compute the test time to execute a test session.
16. What is BSDL. What are the different BSDL files?

Version 2 EE IIT, Kharagpur 23

You might also like