Bscan 04
Bscan 04
Boundary-Scan Testing
4
Testing Boundary-Scan Device Chains
Overview 4-2
Introduction to Testing Device Chains 4-3
InterconnectPlus 4-13
Generating Tests for Boundary-Scan Chains 4-41
Results Analysis Routine 4-89
Debugging Boundary-Scan Tests 4-97
InterconnectPlus Test Language (ITL) 4-104
VCL/ITL Pass-Thru Statements 4-117
VCL Source Code For Chain Tests 4-119
Sample Boundary-Scan Device Chain 4-123
4-1
4 Testing Boundary-Scan Device Chains
Overview
The next step toward full utilization of boundary- scan technology involves
testing circuit boards that employ chains of boundary- scan devices. The
ability to test boundary- scan devices connected to one another can
significantly shorten test development time, and could result in a reduced
need for nodal access.
This chapter explains how an advanced feature of Agilent Boundary- Scan
software, Agilent InterconnectPlus, accomplishes this task. The software
develops and executes powered shorts, interconnect, buswire, and connect
tests, which are accompanied by a comprehensive results analysis routine
that diagnoses failures. This routine also features detailed messages that
help you to identify failures quickly and precisely. In addition, a disable
routine is available to disable the outputs of all the devices in a
boundary- scan chain. All of this is created automatically when you specify
your boundary- scan devices during the normal test development process.
Before you read this chapter, you should understand the basic concepts of
IEEE Standard 1149.1, Boundary- Scan Description Language (BSDL),
Vector Control Language (VCL) and the general board test generation
process.
InterconnectPlus is an optional, advanced boundary-scan product for
NOTE
the Agilent In-circuit Test System. For this product to work, you must
include the enable advanced boundary scan statement in your
board configuration file to turn on advanced boundary-scan. See
Syntax Reference for more information about the enable statement.
Several sections in this chapter refer to the sample device 74bct8374 Octal
(Figure 2- 9 on page 2- 68) when examples are needed. This is the same
device used in earlier sections of this documentation.
u1 u2 u6
u7
u3 u4
u5
Bit patterns can be shifted in through the initial TDI connection (u1 in
this case), shifted through every device in the chain, and shifted out the
final TDO connection (u4 in this case) for analysis. Theoretically, all
testing of interconnected nodes for the boundary- scan devices in the chain
can be accomplished using only four test probes: one on the initial TDI
node, one on the final TDO node, and one on each of the controls lines
TCK and TMS. Testing non- boundary- scan devices connected between
boundary- scan devices can also be accomplished using these four probes.
This chapter explores the practical application of testing boundary- scan
chains, and describes the process for developing an optimum test strategy
for your board. The practical application of boundary- scan technology
neither requires nor implies that all possible probes be eliminated.
Employing boundary- scan technology provides you with the option to
remove probes in many cases, however, we still recommend that testhead
u1 u2 u3
TDI TDO
TCK
TMS
TRST
Every device in the chain is always in the same TAP state: chips operate
in parallel in boundary- scan mode. For example, if u1 is in SHIFT- IR, so
are u2 and u3. One shift cycle causes all devices to shift one bit.
The registers for each device in the chain do not have to be the same
length (IR or DR). The BSDL files tell the system the length of the
registers in each device. These are added together to form, essentially, two
long IR and DR registers. The instructions (bits) for the registers are also
added together to control each register. For example, Table 4- 1 shows
what the register lengths for the devices in Figure 4- 2 could be.
Table 4- 2 shows what the concatenated EXTEST instructions for this chain
might be. When bit patterns are written, the rightmost bit is closest to
TDO, that is, the first shifted in on TDI or out on TDO.
Although the TAP states must be the same, the instructions need not be.
For example, using the instructions in Table 4- 2, you can see in
Figure 4- 3 that if you shift in the pattern 0000011111111111111111, upon
transition through UPDATE- IR, u1 will be in EXTEST, while u2, and u3
are in BYPASS.
Note that, in this case, the length of the Data Register becomes 26 cells
(u1 Boundary Register has 24 cells, plus the u2 and u3 Bypass Registers,
which have one cell each). Shifting in a new set of instructions can change
the active registers and therefore the length of the chain's Data Register.
From this you can see that the length of the Instruction Register for the
chain is fixed: it is the sum of the length of all the Instruction Registers in
the chain. However, the length of the chain's active Data Register is
dependent upon the current instructions for each device in the chain: it is
the sum of the length of the active Data Registers in the chain. This, in
turn, affects the length of the data bits that must be shifted for a given set
of tests.
InterconnectPlus software keeps track of these changes as you develop
your chain test. The information in the BSDL file tells the software the
length of the registers targeted for each instruction.
u1
u2 u3
TDI TDO
TCK
TMS
TRST
Figure 4-4 Keeping TAP-only devices in the chain prevents having to break chains
u3 u4
TAP
Only
u2 u5
u1 u6
TD1 TDO
The development software allows you to specify that certain nodes which
are logically equivalent to physical TAP signal connections should be used
in place of the physical TAP signal nodes. This enables you to override
The following examples can and should all be addressed via TAP override.
The examples are merely used to explain the concepts of chain overrides
and do not show the typical cases in which it is the better choice (e.g.
when TAP overrides are not available with PDLs).
Multiple TMS and TCK connections (Figure 4- 7), makes the software treat
the board as if it had two chains. If you intend a configuration to look like
a single chain, you must make it look like one chain for the software. If
you have multiple connections, you can connect the TCK and TMS lines
together inside the fixture, providing a physical connection. The software
allows you to override the board compiler’s view of the chain construction.
u1 u2 u3
TDI TDO
TCK TCK1
TMS1
TRST
TCK2
TMS TMS2
When you run the development software, you might discover that there are
more tests generated than you have chains existing on the board. On the
Mux systems, you can examine a testability report from Board Consultant
after data entry to see the chain structures found by the board compiler.
If you discover more chains than there actually are, you can edit the chain
description portion of the board file by setting the Boundary Scan Chain
Override on.
Figure 4- 8 is an example showing how the software could assume there
were two chains. TCK output from buffer A goes to two devices (U1 and
U2) in the chain. Since these outputs are on two different nodes on device
TCK/TMS pins, the software assumes two chains. By overriding, you tell
the software that there is only one chain.
Figure 4-8 Logical chain that will be treated as two chains. (A candidate for chain
override.)
TDO_TDI
TDI TDO
U1 U2
TCK1
TCK A TCK2
TMS1
TMS B TMS2
In reality, signals TCK1 and TCK2 as well as TMS1 and TMS2 are logically
identical buffered signals coming from TCK and TMS. The compiler cannot
know this so it splits the logical chain into two chains. To put the two
chains together with an override, do the followng:
• UnMux systems: Manually define the chain(s) using the Boundary Scan
task in the Developer Interface (select Data Input > Board Data > Boundary
Scan).
• Mux systems: First edit the global section of the board file to add the
following statement to the global flag section:
Boundary Scan Chain Override ON
After saving and compiling, you can use list object on board.o to
generate a board file containing the chain(s) that the compiler found.
You must then edit the chain descriptions in the board file (found at
the end of the file), and describe the actual chain construction.
The edited chain looks like Example 4- 2.
u1 u2 u5 u6
TDI
TDI
u3 u4 u7 u8
TDO TDO
You should not jumper around non- compliant devices (example shown in
Figure 4- 10) solely for the purpose of making a larger chain. This can
result in overdriving difficulties, or other testing problems.
Figure 4-10 Connecting a jumper to make a longer chain around non-compliant devices is
not recommended
TDI TDO
InterconnectPlus
• Chain Testing with InterconnectPlus
• InterconnectPlus Test Files
• Powered Shorts Test
• TAP Integrity Check
• Interconnect Test
• Buswire Test
• Connect Test
• Custom Boundary- Scan Tests
Executing shorts and analog in- circuit tests should identify the majority of
shorts that occur across physically accessed nodes, which minimizes
potential damage to your board.
Shorts and analog in- circuit tests are described in detail in Analog Testing.
Digital in- circuit tests are described in Digital Testing. BIST and INTEST
are described in Introduction to Boundary- Scan. Silicon Nail test theory is
discussed in Automated Silicon Nails.
The primary purpose of this section is to examine the following tests:
• Powered Shorts Test - Tests for solder shorts on the connections
between boundary- scan nodes that do not have physical access and
conventional nodes of any other type that do have physical access, and
are physically close to each other.
The exceptions are power and ground nodes, disable nodes, and TAP
NOTE
nodes. Shorts to power or ground are detected by an interconnect
test. Most shorts to TAP nodes are detected by an integrity test.
Powered shorts test fixes the direction that bidirectional cells are
tested: those cells selected as drivers by the software are tested only as
drivers; those not selected are tested only as receivers.
One powered shorts test is generated for each boundary- scan chain on
the board. If this test fails, testing stops, and power is removed from
the board.
For more information, see Powered Shorts Test on page 4- 18.
• TAP Integrity Check - Verifies that the Test Access Port (TAP) of all
the boundary- scan devices in the chain operate properly. If this check
fails, testing stops, and power is removed from the board. This check is
a preamble to all other boundary- scan tests; it is an integral part of
each test and is executed before each test runs.
For more information, see TAP Integrity Check on page 4- 20.
• Interconnect Test - Tests the connections from one boundary- scan
device to the other boundary- scan devices in the chain. This test checks
primarily for shorts, but most opens will also be detected. If this test
fails, testing stops, and power is removed from the board. Interconnect
test attempts to use only one driver in the case of bussed nodes. This
helps keep tests shorter, helps diagnostics, prevents bus fights, and
minimizes the potential for device damage.
Interconnect test fixes the direction that bidirectional cells are tested:
those cells selected by the software as drivers are tested only as
drivers; those not selected are tested only as receivers.
Interconnect tests require the use of only four testhead resources; three
drivers (TMS, TCK, TDI) and one receiver (TDO).
One interconnect test is generated for each boundary- scan chain on the
board. This test verifies the connections among devices in the same
chain only.
For more information, see Interconnect Test on page 4- 22.
• Buswire Test - Created when bussed drivers are present in the chain.
On bussed nodes, interconnect test typically only enables one driver.
Under certain circumstances, interconnect test must be executed with
multiple device outputs driving identical test patterns onto the same
(bussed) node. If one of the output pins was disconnected from the
node (open), it would go undetected. For this reason, buswire test turns
drivers on one at a time to check for opens, and tests the operation of
all drivers. One buswire test is generated for each chain on the board.
Buswire test verifies the operation of bidirectional pins by generating
separate vectors to check their operation as drivers, then as receivers.
For more information, see Buswire Test on page 4- 33.
• Connect Test - Tests for opens on one device in the chain. This test
checks for opens on only the inputs and outputs of devices that have
physical probes assigned. One connect test is generated for each
boundary- scan device in the chain that has been specified to be
connect tested and that has one or more I/O pins accessible from the
testhead.
For larger devices that exceed the available number of testhead
resources (for example, testing a 300- pin ASIC when only 200 resources
are available), or to minimize ground bounce caused by too many
simultaneous transitions, you can automatically split the connect test
into two or more smaller tests by using the Connect Max feature.
Connect test verifies the operation of bidirectional pins by generating
separate vectors to check their operation as drivers, then as receivers.
For more information, see Connect Test on page 4- 37.
• Disable Test - Disables the outputs of all the devices in the chain to
the extent possible. If the Boundary Scan Disabling option is selected,
this test will be generated.
Figure 4-12 Powered shorts test checks for shorts between unnailed boundary-scan nodes and any nearby
nailed node
VCC
IN_17 VCC
IN_18
1 1
24 u3 24
U3_3 u4
3 22
2 U3_2 23
*Potential Short
*Potential Short
*Potential Short
9 8
10
12 u5
11
13
parameters for powered shorts test are an un- nailed boundary- scan node
and a nailed node of any other type, InterconnectPlus software would
create a powered shorts test for this circuit.
Note that two adjacent pins on device u5, pins 10 and 11, would not be
added to the powered shorts test because pin 10 is a disable node that
must be held to a constant state during boundary- scan testing. Shorts on
this node would be found either during unpowered shorts testing, or
during the first phase of interconnect testing.
After you enter your board data, the development software analyzes it and
looks for un- nailed boundary- scan nodes. It then examines the X- Y data
for powered shorts situations to adjacent nailed nodes. The software then
writes the ITL for the powered shorts test.
When this test is executed, several subtests are run. Each subtest is a
cycle through a selected set of nailed nodes connected to multiplexed
hybrid drivers. Multiplexing is used to reduce the number of resources
needed for the complete test. A detailed diagnostics routine is executed
upon failure and results are reported to the print device.
u1 u2
TDI
u3 u4
TDO
The TAP integrity check looks for the basic integrity of the devices' TAP
controllers and the boundary- scan chain. Examples of problems that could
be encountered include:
• one of the devices is bad and simply does not work
• a wrong device was loaded
• one of the TDI or TDO connections is bad (for example, an open
between u3 and u4)
• TCK is disconnected from one or more devices
Interconnect Test
This test is created automatically, and in most cases will work without
debug. This section is provided for reference only.
An Interconnect test allows you to test the circuitry that connects one
boundary- scan device to another. The Interconnect test primarily looks for
shorts, then most opens. (A buswire test might be necessary to detect
opens missed by the interconnect test.) Only the connections between
devices in the same boundary- scan chain can be verified.
Testhead access is required only for the TDI, TDO, TMS, and TCK nodes.
All other nodes located between the boundary- scan devices in the chain
can be silicon nodes. Figure 4- 14 illustrates an interconnect test.
Because damaging devices during powered testing is an important issue,
InterconnectPlus software takes the following approach to interconnect
tests.
• Looks for shorts and most opens.
• Concentrates on finding shorts as fast as possible.
• Nodes completely tested via connect tests are commented from the
interconnect ITL to minmize ground bounce.
Figure 4-14 Interconnect Test checks connections for most shorts and some opens within
the chain
A
u1 B u2
C
TDI
Nodes tested in
Interconnect
u3 u4
TDO
Frame
Node 1 2 3 4 5
A 0 1 0 0 1
B 0 1 0 1 0
Rows form signatures
C 0 1 0 1 1
D 0 1 1 0 1
The columns of bits form frames. Frames are vectors that are shifted into
the chain serially (serialized vectors). The number of bits in a frame is
determined by the number of cells in the active, concatenated register. The
VCL frame is two times the size of the active register because two vectors
are needed for each clock cycle.
The rows of bits form signatures, also called identification (ID) patterns,
for these nodes. Signatures (IDs) must be different for each node so
software can distinguish one node from another.
The frame statement found in the VCL source code tells the system's
deep- capture RAM to capture bits shifting out of TDO. The frame size tells
you how many bits are shifted into the deep- capture RAM each time a
frame is executed. The following example frame would be needed to shift
the fourth frame (0110) of the signatures for Figure 4- 15.
A 0 1 0 0 1
u1 B 0 1 0 1 0 u2
C 0 1 0 1 1
TDI
A
u3 B u4
D 0 1 1 0 1
TDO
Frame 1 2 3 4 5
TDI
Control Cell
8
u3 9 u4
10
TDO
Control Cell
Several circumstances can prevent the software from designating only one
driver. Figure 4- 16 illustrates one situation where bussed drivers share the
same control cell. For this example, let's say that the software looks for
and finds a driver for u1.13. It finds the only one available and designates
it as the driver for that node. Notice that this pin's control cell is also
connected to the drivers for u1.11 and u1.12.
By itself, this is not a problem. However, when the software moves on and
designates a driver for u3.10, the control cell for that pin also enables the
drivers for u3.8 and u3.9, which are connected to u1.11 and u1.12
respectively. The situation that now arises is that the two buswires (nodes
A and B) have multiple drivers.
This situation must occur because the interconnect test needs to drive
these nodes during testing. To eliminate bus fights, the software ensures
that the data on these drivers is the same. Fault masking, which can
result from this situation, is rectified during buswire test.
When the devices pass through UPDATE- IR, the driver cells drive the
SAMPLE/PRELOAD data bits to the board nodes where the states can be
observed by the receive cells. As the devices pass through CAPTURE- DR,
the receive cells capture the data, and subsequently shift it out. When
these bits are being shifted out, new bits are shifted in. Subsequent passes
through UPDATE- DR drive new bits to the nodes and thus to the receive
cells, which are then captured and shifted out for examination. Data
captured on each receiver on each node should correspond to the
signature for each node.
Safe bits (described in the BSDL file) are shifted in for the last frame to
flush the Boundary Register and shift the final signature bits out. The safe
bits control the boundary register cell states (and thus the I/O pin states)
at the end of the test.
The examples that follow are simplified to provide a basic understanding
of how the software detects faults during test. The actual diagnosis is
more complex and is explained later in this chapter.
TDI
u3 u4
D 0
TDO
If, upon capture, the 0 loaded into driver u1.A was captured as a 0 on
u4.A, but as a 1 on u2.A, then the software would report a failure
(probably an open) on u2.A. See Figure 4- 18.
Open
A 0 1 A
u1 B 0 B u2
C 0
TDI
A 0 0 A
u3 B 0 u4
D 0
TDO
A 0 1 A
u3 B 0 u4
D 0
TDO
Frames
Node Power Bits Counting Bits Complement Bits
Eliminates Aliasing Primarily Distinguishes One Node Reduces Incidence of Aliasing
to Ground or VCC From Another Between Active Nodes
A 0 1 0 0 0 1 1 1 0
B 0 1 0 0 1 0 1 0 1
C 0 1 0 0 1 1 1 0 0
D 0 1 0 1 0 0 0 1 1
Figure 4-20 Interconnect Test uses signatures to check for shorts and opens. In this example, a short is
detected
Expected Captured
Signatures Signatures
A
u1 B 0 1 0 0 1 1 u2
C 0 0 1 0 1 1
TDI
A
u3 B u4
D
TDO
Figure 4-21 Software breaks out buswire tests from Interconnect Test
11
u1 12 u2
13
TDI
Control Cell
8
u3 9 u4
10
TDO
Control Cell
Buswire Test
This test is created automatically, and in most cases will work without
debug. This section is provided for reference only.
During the interconnect test, opens on bussed nodes could be missed for a
number of reasons. Because of the safety issues mentioned above,
attention to this class of faults is delegated to separate, buswire tests. The
buswire test is derived from the connectivity information used to generate
the interconnect test. If the development software sees that the chain has
bussed devices, it generates the buswire test. As with the interconnect
test, nodes completely tested via connect tests are commented from the
buswire ITL to minimize ground bounce. Figure 4- 22 illustrates a buswire
test.
u1 u2
TDI
u3 u4
TDO
The buswire test looks only for opens on bussed devices. Shorts are not a
concern because these were tested for in the tests (shorts, powered shorts,
and interconnect) executed earlier. Drivers are tested one at a time to
ensure that all possible situations for which opens could occur are tested.
Figure 4- 23 shows several examples where opens could be missed during
interconnect testing in the case of bussed devices:
• A - If only one driver per bussed wire is enabled during the
interconnect test, opens on the disabled drivers would not be detected.
• B - If two or more drivers must be enabled to satisfy the interconnect
test and they drive the same node, an open on one of these drivers
would not be detected.
Figure 4-23 Example cases where opens could go undetected by interconnect test on
bussed wires
OFF
ON
ON
OFF ON
C. Ganged drivers
ON
ON
undetected failure
This failure is difficult to detect and diagnose by any electrical method.
Table 4-6
TDI
10 A 7
u1 9 B 6
u4
8 D 5
TDO
Table 4-7
TDI
A
B
D
TDO
Connect Test
This test is created automatically, and in most cases will work without
debug. This section is provided for reference only.
InterconnectPlus connect test allows you to test for opens on device inputs
and outputs that have physical probes assigned to them. Shorts between
pins with testhead access are detected by the unpowered shorts test.
Connect tests are run sequentially, from the first device in the chain (uX)
to the last device in the chain (uY) until all devices have been tested. All
other devices in the chain are placed in BYPASS. At least one connect test
is generated for each scan device specified to be connect tested. Multiple
tests will be generated if the Connect Max parameter is used. Figure 4- 26
illustrates a boundary- scan connect test.
If an upstream boundary- scan device in the same chain is in BYPASS and
it has outputs that affect the DUT, the development software will generate
the required disabling methods to eliminate conflicts if a library test is
available with a suitable disable construct.
More commonly, this is addressed by setting the Boundary- Scan Disables
flag in the board file, or by editing the chain definition in the ITL file to
disable the desired device.
Figure 4-26 Connect Test checks the connections of each device in a chain
TDI
TDO
Note that the nodes tested by a connect test would not have been tested
by interconnect test if they were not part of the interconnect circuitry.
The connect test employs the Parallel Toggle macro. The default test
pattern is all ones and all zeros. The developer can change this to
alternating ones and zeros using the checkerboard keyword.
Complementary patterns are captured, shifted, and compared to check for
opens. A test is created for each boundary- scan device that:
• is not TAP ONLY (as indicated in the data entry phase), and
• has one or more of its pins connected to real testhead probes.
A connect test performs the following actions:
• Inputs are confirmed by placing an alternating 0/1 pattern on the
testhead nails and looking for this pattern on the device inputs.
• Outputs are confirmed by first placing all device outputs high, then low
(in alternating patterns), and looking for this pattern at the testhead
nails.
This output testing is skipped entirely if the test inputs only
command is put into the ITL file.
A connect test can fail in one of three ways:
• the TAP integrity procedure could detect a problem
• ground bounce can be detected
• the connect verification routines could detect a problem
Failure messages describing the exact nature of problems detected during
the TAP Integrity procedure are encoded directly in the VCL source itself.
The failing vector number is also printed on the repair ticket along with a
failure message. These two items provide you with a place to begin looking
for the problem.
Connect tests can be created for each device in each boundary- scan chain
if those devices have any input or output pins connected directly to the
testhead (that is, if those devices have any accessible nodes). These tests
do not check for shorts between nodes; they look for opens only.
Tests using checkerboard pattern will detect some shorts, but not all.
NOTE
Therefore, connect tests should not be executed until both the unpowered
shorts test and the (powered) interconnect test have been run. If this
procedure is not followed, undetected shorts could cause device damage
and inaccurate diagnosis.
TDI
TDO
Devices treated as
stand-alone
Devices connected in a chain
Physical probe (all connect test nodes with probes are tested)
The BSDL file for each device must be complete and accurate.
NOTE
Incomplete or inaccurate descriptions can result in complicated debug
later in the process. See Verifying BSDL Descriptions.
The board files board and board_xy are used by the development software
to determine the devices in a chain and their locations on the circuit
board.
ITL source files contain references to BSDL files. These files must be
NOTE
compiled (creating .o objects) before compiling the ITL files.
4
Testing Boundary-Scan Device Chains
Test Development Software
“board” “board_xy”
Compiler
Notes:
ITL source files contain references to BSDL
files. These files must be compiled (creating
.o objects) before compiling the ITL files.
“board.o” “board_xy.o”
* Connect tests are optional for each device
in the chain. There will be more than one test
TOPOLOGY
per device if the Connect Max is used.
Test Development Software
creates ITL source files
Connect Test
Silicon Nail ITL Powered Shorts Test Interconnect Test Buswire Test Disable Test Silicon Nail Test
(0 or more* per device
(optional, multiple tests; (1 per chain) (1 per chain) (1 per chain) (optional, multiple tests) (optional, multiple tests)
connected to real nails)
manually written) uX_uY_ps uX_uY uX_uY_bus uX_uY_dis uX
uX_connect
Powered Shorts Test Interconnect Test Buswire Test Connect Test Serialized Test
<testname>.xml <custom>.vcl uX_uY_ps.vcl uX_uY.vcl uX_uY_bus.vcl uX_connect.vcl uX.vcl Disable Test
and and and and and uX_uY_dis.vcl
uX_uY_ps.vcl.x uX_uY.vcl.x uX_uY_bus.vcl.x uX_uY_connect.vcl.x uX.vcl.x
Compiler
Powered Shorts Test Interconnect Test Buswire Test Connect Test Silicon Nail Test
(executable) (executable) uX.o Disable Test
<custom>.r (executable) (executable) uX_uY_dis.r
or uX_uY_ps.r uX_uY.r uX_uY_bus.r uX_connect.r (executable)
Boundary-Scan Testing
or or or or
<custom>.o or or uX_uY_dis.o
uX_uY_ps.o uX_Y.o uX_uY_bus.o uX_connect.o uX.r
The Silicon Nail test path is shown in Figure 4-28 only to identify its
NOTE
relationship to standard chain test generation. Silicon Nail testing is
discussed in Automated Silicon Nails.
The test can then be run on the circuit board. At this time, the Results
Analysis Routine interacts with the testhead to diagnose and report
failures.
Option Description
Testable Select Yes if the device is to be tested, or No if it is not. Yes is the default
selection.
Test Using TestJet Select Yes if TestJet will be used to test this device. No is the default selection. If
you select Future, holes for TestJet probe are partially drilled, but the wiring and
mux assignment is not made.
TestJet Probing Select the TestJet probing method. Select the default, Keepout Method, to use the
old keepout technique. The other selections perform the following tasks:
Auto Selection Uses the device outline to programmatically define the TestJet probe type and
where to drill the fixture to mount this probe.
Option Description
Foam Override Uses the foam mounted probe regardless of the dimensions of the device. (This
option is not allowed if the device is on the bottom side of board.)
Spring Override Allows you to override the software’s automatically selected probing method. The
software will choose a small or standard probe automatically, based on the device
outline dimensions. Use one of the following new options to override the
automatic choice:
Small Spring Override Instructs the fixturing software to use a small TestJet probe normally used with
Polarity Check tests. Probe locations are directly across from each other.
Standard Spring Override Instructs the fixturing software to use a standard TestJet probe. Probe locations
are at two opposite corners of the active board.
Any devices with TestJet Probing set to something other than Keepout Method
must also have a device outline in order for the software to determine where to
place the probe or where to partially drill for a potential future probe. If a device
with a non-keepout TestJet Probing setting does not have an assigned device
outline, this error that will prevent compilation of board_xy.
Library Test Expected Select Yes if you want the standard digital library test for the designated device to
be generated along with the boundary-scan tests. To execute this test, your device
must have probes assigned to all nodes. No is the default selection.
Test Using Connect Check Select Yes if Connect Check will be used to test the device. The default is Yes.
Device Outline Enter the corners of the device outline area in the X Value and Y Value fields. If
only two device outline points are entered, these two points will be treated as
opposite corners of a rectangle. If more than two device outline points are
entered, the device outline will be a polygon whose vertices are the points
entered, ordered exactly as they are listed in this form; point_1 to point_2 to ... to
point_N.
The device outline must have at least two points, and can have up to 120 points. If
the last point listed is not identical to the first, that point will be assumed
automatically in order to close the polygon. The units of measurement are
tenth-mils.
While any device may be assigned an explicit device outline, outlines are truly
required only for devices to have a TestJet probe placed over them automatically
(now or in the future) for testing using TestJet or Polarity Check (i.e., devices
whose TestJet Probing attribute is set to something other than Keepout Method).
Option Description
Capture Graphic Device Click this button to copy the polygon currently being used as an outline for this
Outline device into this form as the explicitly assigned device outline. If the device outline
shown in the graphic is rectangular, only two points will be copied into the form --
the upper left and lower right corners of the rectangle. Otherwise, all of the points
in the graphic polygon are copied, keeping their ordering.
The default outline used in the graphics window is a rough guess based on device
pin locations. If it is not close enough to the actual device profile to allow
adequate probe placement, edit the outline and adjust it before you select Replace
Device.
Clear Clears out all the X/Y values. Once you have assigned an outline to a device, it will
be used in the graphics window. Thereafter this button will simply copy that
outline back from the graphics window. To return to the default, estimated outline
originally used in the graphics window, select Clear Outline, then Replace Device,
and press this button again.
Testability Standard Click on the 1149_1 box if the designated device is a boundary-scan device. When
you click on the 1149_1 box, you enable the options and data entry fields in the
lower half of this form. If you do not click on the 1149_1 box, the test system will
not consider this to be a boundary-scan device. Clicking on this box does not imply
that the device is fully-compliant with IEEE 1149.1.
BSDL Part Number Enter the name of the BSDL file for the designated device. This file is treated as a
library file in that it is looked for in the same order as other library devices
specified in the Library Paths Form. If a BSDL file match cannot be made, the
compiler will generate an error.
Device Package Type Enter or change the package type for the designated device. If the package type
specified cannot be found, the compiler will generate an error.
Connect Test Select Yes if you want IPG to generate a boundary-scan connect test for the
designated device. A connect test is written for the device only if physical probes
are assigned to nodes for that device. The part must have an interconnect test to
perform a connect test. The default is Yes.
TAP Signal Overrides Brings up the TAP Override Form to allow you to specify the nodes for tdi, tdo, tck,
tms, and trst, which will affect how the chain is derived but does not represent a
change in connectivity.
Interconnect Test Select Full if you want IPG to generate a boundary-scan powered shorts and
interconnect test (and associated buswire test) for the designated device. Select
TAP only if the device is non-compliant in some way, but you do want to keep this
device in your chain. The default is Full.
Option Description
Connect Max Enter a value between 1-999 to specify the maximum number of nodes to test in
any connect test. This value is not applicable if TAP only or Interconnect only are
selected. If a zero is entered, this field will be set to blanks.
The digital kernel of a powered shorts test is essentially identical to that of an
interconnect test with one addition: the surrounding (adjacent) nailed nodes are
also tested automatically when a powered shorts test is generated.
Connect Max cannot be used with versions. You can only change Connect Max
value in the base device. The Connect Max value will be the same for all versions.
See The Connect Max Option on page 4-50 for an explanation of this feature.
Note: If you use Connect Max to conserve channels, select No for the Library Test
Expected field. If this field is Yes, the system will assign resources for a standard
in-circuit test, whether or not Connect Max is selected.
After you have described your devices and added them to your test, the
software checks to see if a library model exists for the test. You should
have at least a setup- only test in the library at this time, to provide
pertinent disabling and device family information. (Disabling information is
not needed for boundary- scan disabling; see Using Boundary- Scan
Disabling.) Note that IPG cannot find the setup- only tests unless you mark
the Library Test Expected field in each corresponding library entry form as
Yes.
Remember that specifying a device as TAP- only eliminates that device
from boundary- scan testing but allows you to keep the device in the chain,
which in turn allows for better overall testing of the chain.
Connect Test must be set to No if you want to specify the device as
TAP- only. Setting Connect Test to Yes disallows a TAP- only setting, or
changes the Interconnect Test button to Full if you had previously set it to
TAP- only.
You can specify a library test to be performed on a TAP- only device if you
wish. Set the Library Test Expected button to Yes if you want IPG to generate
a standard digital library test for your TAP- only device. Remember that
you must have physical probes assigned to every node for each device that
will have a standard digital library test generated.
u1 u2
TDI
u3 u4
TDO
Internal Cell*
Output
Control
Output Control*
TDI TDO
TCK TMS * Cells missing from BSDL
TDI TDO
All boundary- scan devices should have at least setup- only files in a digital
library before you generate your fixture files so that disabling information
is provided. To understand why this is necessary, consider the scenario
illustrated by Figure 4- 33.
Figure 4-33 Boundary-scan devices set in BYPASS and needing disabling must use standard device disabling
methods
EXTEST BYPASS
TDI
BYPASS BYPASS
TDO
Bidirectional pins
You should understand that if the software cannot identify a fixed node as
being high or low, it will still add this information to the ITL source file,
but the line will be commented out, and the state will be labeled
unknown. You will have to edit the ITL source file to describe the state as
high or low, then uncomment the line.
By defining Boundary- Scan Disabling, you can control how devices in the
chain that have bussed pins will be disabled during connect tests of other
devices.
Boundary-Scan Disable On
When a connect test is executed, only one device is tested at a time. If
other devices in the chain have bussed pins that need to be disabled in
order to test a pin of the selected device, the bussed devices will be issued
the HIGHZ instruction, instead of the BYPASS instruction, to allow testing
of the bussed pins.
If the HIGHZ instruction is not available for a device that needs to be
disabled, the device will be issued the CLAMP instruction during the
connect test, if it is available. If the CLAMP instruction is not available,
the device will be issued the EXTEST instruction, and its boundary
register will be loaded with the necessary patterns to control the drivers
for the bussed pins.
Boundary-scan disabling may leave a device’s internal logic in an undefined state and
prevent the conventional disabling of non-boundary-scan pins
ine ic
def log
d
un rnal
e
Int
Non-boundary-scan pin Disabled boundary-scan pins
(non-compliant)
BP
Non-boundary-scan pin
IR
(non-compliant)
TAP
CONTROLLER
Also, after performing boundary- scan disables, the test plan pauses and
displays the message:
Test Programmer Action Reminder:
Evaluate, act, and then delete this 'pause' section.
Boundary-scan
disabling places
the component
in this state
The test plan inserts a comment into the test program that reminds you to
check the persistence of your boundary- scan disables. These comments
follow the pause statement. You can view them when you edit the test
program. Example 4- 5 shows a sample message.
As stated in the message, you should change the print and pause
statements to comments after you check persistence and debug the
program.
To check persistence:
1 Prepare the test with the Boundary- Scan Disabling field set to On.
2 Run the test until it pauses.
3 Examine the TCK and TMS signals to make sure they are in a stable
state. TMS and TCK should be held to a logic low level. (TCK could also
be held to a logic high level if all boundary- scan devices support a
stable state when TCK stops at 1.)
4 If TCK and TMS are not quiescent - such as when an oscillator is
connected to TCK - do one of the following:
• Shut the oscillator off.
• Connect TCK to a general purpose relay to a pull- down resistor
(typically 150 ohms to ground for TTL/CMOS). This keeps the TAP in
Run- Test/Idle. For example, the oscillator line may include an AND
gate to which you can connect the pull- down (Figure 4- 36).
• If the oscillator is not gated, add the relay to pull- down to TMS
(Figure 4- 36). As shown in the state diagram (Figure 4- 37), feeding a
zero signal to TMS keeps the TAP in Run- Test/Idle.
If you use a GP relay to pull down a signal, the relay must be closed
NOTE
when the testplan implements boundary-scan disables.
Boundary-scan devices GP
with internal pull-up Vcc Vcc
resistors for TMS
TCK TCK
Oscillator
AND
TCK should be held at a logic low level.
It can also be held at a logic high level
if all boundary-scan devices support a
stable state when TCK stops at “1”.
5 If you have multiple chains with a common TCK and different TMS
signals - such as the two paralleled serial chains with common TCK in
Figure 4- 37 - you may need multiple put- downs to the TMS lines to
maintain persistence.
TMS1
TCK TDO
TMS2
Boundary-Scan Linker/MUX
Boundary- Scan Linker/MUX devices can create testing difficulties. For
example, these devices may appear in chains in up to five places. They
appear as the device itself, and also as pad bits1 in up to four places.
These pad bits are internal to the device but appear in the chain as well.
This causes a one bit delay per pad in the chain, causing the test to fail.
The solution is to combine these pad bits into the proper places in the
chain.
1. Pad bits are shift register cells (like 'internal' cells) that are inserted in the Boundary Register
chain at specific places. Each adds a new TCK shift cycle needed to move data through the chain.
There are two ways in which this can be done, as illustrated in the
following examples:
• Method 1 - After IPG generates the ITL files, edit them to include the
necessary pad and insert keywords.
• Method 2 - A better alternative is to add the pad and insert keywords
in the board file, so that the ITL files are generated correctly by IPG.
Method 1
Figure 4- 38 shows a device linking simple chains A, B, and C. Pad bits are
inserted in the linked chain and are actually resident in the 74ACT8997
device. These pad bits appear in a normal 1149.1 form at the end of the
chain.
A1 A2 Ai
PAD
TDI BIT
B1 B2 Bj
PAD
BIT
C1 C2 Ck 8997
PAD
BIT TDO
This could be edited to connect the two chains and the linker into a single
chain, though without pad bits at this time. Example 4- 7 shows the
resulting single chain description.
The system runs tpg, creating ITL files for the chain. These ITL files have
a chain description section that looks like Example 4- 8.
You then edit in the pad bits and optionally, the pointer to the PCF
fragment needed to configure the linker/MUX chip.
Example 1
You have just translated CAD data and now have a board file. The
Boundary- Scan section of the testability report tells you that three
Boundary- Scan chains exist on the board when you thought there was
one. You discover a TI 74ACT8997 chip and two subchains on the board.
You decide to test the board with the chains and the linker all grafted
together. This means that you will need to turn on the Global
Boundary- Scan Chain Override.
The list object function generates a new board file with the chain structure
described at the very end. You edit the file as shown in the preceding
section to perform the graft. The program generation process continues
until the ITL files for Boundary- Scan are created. You edit the ITL files to
add in the pad bits and a pointer to the PCF fragment, called, for
example, linker_setup under the digital directory. You next create a text
file under the digital directory called linker_setup containing a PCF block
utilizing the scan PCF order for the TAP pins. This causes the linker to
configure itself to control two subchains linked as one, per the
TI74ACT8997 data sheet, as shown in the next example.
Now you compile the ITL files and move on in the normal board
development process. These files may be marked as permanent to retain
them if the tests are regenerated. No other intervention is required.
Example 2
• Example 4- 10 on page 4- 71 is the ITL source file for an interconnect
test, for a chain that consists of a MUX/Linker and one secondary
chain. Note that in the chain section, IC 2u8 is a linker/multiplexor IC.
The TAP port connections (including a TRST* pin) are all made to IC
2u8.
In the devices section, a pad keyword is inserted before the description
of device 2u1 to indicate that the MUX/Linker IC inserts a pad bit at
the beginning of the chain. If there had been other secondary chains
connected to the MUX/Linker IC, each of these is proceeded by a pad
keyword as well.
Just before the end of the chain description is an insertion statement
identifying a fragment of PCF code that is inserted into the generated
test. The PCF that is inserted is designed to program the
linker/multiplexor IC to connect the other ICs, 2u1 through 2u2, to the
first multiplexor port. The end result when this linkage is completed is
a chain of 5 devices, 2u1 through 2u8.
The rest of the ITL is unchanged from an interconnect description for a
normal chain.
chain "2u1_2u8"
tdi "2MTDI" channel;hybrid
tdo "2MTDO" channel;hybrid
tms "2MTMS" channel;hybrid
tck "2MTCK" channel;hybrid
trst "2MTRST" channel;hybrid
devices
pad
"2u1", "custom/74bct8374", "DW_PACKAGE", no
"2u2", "custom/74bct8374", "DW_PACKAGE", no
"2u3", "custom/74bct8374", "DW_PACKAGE", no
"2u4", "custom/74bct8374", "DW_PACKAGE", no
"2u8", "custom/74act8997", "DW", no
end devices
insert "digital/2u8_setup"
end chain
disables
node "2IN_26" channel;hybrid default "1"
node "2IN_28" channel;hybrid default "1"
nodes
fixed low "1IN_16" test "2u3.24"
silicon node "2U1_2" test "2u1.2","2u2.23"
silicon node "2U1_4" test "2u1.4","2u2.21"
silicon node "2U1_5" test "2u1.5","2u2.20","2u4.20"
silicon node "2U1_U3_7" test "2u1.7","2u2.19","2u3.7"
silicon node "2U1_U3_7" test "2u4.19"
silicon node "2U1_U3_8" test "2u1.8","2u2.17","2u3.8"
silicon node "2U1_U3_8" test "2u4.17"
silicon node "2U1_U3_9" test "2u1.9","2u2.16","2u3.9"
silicon node "2U1_U3_9" test "2u4.16"
silicon node "2U1_U3_10" test "2u1.10","2u2.15","2u3.10"
silicon node "2U1_U3_10" test "2u4.15"
silicon node "2U2_2" test "2u1.21","2u2.2"
silicon node "2U2_3" test "2u2.3","2u2.22"
silicon node "2U3_2" test "2u3.2","2u4.23"
silicon node "2U3_3" test "2u3.3","2u4.22"
silicon node "2U3_4" test "2u3.4","2u4.21"
end interconnect
message ""
pcf
use pcf order Scan
"01ZX1"
"11ZX1"!Select-DR-Scan
"00ZX1"
"10ZX1"!Capture-DR
"00ZX1"
"10ZX1"!Shift-DR
! Loading device 2U8 register SELECTR[8] (for SCANSEL).
end pcf
message "IEEE Std 1149.1-1990 Integrity Failure"
message " Device 2U8 has failed,"
message " suspect device or these pins:"
message " (tck) 15"
message " (tms) 14"
message " (tdi) 16"
message " (tdo) 13"
message " (trst) 26"
pcf
use pcf order Scan
"001X1"!0+0
"101X1"
"001X1"!1
"101X1"
"000X1"!2
"100X1"
"000X1"!3
"100X1"
"000X1"!4
"100X1"
"000X1"!5
"100X1"
"000X1"!6
"100X1"
"010X1"!7
"110X1"!Exit1-DR
"01ZX1"
"11ZX1"!Update-DR
end pcf
message ""
pcf
use pcf order Scan
"00ZX1"
"10ZX1"!Run-Test/Idle
! End of insert
Example 4-12 Portion of VCL source file from compiling ITL with PCF fragment
< source deleted >
!
use pcf order Scan
"01ZX0"!Reset a second time via TRST* and synchronizing sequence
"11ZX0"!to assure that any now-enabled BScan devices also reset.
"01ZX1"
"11ZX1"
"01ZX1"
"11ZX1"
"01ZX1"
"11ZX1"
"01ZX1"
"11ZX1"
"01ZX1"
"11ZX1"!Test-Logic-Reset Vector 25
"00ZX1"
"10ZX1"!Run-Test/Idle
!
! Including PCF from file digital/2u8_setup.
!
! Begin insertion
"01ZX1"
"11ZX1"!Select-DR-Scan
"01ZX1"
"11ZX1"!Select-IR-Scan
"00ZX1"
"10ZX1"!Capture-IR
"00ZX1"
"10ZX1"!Shift-IR
end pcf
message "IEEE Std 1149.1-1990 Integrity Failure"
message " Device 2U8 has failed,"
message " suspect device or these pins:"
message " (tck) 15"
message " (tms) 14"
message " (tdi) 16"
message " (tdo) 13"
message " (trst) 26"
pcf
use pcf order Scan
"000H1"!0+0
"100X1"
"001L1"!1
"101X1"
! Loading device 2U8 with instruction SCANSEL(01111110).
"000L1"!2+0
"100X1"
"001X1"!1
"101X1"
"001L1"!2
"101X1"
"001L1"!3
"101X1"
"001L1"!4
"101X1"
"001X1"!5
"101X1"
"001L1"!6
"101X1"
"010H1"!7
"110X1"!Exit1-IR
"01ZX1"
"11ZX1"!Update-IR
end pcf
message ""
pcf
use pcf order Scan
"01ZX1"
"11ZX1"!Select-DR-Scan
"00ZX1"
"10ZX1"!Capture-DR
"00ZX1"
"10ZX1"!Shift-DR
! Loading device 2U8 register SELECTR[8] (for SCANSEL).
end pcf
message "IEEE Std 1149.1-1990 Integrity Failure"
message " Device 2U8 has failed,"
message " suspect device or these pins:"
message " (tck) 15"
message " (tms) 14"
message " (tdi) 16"
message " (tdo) 13"
message " (trst) 26"
pcf
use pcf order Scan
"001X1"!0+0
"101X1"
"001X1"!1
"101X1"
"000X1"!2
"100X1"
"000X1"!3
"100X1"
"000X1"!4
"100X1"
"000X1"!5
"100X1"
"000X1"!6
"100X1"
"010X1"!7
"110X1"!Exit1-DR
"01ZX1"
"11ZX1"!Update-DR
end pcf
message ""
pcf
use pcf order Scan
"00ZX1"
"10ZX1"!Run-Test/Idle
! End of insert
!
! End of PCF from file digital/2u8_setup,
! 56 vectors inserted.
!
"01ZX1"
"11ZX1"!Select-DR-Scan
"01ZX1"
"11ZX1"!Select-IR-Scan
"00ZX1"
"10ZX1"!Capture-IR
"00ZX1"
"10ZX1"!Shift-IR
end pcf
message "IEEE Std 1149.1-1990 Integrity Failure"
message " Device 2U8 has failed,"
message " suspect device or these pins:"
message " (tck) 15"
message " (tms) 14"
message " (tdi) 16"
message " (tdo) 13"
message " (trst) 26"
pcf
use pcf order Scan
"000H1"!0+0
"100X1"
"001L1"!1
"101X1"
! Loading device 2U8 with instruction BYPASS(11111111).
"001L1"!2+0
"101X1"
"001X1"!1
"101X1"
"001L1"!2 Vector 100
"101X1"
"001L1"!3
"101X1"
"001L1"!4
"101X1"
"001X1"!5
"101X1"
end pcf
message "IEEE Std 1149.1-1990 Integrity Failure"
message " Device 2U4 has failed,"
message " suspect device or these pins:"
message " (tck) 13"
message " (tms) 12"
message " (tdi) 14"
Method 2
Using BT- Basic, edit the board file and generate the tests. Add the insert
keyword (followed by the <PCF file path relative to the board dir>)
before the devices section of the corresponding Boundary- scan chain.
Add the pad keyword at the appropriate places in the devices section
(Example 4- 13). When generated, the ITL file will include the required
statements (Example 4- 14).
family "TTL"
chain "u100_u102"
tdi "u100-tdi"
tdo "u102-tdo"
tms "u100-tms"
tck "u100-tck"
trst "U28-4"
devices
"u100", "custom_lib/bs001", "DIP", no
pad
pad
"u101", "custom_lib/bs005", "DIP", no
pad
pad
pad
pad
"u102", "custom_lib/bs001", "DIP", no
pad
pad
end devices
insert "rutabaga"
end chain
Proper Grounding
Make sure that your board and your test fixture have sufficient ground
paths and returns for the types of devices to be tested. In particular, you
should carefully consider boundary- scan devices that will employ connect
tests. If one of these devices has a large number of output pins that will
be exercised during a connect test, grounding should be increased to
prevent inadvertent state changes. For more information, refer to
Addressing Ground- Related Problems.
VCC
U3_3
U3_2
Digital Node
• Mixed node: Nodes with at least one each analog and conventional
digital devices are subject to the same conditions that apply to
digital and analog nodes. Removing probes from these nodes could
result in reduced fault coverage.
• Partial boundary- scan node: Has one or more boundary- scan drivers
or one or more boundary- scan receivers, but not both. Test probes are
recommended for all partial boundary- scan nodes.
You should not remove probes from disable control nodes. This action
NOTE
could restrict the test system’s ability to provide proper disable
methods for a test.
testing and no other device pins exist that would require probes.
They have already had probes removed.
NODE U3_4 ! BSdvr:1 BSrcv:1 dig:0 nondig:0
NODE U1_U3_9 ! BSdvr:2 BSrcv:2 dig:0 nondig:0
NODE U1_U3_8 ! BSdvr:2 BSrcv:2 dig:0 nondig:0
NODE U1_U3_7 ! BSdvr:2 BSrcv:2 dig:0 nondig:0
NODE U1_5 ! BSdvr:1 BSrcv:2 dig:0 nondig:0
NODE U1_4 ! BSdvr:1 BSrcv:1 dig:0 nondig:0
NODE U1_3 ! BSdvr:1 BSrcv:1 dig:0 nondig:0
NODE U1_2 ! BSdvr:1 BSrcv:1 dig:0 nondig:0
Category 4 Nodes (Have no probes, and probes should be added)
These nodes might not have the resources for Boundary-Scan Interconnect
testing, or, other device pins exist on them that might require probes
to support their test. Adding probes will allow them to be tested.
Not adding probes will reduce fault coverage or cause the need for
additional user-written tests.
NODE U4_10 ! BSdvr:1 BSrcv:0 dig:1 nondig:0
NODE U4_9 ! BSdvr:1 BSrcv:0 dig:1 nondig:0
NODE U4_8 ! BSdvr:1 BSrcv:0 dig:1 nondig:0
NODE U4_7 ! BSdvr:1 BSrcv:0 dig:1 nondig:0
NODE U4_5 ! BSdvr:1 BSrcv:0 dig:1 nondig:0
NODE U4_4 ! BSdvr:1 BSrcv:0 dig:1 nondig:0
NODE U7_6 ! BSdvr:0 BSrcv:1 dig:1 nondig:0
NODE U7_5 ! BSdvr:0 BSrcv:1 dig:1 nondig:0
NODE U2_10 ! BSdvr:1 BSrcv:0 dig:1 nondig:0
NODE U2_9 ! BSdvr:1 BSrcv:0 dig:1 nondig:0
NODE U2_8 ! BSdvr:1 BSrcv:0 dig:1 nondig:0
NODE U2_7 ! BSdvr:1 BSrcv:0 dig:1 nondig:0
NODE U2_5 ! BSdvr:1 BSrcv:0 dig:1 nondig:0
NODE U6_3 ! BSdvr:0 BSrcv:1 dig:1 nondig:0
Category 5 Nodes (Have no probes, and probes should be added)
These nodes are capable of being shorted to Boundary-Scan nodes that
cannot be tested by the Powered Shorts algorithm for lack of
accessibility. These nodes are typically ordinary digital/analog
nodes, though some nodes here might also appear in category 4. Adding
probes will allow Powered Shorts testing. If probes are not added, then
coverage will be reduced or these shorts must be tested with some other
user-written test.
NODE U3_TDO
NODE U1_TDO
Diagnostics
In a connect test, physical test probes on output pins are used to capture
data that is immediately analyzed by the software for pass or fail.
The diagnostics for all other tests depend on assembling all of the data
scanned out from the circuit. All frames must be assembled before analysis
can occur. All frame bits are held in the deep- capture RAM until the
entire signature has been built. The captured signatures are then compared
to the expected signatures found in the test dictionary. If a fault is
encountered, the software invokes a multi- level, rule- based diagnostics
program that examines the captured signature for various characteristics.
These characteristics determine the probable cause of the failure. Upon
determination of the probable failure cause, the software generates a
related message to help the operator identify the exact failure.
Aliasing
Aliasing occurs when the combined failures of two or more nodes results
in an ID of another node. For example, if nodes B and C shown in
Table 4- 9 were shorted, the resulting IDs captured on these nodes (00010)
would indicate a short to node A (00010).
For this discussion, the shorted nodes are ANDed to produce the
NOTE
resulting IDs. Other situations, such as ORed shorts or strongest
drivers, could produce different results, but similar problems.
A 0 0 0 1 0
B 0 0 1 1 0
C 0 1 0 1 0
D 1 0 0 1 1
E 0 1 1 1 0
If nodes D and E were also shorted, the resulting IDs captured on these
nodes (00010) would also indicate a short to node A (00010). This is
known as confounding because we cannot tell if these IDs reflect one or
two shorts.
InterconnectPlus alleviates the aliasing and confounding problems by using
the Enhanced Counting Sequence and adding a fixed number of
complementary bits that extend the IDs for each node. Table 4- 10 does
not show the enhanced counting sequence, but it does add the
complementary bits. This illustrates that shorting B and C now results in
a new ID (00010100) that no longer matches (aliases to) A (00010101);
shorting D and E also results in a unique ID (00010000). This provides
increased resolution for the software to distinguish one node from another.
A 0 0 0 1 0 1 0 1
B 0 0 1 1 0 1 0 0
C 0 1 0 1 0 1 0 1
D 1 0 0 1 1 0 0 1
E 0 1 1 1 0 1 0 0
Symptom Explanation
Short to a fixed node This is diagnosed whenever the symptoms are consistent with a short to a node
that is capable of holding the node under test to a fixed value. This will be
diagnosed if all data captured on a node is fixed and unchanging. The physical
causes for this could be:
• Damaged output driver on the device: ESD or other damage can cause the
driver not to change state under control of the Boundary Register.
• In the case where no cells are associated with the active driver (the output is
two-state or three-state only), an open circuit on the driver will also alias to
this problem. In this situation, the bus test will identify the problem more
accurately than the interconnect test.
Short to a boundary-scan This is diagnosed whenever two or more nodes are detected as having the same
node ID and that ID is not all zeroes or all ones. The physical causes for this could be:
• A short to one or more nodes that are also solely under the control of the
Boundary Register.
• A short to a non-boundary-scan node that produces an ID that matches the ID
of some other boundary-scan node.
• A short to a fixed node with a weak enough drive capability that it cannot hold
the node under test to a fixed level.
Note: This message tells you that the detected failure did not fit into one of the
other defined categories. Diagnosis is provided to the node level only.
Symptom Explanation
Open Circuit This is diagnosed whenever the driver is passing and one or more the receivers
connected to the node have a stuck-at fault.
Note: This will be diagnosed together with Short to a fixed node whenever the
active driver is not capable of monitoring its own output (for example, a two-state
or three-state driver).
The physical causes for Open Circuit could be:
• If all receivers are stuck-at, then it is probable that the active driver is not
connected to the node.
• If some of the receivers on the node receive good data, then it is probable that
the failing receivers are not connected to the node.
Unknown Failure This is diagnosed whenever the symptoms for a node are inconsistent with those
of a short circuit, an open circuit, or a combination of both. The physical causes for
this could be:
• A short circuit to a node has occurred, but the variations in the receiver
thresholds on the node under investigation are such that the receivers observe
different characteristics from the active drivers.
• A short circuit to a fixed node has occurred, but the drive capacity of the fixed
node is too weak to hold the node to a fixed level, but it is strong enough to
cause device receivers to see different data because of the variations in their
receive thresholds.
• A combination of shorts and opens exist on the node such that the variations
in the receive patterns is seen.
• A mis-wiring has occurred on the node and at least one of the receivers is
physically connected to the wrong node (not likely where packaged devices
are used, but possible in the case of Chip On Board or Multichip Module
technology using wirebond techniques).
Example 4-16
-----------------------------------
Thu Jan 09 17:54:33 1992
-----------------------------------
INTERCONNECT FAILURE DETECTED
FOR TEST digital/u1_u4
A short has been detected
between the following nodes:
U1_2 -- pins:
u1.2 u2.23
U1_3 -- pins:
u1.3 u2.22
-----------------------------------
Message Explanation
Node <nodename> is stuck; The identified node is not toggling. The cause is probably a short to either
probably shorted to fixed node power or ground, but it is also possible that an open can cause this
diagnosis. Use the pin list associated with this message to check the
most probable locations for the problem.
A short has been detected between The node/pin list identifies all nodes and pins associated with the failure.
the following nodes Note that, with the use of the deterministic algorithm, if three or more
nodes are listed, it is possible (though unlikely) that one of the listed
nodes is not actually shorted (aliasing).
Node <nodename> is failing; All of the inputs on a particular node observe it toggling in the same
Probably a short, but the shorted manner, but that manner is not correct. This is most probably caused by a
node cannot be located. Pins short to another node that is not connected to a boundary-scan device.
involved are: Check the pin list to identify the most likely places for the failure.
Node <nodename> is stuck; The node is stuck, but the most probable cause of the problem is an open
suspect open on <device>.<pin>. on the device.pin identified. The difference between this message and
However, these pins should also be the previous one is that the RA routine, in analyzing the nodal activity,
checked for a short to power or has determined that the node probably is not shorted; however, it cannot
ground be sure, so you should check for a short to power or ground.
Pin is stuck; check for open on The RA routine has found that some of the pins on the node are correctly
<device>.<pin> connected to node toggling, but that the identified pin is stuck. The cause is probably an
<nodename> open on this pin alone.
Message Explanation
Node <nodename> is stuck; The failing node is stuck, and that node has only one driver and one
probable open on <device>.<pin> or receiver connected to it. In this case, no additional data is available from
<device>.<pin> other receivers on the node, so the problem cannot be diagnosed beyond
the two pins listed. A short to VCC or ground could also be the cause.
The following pins are detected During a buswire test, all pins (that will always be output or bidirectional
open: pins) have been detected open by the test.
Opens on Output or Bidir Pins During a connect test, all device outputs or bidirectional pins that have
failed are listed. Another diagnosis will list all inputs and bidirectional
pins that fail. Because bidirectional pins are verified in both directions, an
actual open should cause that pin to be listed both here and in the Opens
on Input or Bidir Pins diagnosis. If this does not occur, the most probable
cause of the problem is fixturing, or a failure in the I/O section of the
device being tested.
Opens on Input or Bidir Pins Like its companion message, this message occurs only for connect tests.
It lists the input or bidirectional pins detected as open (see the previous
message for further information).
Suspected open, but pin toggles: The indicated pin on a node is toggling, but not in the same manner as all
<device>.<pin> of the other pins on the same node. This indicates that the diagnosed pin
is receiving data, but not from the node under test. The cause is probably
a miswired fixture, or a pin bent such that it is disconnected from its
proper node and is making contact with an adjacent node.
Over Power Detected on TDI, TMS Because it is imperative that interconnect tests execute rapidly so that if
or TCK (check for non-disabled a short is detected power can be removed from the board, no pin
device) diagnosis of an over power condition on a testhead driver is performed.
These failures are extremely rare, but if one does occur, the cause is
probably that one of the listed nodes includes a device that is being
overdriven and is not disabled.
Safeguard Timeout Some tests (especially the interconnect test) are very long and it is
possible to get a safeguard timeout if upstream devices are being
overdriven. You should find a way to disable the upstream device.
Specifying safeguard none to resolve this condition could work, but
might risk device damage.
Over Power Detected On: Connect tests do not have the same execution time constraint as
interconnect tests. If this message is encountered, a driver pin list will
locate the exact point of the failure. The cause is probably a high-current
overdrive situation.
Message Explanation
Unexplained nodal activity; (check Injected noise in the circuit grounds cause the identified device to
for non-disabled device(s) perform in a completely unexpected fashion. This can occur if a device on
a boundary-scan node is not disabled and is (possibly) toggling
asynchronously with the testhead drivers. The message indicates that a
non-diagnosable failure has occurred.
Node <nodename> failed for The system detected a failure on this node, but its cause cannot be
unknown reason classified within any of the other categories. The test engineer should
look for a mis-wired fixture, noise on the node, non-disabled devices and
so on. We do know that the node identified is bad.
The following messages rarely appear, but have been added to accommodate the unlikely occurrence of
testhead hardware failure.
Test Exceeded Soft Timeout Limit A failure caused the test to greatly exceed its expected execution time.
The most likely cause is a hardware failure in the testhead.
Test Failed to Start The most likely cause is a failure in the testhead hardware.
Test Halted Due To Unknown Cause The most likely cause is a failure in the testhead hardware.
Test needs to be
debugged
Yes
Verified BSDL
No
Do we trust Yes
IEEE 1149.1
compliance?
No
Perform Board
Verify BSDL chain debug debug
test Pass
Fail
• If you feel that IEEE 1149.1 has not been complied with, perform either
the chain debug test or the verification of BSDL test.
• If the chain debug test passes, perform the board debug test.
When the test compiles, it utilizes the fixture resources allocated to the
original test. When the chain debug test executes, it first measures the
length of the combined instruction registers of every IC in the chain.
When executed, a chain debug test does not perform a TAP integrity
NOTE
test. One reason for debugging chains is that you already know there
is an integrity problem and you are trying to get additional debug
information.
The second check a chain debug test makes after measuring the
instruction registers is to iteratively measure the boundary register of each
IC. The IC to be tested is placed in SAMPLE while all others in the chain
are placed in BYPASS. The IC in SAMPLE has its boundary register
measured. Each IC is tested successively until one is found that does not
match its BSDL description. In this way, a failure is specific to one device.
Both checks of a chain debug test keep the chain devices out of test
NOTE
mode by using only BYPASS and SAMPLE instructions in the test.
The following are examples of failure reports from a chain debug test:
• This report indicates that the combined instruction register length is
shorter than expected from reading the BSDL descriptions:
u1_u4 HAS FAILED
vector = 232
Status: 15H
Pass/Fail error on following pins:
BRRCC NODE PIN
22203 TDO
Instruction Register string too short
-------------------------------------
• This report indicates that the boundary register in U1 is longer than
the BSDL specification states:
u1_u4 HAS FAILED
vector = 529
Status: 15H
Pass/Fail error on following pins:
BRRCC NODE PIN
22203 TDO
Boundary Reg. for U1 too long
-------------------------------------
Test Filename
Powered shorts test <device X>_<device Y>_ps.vcl
For example, u1_u4_ps.vcl
Interconnect test <device X>_<device Y>.vcl
For example, u1_u4.vcl
Buswire test <device X>_<device Y>_bus.vcl
For example, u1_u4_bus.vcl
Connect test <device X>_connect.vcl
For example, u1_connect.vcl
Debugging these tests relies on the VCL source for the test itself. This
source file can be found in the digital directory under the names shown
above. For example, the following pathname identifies a connect test for
u4: /user1/scan_brd/digital/u4_connect.vcl
Test Filename
Powered shorts test <device x>_<device y>_ps
For example, u1_u4_ps
Interconnect test <device X>_<device Y>
For example, u1_u4
Buswire test <device X>_<device Y>_bus
For example, u1_u4_bus
Connect test <device X>_connect
For example, u1_connect
The following guidelines should help you decide which file to edit.
Both VCL and ITL tests are compiled from BT-Basic by using the
NOTE
compile command. However, only ITL can be compiled from the
development software.
Under no circumstances should you alter the length of the chain. You can
modify frame data as long as the modification does not alter the relative
position of the bits within the frame.
VCL files can be debugged using Pushbutton Debug. However, you must
compile the test with the debug option on (normally, this is not done
because of time and space limitations). To do this, type the following in a
BT- Basic window:
compile digital/<device_name>_connect.vcl;debug
When the file has been compiled, the test debug object will be created.
This digital test is in pattern capture format (PCF), and it is
well- commented so you can easily examine the test and determine what is
happening. Additionally, the contents of the test dictionary appear at the
end of the test as a comment. This information consists of the data to be
applied to the inputs of the device or the data expected from the outputs
of the device (input data is encoded as 1 or 0; expected output data is
encoded as H or L).
Accompanying each pattern set is the identification of the pin, node, and
boundary- register location associated with that data (the boundary- cell
number closest to TDO is 0, and increases as you approach TDI). In the
test itself, you will find frame and end frame statements. The data in
between these two statements consists of the information shifted out from
the active, concatenated registers of the chain during one phase of the
test.
A chain location (listed in the test dictionary) corresponds to a location in
a particular frame. The relationship is determined as follows: A frame
consists of two vectors per cell (two clock edges are required to shift a
cell's contents out TDO). In each two- vector group, a comment that
identifies the cell number's position in the chain is placed to the right of
the vector that contains the expected data for that cell (the second vector
contains an X in this position).
The number of frames in a test equals the number of positions in the
signature contained in the test dictionary. The data from frame 1
represents the left- most position in the signature.
In most cases, the exact location of the first failing bit in a frame is
unavailable, because the entire signature must be assembled before failure
analysis is started. For this reason, it will often be necessary to use
debug's graphic display of vectors to search, vector by vector, for the first
occurrence of a bit failure.
If you cannot find the failure using the vector- by- vector search, you can
comment out the offending node(s) in the test source. For an example ITL
source file, refer to InterconnectPlus Test Language (ITL) on page 4- 104.
In the past, Silicon Nails tests had to be written manually using ITL,
NOTE
then incorporated manually into your testplan. An optional product
automates this ITL generation from library tests. For more information,
refer to Automated Silicon Nails.
The following sections describe the ITL syntax and provide example files
that were used to produce the boundary- scan tests for the Sample
Boundary- Scan Device Chain.
• ITL Statement Descriptions and Syntax
• ITL Syntax Structure
Statement Description
buswire (ITL) The buswire statement declares the test type to be a buswire test. This extends
interconnect testing to examine each bussed driver to ensure connectivity and
operation.
chain (ITL) The chain statement marks the start of a chain block. The parameter following the
chain statement tells you which boundary-scan chain on the board (or which
target device for connect test) will be tested. The chain block contains the
description of the boundary-scan control signals, and provides the path names for
the software to retrieve the BSDL files for each device in the chain. For details on
this statement, see chain (ITL) in Syntax Reference.
Statement Description
checkerboard (ITL) The checkerboard statement alters the connect test pattern set to be an
alternating pattern to reduce ground bounce and perhaps catch certain other
faults
connect (ITL) The connect statement declares the test type to be a connect test. This uses tester
nails to test to a single device in the scan chain.
custom (ITL) The custom statement declares the test type to be a custom test. This is a type of
interconnect test custom designed by the user. This test uses the MSPD interface
to create the test patterns.
debug (ITL) The debug statement declares the test to be one for debugging the boundary scan
chain. Normally, this is just used in test development and not in production.
devices (ITL) The devices statement marks the beginning of a devices block. The information in
this block provides the software with the descriptions of the devices in the chain,
and the path names to their BSDL files. For details on this statement, see devices
(ITL) in Syntax Reference.
disable (ITL) The disable statement declares the test to be one for disabling the boundary scan
devices in the targeted chain. This is normally done to allow testing of other digital
devices without bus conflicts.
disables (ITL) The disables statement (optional) marks the start of an optional disables block.
You can enter disable information if you know about disable needs for your test.
(This information might not be needed to develop your device test.) You do not
need to specify disable information for devices that can use boundary-scan
disabling. For details on this statement, see disables (ITL) in Syntax Reference.
end chain (ITL) The end chain statement marks the end of a chain block. Refer to the chains
statement for more information. For details on this statement, see end chain (ITL)
in Syntax Reference.
end devices (ITL) The end devices statement marks the end of a devices block. Refer to the devices
statement for more information. For details on this statement, see end devices
(ITL) in Syntax Reference.
end disables (ITL) The end disables statement marks the end of a disables block. Refer to the
disables statement for more information. For details on this statement, see end
disables (ITL) in Syntax Reference.
end nodes (ITL) The end nodes statement marks the end of a nodes block. Refer to the nodes
statement for more information. For details on this statement, see end nodes (ITL)
in Syntax Reference.
Statement Description
end <test type> (ITL) The end <test type> statement marks the end of a test block. The <test type> can
be powered shorts, interconnect, buswire, connect, or custom. The <test type>
specified must match that specified to begin the block.
Refer to ITL Syntax Structure on page 4-108 for sample ITL files. For details on this
statement, see end <test type> (ITL) in Syntax Reference.
fixed (ITL) The fixed statement is used within a nodes block to declare fixed nodes. The fixed
statement includes the state of the node (high or low); if the state cannot be
determined, the statement is commented and the state is specified as unknown.
You need to edit the file to change the state to either high or low and uncomment
the statement. For details on this statement, see fixed (ITL) in Syntax Reference.
ground bounce The ground bounce suppression statement can be used to change the test flow at
suppression (ITL) either of the UPDATE states to reduce the potential for ground bounce to cause
failures. The statement is optional.
interconnect (ITL) The interconnect statement declares the test type to be an interconnection test of
the devices in the chain. This test only uses the TAP nodes, and disables, and
ignores nailed access to the interconnect nodes under test.
node (ITL) The node statement is used within a nodes or disables block to identify the node to
be tested or disabled. The node statement can be followed by a card list that tells
the system which type of resource to use to perform the test or disable task. For
details on this statement, see node (ITL) in Syntax Reference.
nodes (ITL) The nodes statement marks the beginning of a nodes block. This block can be
empty, but it must be present in every ITL source file (even if it is empty) to satisfy
the syntactic requirements of the parser.
For powered shorts tests, this block identifies the adjacency of the 100-percent
boundary-scan node (silicon node) to the nailed nodes of any other type. You
should notice in the ITL file for a powered shorts test that a silicon node entry is
followed by one or more node entries. For details on this statement, see nodes
(ITL) in Syntax Reference.
pcf order is nodes (ITL) The pcf order is nodes statement identifies the order in which a group of nodes will
be tested. This statement can appear within a nodes block or a disables block. For
details on this statement, see performance port in Syntax Reference.
powered shorts (ITL) The powered shorts statement declares the test type to be a test for shorts
between un-nailed boundary scan interconnect nodes and adjacent nailed nodes.
silicon nail (ITL) The silicon nail statement declares the test type to be a test of one or more
non-scan devices. The test can use a mixture of boundary scan resources (silicon
nails) or tester resources (regular nails). With early software, this test’s ITL file
had to be manually created; newer, optional software can automatically create this
file from a library test.
Statement Description
silicon node (ITL) The silicon node statement is used within a nodes block to identify a
boundary-scan node to be tested via boundary-scan resources. This statement
typically appears in interconnect, buswire, powered shorts, or custom test blocks.
For details on this statement, see silicon node (ITL) in Syntax Reference.
tck (ITL) The tck statement identifies the test clock node of the boundary-scan chain. A
name is assigned to this node using the tck statement. For details on this
statement, see tck (ITL) in Syntax Reference.
tdi (ITL) The tdi statement identifies the test data in node of the boundary-scan chain. A
name is assigned to this node using the tdi statement. For details on this
statement, see tdi (ITL) in Syntax Reference.
tdo (ITL) The tdo statement identifies the test data out node of the boundary-scan chain. A
name is assigned to this node using the tdo statement. For details on this
statement, see tdo (ITL) in Syntax Reference.
test (ITL) The test statement is used within a nodes block in conjunction with the node
statement. The test statement identifies the node connections that will be tested.
For details on this statement, see test (ITL) in Syntax Reference.
test inputs only (ITL) The test inputs only statement is for optional usage in connect tests. It skips the
test frames that check outputs. It is intended for PLDs that have all pins defined as
bidirectional in BSDL, while the programmed function may be as an input only.
This creates unsolvable disable problems to IPG. The command makes the system
simply test the bidirectional in the input direction only and eliminates any bus
conflict problems. This is not suitable for a test containing output pins.
tms (ITL) The tms statement identifies the test mode select node of the boundary-scan
chain. A name is assigned to this node using the tms statement. For details on this
statement, see tms (ITL) in Syntax Reference.
trst (ITL) The trst statement identifies the test reset node of the boundary-scan chain (if one
exists). A name is assigned to this node using the trst statement. For details on
this statement, see trst (ITL) in Syntax Reference.
Example 4-21 ITL source file is for one connect test, u2, of the u1_u4 chain
connect "u2"
chain "u1_u4"
tdi "TDI"
tdo "TDO"
tms "TMS"
tck "TCK"
devices
"u1", "../demo_original/custom/74bct8374", "DW_PACKAGE", no
"u2", "../demo_original/custom/74bct8374", "DW_PACKAGE", no
"u3", "../demo_original/custom/74bct8374", "DW_PACKAGE", no
"u4", "../demo_original/custom/74bct8374", "DW_PACKAGE", no
end devices
end chain
nodes
node "IN_04" hybrid test "u2.24"
node "IN_05" hybrid test "u2.1"
node "OUT_04" hybrid test "u2.4"
node "OUT_05" hybrid test "u2.3"
node "OUT_06" hybrid test "u2.2"
end nodes
!IPG: Inaccessible nodes
!IPG: node "U2_5"
!IPG: node "U2_7"
!IPG: node "U2_8"
!IPG: node "U2_9"
!IPG: node "U2_10"
!IPG: node "U1_U3_10"
!IPG: node "U1_U3_9"
!IPG: node "U1_U3_8"
!IPG: node "U1_U3_7"
!IPG: node "U1_5"
!IPG: node "U1_4"
!IPG: node "U1_3"
!IPG: node "U1_2"
end connect
"ZZ01ZZZZXHXX"
"ZZ00ZZZZXHXX"
"ZZ10ZZZZXHXX"
!end unit
! unit Element number 3
"ZZZZ11ZZXXLX"
"ZZZZ01ZZXXHX"
"ZZZZ00ZZXXHX"
"ZZZZ10ZZXXHX"
!end unit
! unit Element number 4
"ZZZZZZ11XXXL"
"ZZZZZZ01XXXH"
"ZZZZZZ00XXXH"
"ZZZZZZ10XXXH"
!end unit
end pcf
end unit
end nodes
end silicon nail
Statement Description
disabled device (VCL) The program generator places disabled device statements in the Declaration
(ITL) section of an executable test to indicate which devices are disabled while the test
is executed. For details on this statement, see disabled device (VCL) (ITL) in
Syntax Reference.
conditioned device (VCL) The program generator places conditioned device statements in the Declaration
(ITL) section of a test to indicate which devices are conditioned while the test runs.
They are used by the Agilent SAFEGUARD analysis routines to determine the safe
time that the test can run.
If you change the conditioning vectors in the executable test so that the
conditioned output states are changed, you should modify the associated
conditioned device function accordingly and recompile the test. For details on this
statement, see conditioned device (VCL) (ITL) in Syntax Reference.
vector cycle (VCL) (ITL) The vector cycle statement appears in the Declaration section of the test to
establish the vector cycle time; that is, the time between starting each vector.
Once established, the cycle time remains the same for all vectors throughout the
VCL test. The vector cycle function is not used in tests that have timing sets. For
details on this statement, see vector cycle (VCL) (ITL) in Syntax Reference.
receive delay (VCL) (ITL) The receive delay statement appears in the Declaration section of the test to
establish the delay time between driving a pattern of bits to the device or circuit
under test (i.e., starting a vector) and receiving (examining) the response from that
device or circuit. For details on this statement, see receive delay (VCL) (ITL) in
Syntax Reference.
set load (VCL) (ITL) The set load statement is optional; you can use it in the Declaration section of a
VCL test to change the pull-up or pull-down loads on the receiver nodes (nodes
with outputs and bidirectionals from the board under test). For details on this
statement, see set load (VCL) (ITL) in Syntax Reference.
Statement Description
set ref (VCL) (ITL) The set ref statement is optional; you can use it in the Declaration section of a VCL
test to setup the digital driver and receiver high and low voltages on individual
nodes. For details on this statement, see set ref (VCL) (ITL) in Syntax Reference.
set terminators (VCL) The set terminators statement connects the RC networks in the receiver circuits
(ITL) on Hybrid pin cards. It can be used to enhance high-speed signal quality. The
statement can connect terminators (on in the syntax) or disconnect them (off). For
details on this statement, see set terminators (VCL) (ITL) in Syntax Reference.
warning (VCL) (ITL) The warning statement allows you to place warning messages in the test. The
messages will then appear in the summary report generated by program
generators, and in the compile listings for the test. Typically messages would
include reminders to adapt the test in some way to suit a device in a special
configuration.
The warning function can appear in the pass through part of the ITL test. In a
silicon nail test, it can also appear just after the pcf order is statement or
anywhere within the pcf vector block. For details on this statement, see warning
(VCL) (ITL) in Syntax Reference.
on failure report (VCL) The on failure report function enables you to specify a message that will be sent to
(ITL) the report is printer if the test fails. This message will be sent in addition to the
standard messages generated when a test fails.
The on failure report function can appear in the pass through part of the ITL test.
In a silicon nail test, it can also appear just after the pcf order is statement. For
details on this statement, see on failure report (VCL) (ITL) in Syntax Reference.
!TTTTIIOO!
!CMDDNNUU!
!KSIO__TT!
! 11__!
! 7801!
! 90!
! !
unit "Connect Test" ! Vector 1
pcf
use pcf order Parallel
"01ZXZZXX"
use pcf order Scan
"11ZX"
. . .
"00ZX"
"10ZX"!Shift-IR
end pcf
message "IEEE Std 1149.1-1990 Integrity Failure"
message " Device U4 has failed,"
. . .
compress
frame 0 1
pcf
use pcf order Parallel
"00ZXZZXX"!0+0
use pcf order Scan
"10ZX"
"00ZX"!1
"10ZX"
"00ZX"!2
. . .
"101X"
"01ZL"!17
"11ZX"!Exit1-DR
end pcf
end frame
end compress
message " " ! example of a null message
. . .
! End of Connect Test for device U4
use pcf order Scan
"01ZX"
"11ZX"!Select-IR-Scan
use pcf order Parallel
"01ZXZZXX"
use pcf order Scan
"11ZX"!Test-Logic-Reset
end pcf
end unit ! Connect Test Vector 330
! Vectors with TDI High: 32, 6.4 microseconds
! Vectors with TDI Low: 40, 8.0 microseconds
! Total Vectors : 330, 66.0 microseconds