Boundary Scan Methods and Standards
Boundary Scan Methods and Standards
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
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
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.
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.
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
Fig. 41.10 BUS master for chips with BS: (a) star structure, (b) ring structure
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.
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?