Professional Documents
Culture Documents
cad_dd_00502
Note Id: 1110
2007
PMC-Sierra, Inc.
100 2700 Production Way
Burnaby BC Canada V5A 4X1
Phone 604.415.6000 FAX 604.415.6200
This document is CONFIDENTIAL and PROPRIETARY and is for the use of PMC-Sierra Inc. personnel only, except to the extent that permission is
expressly granted elsewhere.
In any event, no part of this document may be reproduced in any form without the express written consent of PMC-Sierra, Inc.
KEY WORDS: DFT, Scan, JTAG, ATPG, ABC, MABC, ABC Design Rules, Analog Test Bus
INCLUSIONS:
AC JTAG Calculator
Bernard Guay
Karim Arabi Manager, Mixed Signal Development
Manager, Design for Test
Bill Lye
APPROVED BY
Leader, Mixed Signal Development
Graeme Boyd
Principal Engineer
Alan Nakamoto
Director, Design Services
Frank Barber
Technical Advisor
Brian Gerson
VP, Mixed Signal Development
Richard Steedman
Principal Engineer
Ken Ferguson
Manager, Test Technology Engineering
2007
PMC-Sierra, Inc.
100 2700 Production Way
Burnaby BC Canada V5A 4X1
Phone 604.415.6000 FAX 604.415.6200
This document is CONFIDENTIAL and PROPRIETARY and is for the use of PMC-Sierra Inc. personnel only, except to the extent that permission is
expressly granted elsewhere.
In any event, no part of this document may be reproduced in any form without the express written consent of PMC-Sierra, Inc.
REVISION HISTORY
Issue 2 July 2002 Karim Arabi Alan Nakamoto, Brian Document Released as cad_dd_00502
Gerson, Bernard Guay,
Some details added about
Bill Lye, Graeme Boyd,
List of mandatory and optional pins
Frank Barber, Richard
Relationship between IDDQ and SCANB
Steedman, Ken
Relationship between ENB and IDDQ
Ferguson
Guidelines about probing nets
Naming conventions
Issue 3 May 2007 Omid Chavoshi Karim Arabi, Ken Document updated to address issues and
Brough, Jurgen Hissen, questions raised in the following
Mathieu Gagnon, CAD_PREPs:
Gershom Birk, John 27232
Plasterer, Guillaume 27184
Fortin, Ken Ferguson 26601
16007
15247
14398
59127
43680
2007
PMC-Sierra, Inc.
100 2700 Production Way
Burnaby BC Canada V5A 4X1
Phone 604.415.6000 FAX 604.415.6200
This document is CONFIDENTIAL and PROPRIETARY and is for the use of PMC-Sierra Inc. personnel only, except to the extent that permission is
expressly granted elsewhere.
In any event, no part of this document may be reproduced in any form without the express written consent of PMC-Sierra, Inc.
CONTENTS
CONTENTS......................................................................................................4
LIST of FIGURES ...........................................................................................6
1 DEFINITIONS ...........................................................................................9
2 INTRODUCTION ....................................................................................10
5.2.3 Loopback...........................................................................58
5.2.4 Bypassing..........................................................................62
8 APPENDIX A ..........................................................................................78
9 Reference ...............................................................................................85
LIST OF FIGURES
Figure 6: Example Test Mode Select and Enable Arbitration Truth Tables.......... 29
Figure 8: ABCs Digital Core test insertion flow. For simplicity only VHDL
file names are presented. .................................................................. 33
Figure 9: ABCs Digital Core scan vector generation and verification flow.......... 34
Figure 12: Clocks should not go through any combinational logic. ..................... 38
Figure 15: Lockup latch concept for functional cross-clock domain paths. ......... 41
Figure 17: Placement of boundary scan cells (BSCs) for ABCs. The mux
is normally inside the TX. .................................................................. 44
Figure 18: Schematic block diagram of the Analog Test Bus used to
observe internal signals of an ABC (a) and the schematic of
analog test switches (b)..................................................................... 50
Figure 19: Connection of ATB2s from different ABCs to top-level ATB2. ............ 51
Figure 20: A bad example for monitoring VDD and VSS values at different
points of the device............................................................................ 51
Figure 21: Measuring current level of internal nodes. P1 and N1 are part
of the analog circuit under test. I1 and I2 are measured
through ATB2..................................................................................... 53
Figure 22: Schematic block diagram of the Analog Test Bus applied to an
analog core as a stimulus bus (a) and the implementation of
multiplexer (b).................................................................................... 54
Figure 23: Connection of ATB1s from individual ABCs to top-level ATB1. .......... 54
Figure 24: Schematic block diagram of the Analog Test Bus concept
combining stimulus and output test buses......................................... 55
Figure 25: Schematic block diagram of the two-pin Analog Test Bus
concept used to measure and apply differential signals. ................... 55
Figure 26: Schematic block diagram of the Analog Test Bus concept and
its connection to the top-level ATAP (a) and the implementation
of analog test pad (b)......................................................................... 57
Figure 27: Schematic block diagram of the Analog Test Bus concept and
its connection to a single analog test pad at the top-level. ................ 57
Figure 30: Digital and analog loop back DFT technique for a data
communication device (T1/E1 Line Interface). .................................. 60
Figure 36: AC JTAG differential signal reception with Test Receiver .................. 65
Figure 38: Top-level example connections between one slim_ac IOLM and
one ABC receiver .............................................................................. 72
Figure 48: IEEE 1149.4 used to support Analog Test Bus (ATB) DFT
technique........................................................................................... 84
1 DEFINITIONS
2 INTRODUCTION
This document provides the general methodology and rules to design testable
analog block circuitry (ABC) and Mega ABC (MABC). All new ABCs and MABCs
should be designed following the rules and guidelines provided in this document
to ensure their reusability and compatibility with the new digital DFT flow. For
more information about DFT flow for digital circuits, please refer to PM-2001526
and PM-2002148. Note that this document is focused on digital and analog DFT
techniques for ABCs and MABCs and does not cover any built-in self-test (BIST)
technique.
In case of conflict, the following documents rank in control in the order named:
3 ABC/MABC OVERVIEW
ABC
ANALOG ANALOG
INPUTS Analog or Mixed-Signal Core OUTPUTS
ATB1 (A/MSC) ATB2
ATBN1 ATBN2
ATINy
ATMSB
DTINy
DTMSB
DTBOy
DTBIy
HDTBOy
HDTBIy
JTAG_ENB
TX_JTAG
RX_JTAG
ABC ABC
ANALOG ANALOG
ANALOG Analog or Mixed-Signal Core OUTPUTS OUTPUTS
ANALOG Analog or Mixed-Signal Core
INPUTS (A/MSC) INPUTS (A/MSC)
ATB1 ATB2 ATB1 ATB2
ATBN1 ATBN2 ATBN1 ATBN2
DIGITAL DIGITAL
DIGITAL OUTPUTS OUTPUTS
ABC Digital Core DIGITAL
INPUTS ABC Digital Core
INPUTS
To MPIF To MPIF
the ABC at the same level of hierarchy but wrapper creates a new level of
hierarchy and instantiates the ABC. The Wrapper/shim should be archived
independently if design reuse is required.
Mandatory signals are in bold color in Figure 1. Some of the mandatory signals
may be omitted with a justified reason described in the related ABC engineering
document. The following test control signals, if included in the ABC, should be
set to a specific logic value in order to setup the ABC in the normal operation
mode. For a detailed definition of these signals, please refer to Section 3.3.
The MABC A/MSC block represents the MABCs analog circuitry and non-
synthesizable or non-scanable logic. The MABC Digital Core contains Functional
Digital Circuitry, Test Arbitrator and Test Mode Decoder. Functional Digital
Circuitry represents all MABC-level glue logic and control circuitry. Test Mode
Decoder contains the required decoding circuitry to create MABC-level test
modes from zATINy and zDTINy buses. Test Arbitrator includes digital circuitry
required to place the MABC in safe mode during JTAG and scan test modes and
establish priority between different test modes. A given MABC may not contain
all of these blocks depending on its application and functionality. Inside the
MABC, these blocks are at the same level of hierarchy as the ABCs. An MABC
inherits the same mandatory test signals from its ABCs.
The decoding logic for MABC level test modes from zATINy and zDTINy buses is
located inside the MABC Test Mode Decoder block.
The MABC-level zDTMSBy and zATMSBy buses are not encoded. They are
simply a collection of individual ABC test mode selector signals and the MABC-
level ATMSB and DTMSB signals. They should provide the capability of putting
individual ABCs in test mode and also engaging multiple ABCs in MABC level
test modes such as loopback.
The following test control signals, if included in the MABC, should be set in order
to setup the MABC in the normal operation mode. For a detailed definition of
these signals, please refer to Section 3.3.
MAB
C ABC1 ABC2
Analog or Mixed- Analog or Mixed-
ATB Signal Core Signal Core ATB2
1
ATBN (A/MSC) (A/MSC) ATBN2
1
MABC A/MSC
ABC3
MABC Digital Analog or Mixed-
Core
Test Mode
Signal Core
Decoder (A/MSC)
Test Arbitrator
ABC Digital Core
Functional Digital
Circuitry
TB
JTAG_EXTES
y
SCAN_IN
Ty
SCAN_OU
N
SCAN_E
SCANB
ATMSBy
ATINy
DTMSBy
DTINy
DTBOy
DTBIy
HDTBOy
HDTBIy
IDDQ
G
TX3_JTA
G
RX3_JTA
TX1_JTAG
RX1_JTAG
G
TX2_JTA
RX2_JTAG
ENB
EB
JTAG_ACTIV
FLL_CLK
K
TEST_CL
zMODEx
This section gives a detailed description of signals related to test and validation.
Note that standard ABC naming convention rules are used to describe these
signals.
1
The z at the beginning can be a prefix such as TXi_, RXi_, Ci_ where i is a number. This allows
for MABCs to contain many ABCs that have their own configuration bus without having naming
conflict.
2
The y at the end can only be either a bus ([n-1:0]) or nothing.
1
The x at the end of the name can be nothing, a number, a number followed by a letter or a bus.
Because of the number of different DFT signals and their interactions with block
enables, each ABC/MABC will require test arbitration logic. This section
describes a generic test arbiter. Depending upon the application, the ABC/MABC
designer may need different test arbitration circuitry; however the arbiter
described in this section should cover the majority of the situations.
The test arbiter consists of three inter-related decoders. The first is the priority
decoder for the various test modes, the second uses the test modes to modify
the Analog and Digital Test Mode Select signals and the third uses the test
modes to modify the block enable signals. This arbiter accepts the
JTAG_EXTESTB, JTAG_ACTIVEB, SCANB, IDDQ, ATMSB, DTMSB, ENB, and
OENB signals, and produces modified versions of all of these (with the _OUT
suffix). The test mode arbitration truth table is shown in Figure 4 below, while the
test mode select and block enable arbitration are shown in Figure 6. This test
arbiter is a standard re-usable element [abc_dft_jtag_logic_v2] available in
lib90n_E library whose verilog RTL and gates netlists are located in:
[/tools/sync_mirror/4.1/PM20_25_13_E/artist/PM20_25_13_E/lib90n_E]
To obtain more information on usage of the test arbiter, you may refer to the
readme text file at:
[/tools/sync_mirror/4.1/PM20_25_13_E/artist/PM20_25_13_E/lib90n_E/abc_dft_jt
ag_logic_v2/readme/text.txt]
Figure 6: Example Test Mode Select and Enable Arbitration Truth Tables
For further information, you may also refer to the ABC Control Priority Table in
Analog Block Circuitry (ABC) Engineering Document Template
[cad_icsa_00029]; the ABC Control Priority Table defines the test modes useful
for a top-level usage where more combinations are possible from the logic.
A brief description and location of all application notes and user guides required
to perform DFT and ATPG on an ABC Digital Core can be found in Table 2.
This section provides details of automatic scan insertion and ATPG for the digital
part of ABCs.
Functional Outputs
Functional Inputs
...
...
...
...
SCAN_OUT[0]
SCAN_IN[0]
SCAN_OUT[1]
SCAN_IN[1]
SCAN_OUT[n-1]
SCAN_IN[n-1]
SCAN_EN
TEST_CLK
SCANB
FLL_CLK
Figure 8 depicts a simplified flow of scan insertion. The next step is to insert scan and
test logic in the gate-level netlist following the rules and procedures detailed in this
document.
After logic synthesis is finished the script head_tail_id.pt is run with pt_shell using
pmxx_xx_xx_core_scan_info.tcl to identify head and tail registers required to guard
band scan chains. At the same time, a preview of all scan chains and required test logic
is generated. Next, the insert_scan.dctcl script is run with dc_shell-t to insert scan
chains and all required test logic using DFTAdvisor following the rules detailed in this
document. The resulting netlist is called pmxx_xx_xx_core_prelockup.v.
The post-scan design is then optimized and checked for static timing violations. The
final static timing analysis should be done with back-annotated physical data to check
for hold time violation in scan and functional paths and setup time violations in functional
paths. Final gate level netlist of the Logic Core are called pmxx_xx_xx_gates.v and
pmxx_xx_xx_gates.vhd.
After finishing the test synthesis procedure, FastScan is used to automatically generate
scan test patterns for the final digital block. As shown in Figure 9 serial test patterns are
generated in WGL format and parallel test patterns are generated in Verilog format.
Parallel Verilog test patterns are generated only for test pattern verification and
mismatch analysis and are fully simulated. The run time of parallel Verilog test pattern
simulation is extremely short as it directly loads the scan memory elements with the
necessary test pattern values and reads their content in parallel rather than spending
simulation cycles with loading and unloading the scan chain. Also, it is very convenient
for ATPG mismatch debugging. Note that parallel vector simulation does not verify the
scan data load and result unload operations.
pmxx_xx_xx_core_gates.db
pmxx_xx_xx_atpg.dof
pmxx_xx_xx_gates.v
pmxx_xx_xx_gates.vhd
Figure 8: ABCs Digital Core test insertion flow. For simplicity only VHDL file names are
presented.
The serial WGL file contains all test patterns required for scan testing in production. It is
recommended to fully simulate the WGL pattern file as well. WGL patterns should be
simulated with back-annotated physical data from layout. WGL patterns are simulated
by running the script do_gen_wgl2vhdl2vcd.prl that translates WGL patterns to
VHDL/Verilog using VTRAN and simulates them using NCSim. If there is no simulation
mismatch, the test vectors in WGL format are archived for production testing.
ATPG
pmxx_xx_xx_atpg.dof
FastScan
pmxx_xx_xx_scan.wgl pmxx_xx_xx_scan.v
pmxx_xx_xx_scan.wgl
Figure 9: ABCs Digital Core scan vector generation and verification flow.
If the serial WGL simulation run time is prohibitive, only a subset of the WGL
serial patterns could be simulated to ensure the integrity of scan chains and the
WGL file itself.
Testability should be considered early in the design cycle and DFT rules should
be considered during RTL development. Any violation of the DFT rules will result
in the degradation of fault coverage. To avoid re-synthesis, the designer has to
assume that all flip-flops initially used are going to be scanned. Hence, the
timing, load, and area attributes have to be set to the appropriate values
corresponding to scan equivalent flip-flops. Such an approach will have
pessimistic constraints but in the end will ensure that the logic will meet required
timing constraints after scan insertion.
The following rules should be enforced to make sure that the ABC Digital Core
can be scanned and is complaint with PMC top-level and TSB level DFT strategy.
Most of commercial DFT tools can perform rule compliance checking at gate
level. Depending on the test tool used, some of these rule violations can be fixed
automatically. However, it is important that the designer be aware of the changes
occurring in his/her design.
PMC has adopted full-scan test methodology. Therefore, Random logic is full-
scanned. The number of scan chains is equal to the width of the ECBI bus.
Rule 2: All clocks should be directly controllable at top-level and should not
drive combinational logic
Flip-flops controlled by internally generated clocks are not scanned and therefore
cannot be properly controlled by ATPG tools. These include frequency dividers,
PLLs, pulse generators, gated clocks and asynchronous logic. In some designs,
internally generated clocks cannot be avoided. In scan test mode, these flip-
flops should become directly controllable at top-level. Note that delayed clocks
are considered as being internally generated and should be made controllable
from the top-level.
As shown in Figure 10, we should multiplex the internally generated clock with a
dedicated test clock called TEST_CLK. TEST_CLK should be added as a
primary input to the ABC Digital Core. Designer must ensure that a suitable
balanced mux that does not introduce duty cycle distortion and is immune to
clock feed-through is inserted. The best location to insert the mux is right after
the clock is regenerated. This ensures that the inserted mux is always located at
the root of the clock tree dedicated to the logic driven by the generated clock.
Another advantage of multiplexing internally generated clocks at source is that
every destination block does not need to implement its own mux as the mux is
already implemented at source. Please note that, the bypass mechanism is often
embedded into PLLs and DLLs.
To insure that clock skew does not cause any hold-time violations during scan
testing, physical designer must use the TEST_CLK at the top-level of the ABC
Digital Core as the root of the clock tree during the final gated-clock tree
synthesis to ensure that all sub-clock trees are balanced. In the example
illustrated in Figure 11(a), the TEST_CLK should be used as the root of the clock
tree and therefore all flip-flops controlled by the TEST_CLK will be on the same
clock tree during scan test mode. The end goal is to ensure that there is hold
time violation between flip-flops driven by TEST_CLK.
Gated clock tree synthesis tool only fixes transition problems after the mux and
the path from the generated clock and the mux may remain susceptible to cross
talk depending on its transition time. As shown in Figure 11(a), it is important to
ensure that internally generated clocks do not go through any combinational logic
before reaching the mux. Figure 11(b) depicts a circuit violating this rule.
The mux should be inserted manually at the RTL. DFTAdvisor is set up not to fix
this problem. It is important to note that if the mux is not inserted manually,
DFTAdvisor will not scan flip-flops controlled by the generated clock.
D Q
...
Generator
D Q
D Q
...
1
Generator 0
D Q
test_clk
scanb
Figure 10: Handling internally generated clocks. SCANB is an active low top-
level scan test mode signal. The mux is often embedded into PLLs and DLLs.
D Q
clk1
D Q 1
...
D Q
test_clk
scanb
(a)
D Q
clk1
D Q Logic 1
...
D Q
test_clk
scanb
(b)
Figure 11: Internally generated clock should not go through any combinational
logic before reaching the multiplexer. TEST_CLK is a dedicated top-level test
clock.
Combinational
Clk
Logic
D Q
(a)
Clk 1
0
Combinational
Logic
D Q
Control
Point scanb
(b)
Obervation Tree
D Q D Q
en en
D Q
en
scanb D Q
en
sys_clk sys_clk
(a) (b)
D Q
0
D 1
(c)
en
sys_clk
D Q
sys_clk
(b)
D Q 1
D Q 0
sys_clk
rstb scanb
D Q D Q
sys_clk
(a) (c)
D Q
scanb
It is best to avoid this design style. However, in the cases where there are
controlled asynchronous set/reset signals, they can be disabled during test mode
All clocks for a given ABC Digital Core will be pin equivalent and toggled
simultaneously during production scan testing. This rule makes design for test
reuse regardless of the device under test top-level clock strategy. Exceptions to
this rule are clocks that are always available as top-level primary I/Os such as
ecbi_wrb and MPIF clocks. ecbi_wrb is used as a scan test clock.
Lockup latches should be inserted in scan chains and functional paths to prevent
race conditions during shift and capture cycles. DFTAdvisor automatically inserts
lockup latches while stitching scan chains to prevent race condition during scan
shift operation. However, no current commercial DFT tool inserts lockup latches
in functional cross-clock domain paths. Inserting lockup latches in functional
cross-clock domain paths provides the ability to simultaneously toggle all clock
domains without loosing any test coverage. pmxx_xx_xx_core_lockup.pt is used
with pt_shell to create a report file (pt_timing_report.rpt) that contains information
about the existing timing paths between different functional clock domains.
insert_functional_ll.prl script is then used to automatically insert lockup latches in
functional cross-clock domain paths.
A dedicated clock called FLL_CLK is used to clock lockup latches in functional
cross-clock domain paths. FLL_CLK is available as a Logic Core input pin and is
only used to control functional lockup latches. Figure 15 illustrate an example
where s_clck and d_clk are skewed due to different clock tree latencies, but the
lockup latch controlled by FLL_CLK prevents a race in the cross-clock domain
path. Therefore, s_clck and d_clk can be toggled at the same time if the lockup
latch is inserted. As shown in Figure 15, an additional capture cycle is added to
each pattern.
D Q D Q D Q
En
scan_en
s_clk
fll_clk
d_clk
shift capture shift
Figure 15: Lockup latch concept for functional cross-clock domain paths.
D Q Obervation Tree
D Q
en En en
scanb En
All sub-chains should start with a positive-edge flip-flop and end with a positive
edge flip-flop followed by an active low lockup latch. This will facilitate sub-chain
stitching during hierarchical scan insertion. Sub-chains are stitched together and
should not be mixed with individual scan cells in bottom-up hierarchical scan
insertion process. Scan insertion scripts provided as a part of the DFT flow
ensures scan chain guard banding. It will add additional positive edge flip-flops
to violating scan chains to make them compliant to this rule.
The ECBI block controls ABCs functional configurations and analog test modes
using ECBI registers. These registers are scanned and therefore can have
random logic values during scan testing mode. All ABC digital input signals
should be in a safe state when the chip is in scan test mode. SCANB should be
used to force input digital signals to a safe state during scan test mode, if they do
have a safe state.
Bypass the memory using a mux to connect Din to Dout. XOR observation
trees are used to make memory address bus observable. This technique is
implemented in the PMC RAM BIST solution. The path from Din to Dout may
be broken using additional flip-flops to avoid the creation of false paths and
provide control and observe points.
Add a special test mode that would write to a known address and read from
the same address. This would make the memory appear as simple buffers to
the rest of the design in the scan mode.
Rule 11: Analog I/Os transporting a dynamic signal should have a JTAG cell
ABC should map the differential input to a single ended signal for the JTAG input
cell or map the single ended value of the JTAG output cell to a differential output
signal.
Note that analog I/Os that do not transport an active signal such as pads
connected to reference inputs, external passive components and transformers
are excluded from this rule and do not need to have a JTAG cell.
When the JTAG_EXTESTB signal is active, the ABC should be in the operation
mode so that the received input value by the receiver is transferred to RX_JTAG
and the TX_JTAG value is transferred through the transmitter. The
JTAG_EXTESTB signal has priority over IDDQ, zATMSBy, zDTMSBy and all
other digital and analog inputs.
When the device goes into JTAG mode, input pads could have arbitrary data. If
these pads control clock frequency of an oscillator or a CSU in an ABC that
drives digital circuitry, the clock frequency becomes uncontrollable. If during the
JTAG mode the clock frequency exceeds the nominal functional specification, we
may experience excessive power dissipation. The JTAG_EXTESTB signal should
be used to force susceptible ABC digital signals into a safe state in JTAG mode
to ensure that clock signals do not go wild in the JTAG mode. Note that most of
ABC digital input signals may not require a safe state and do not need to be
forced to a specific value by JTAG_EXTESTB.
ABC designer is responsible to deliver a HDL model that properly describes the
JTAG behavior of the ABC.
S
off-chip
Functional
Digital Output
TX
...
BSC
Functional
RX
Digital Input
BSC
Figure 17: Placement of boundary scan cells (BSCs) for ABCs. The mux is
normally inside the TX.
Rule 12: Make sure IDDQ level is as small as the leakage current
IDDQ is the quiescent current on the digital power supply of a chip after the circuit
has stabilized. Bridging faults, stuck-at faults, and some stuck-open faults cause
a great increase in this current. Many of these faults would not be detected with
stuck-at test vectors. Therefore, measuring this current, and using a threshold to
determine defective chips, can greatly increase the quality of chips being shipped
to customers. There are certain restrictions on designs to make the use of IDDQ
possible. For IDDQ testing to be feasible, the normal value for IDDQ should be
much lower than the IDDQ of a circuit with a defect present. Typical IDDQ values
depend on the design, and can vary from a few nano-amps to few milli-amps.
Some of the issues and how they should be handled are listed below.
Floating Input Nodes: Floating input nodes are nodes that are not driven to
any value. Such nodes are likely to drift in voltage and cause other gates to
be turned at least partially on. This would cause the IDDQ current in the
normal circuit to be very high. Note that if all tri-state gates driving a net go to
their high-impedance state, then the net becomes a floating note.
Internal Bus Contention: If a bus is driven by two sources and each source
drives to a different value, then the IDDQ current would increase dramatically.
This situation should be avoided in the design by ensuring that only one
source drives the bus at any given time.
Pull-ups and Pull-downs: Resistance pull-ups and pull-downs may create a
permanent path from Vdd to Gnd through the resistor and result in a
considerable IDDQ current. They should be switched off when the chip-level
IDDQ enable signal (IDDQ) is active and the affected circuitry is required to be
IDDQ testable.
Analog Circuits Sharing Digital Power Rails: Analog circuits can have very
high currents, invalidating the use of IDDQ testing. All currents from the digital
rail of analog circuits should be switched-off when the chip-level IDDQ enable
signal (IDDQ) is active. The mechanism for shutting off must have a short
settling time (less than 1 ms). Also, the shut off mechanism must not
increase IDDQ inadvertently.
Analog Circuits with Dedicated Power Pads: Analog circuits that have
dedicated power rails and pads do not need to be switched-off during IDDQ
testing. ABC digital output pins driving internal digital circuitry should not
toggle in IDDQ mode.
PLLs and Embedded Memories: Turn off PLLs, oscillators, internal clock
generators and embedded memories if they share the same power rail with
the digital core. This is usually accomplished via the IDDQ signal. Turning off
a PLL can take hundreds of mil-seconds to restart, which can have a big
impact on the test time. For example, gating off the input to a PLL may still
allow it to "freewheel" for a very long time. The turn off mechanism should
have a short settling time.
I/O Buffers: Output buffers tend to have large current, which reduces the
sensitivity of IDDQ testing. By having separate VDD signals for the pads and the
Chip Core, lower IDDQ threshold levels can be used for the Chip Core,
increasing the number of faults detected. This may be difficult to do in a
FlipChip but can easily be done in a WireBond package. To make I/Os IDDQ
testable, all pull-up and pull-down resistors should be disconnected in IDDQ
mode.
Dynamic Logic: Dynamic logic is functionally equivalent to "floating nodes"
and is therefore problematic for IDDQ testing if they do not have dedicated
power rails and pins. They should be connected to an independent power rail
so as not to corrupt measurements on other digital rails.
JTAG: ABCs interfacing analog I/Os transporting a dynamic signal require to
support a special kind of boundary scan cell that requires the ABC to be in
functional mode to pass JTAG signal through the ABC. As a result,
JTAG_EXTESTB has priority over IDDQ enable (IDDQ), scan test mode
(SCANB) signals and all other input signals. Therefore, other signals should
not be capable of changing the ABC status when it is in JTAG mode.
Rule 13: All scanned logic should exceed 95% test coverage
Current PMC test coverage limit is set to 95% for stuck-at faults. This test
coverage target should be achieved with no more than 3 scan test cycle per gate.
A test cycle is one test clock cycle during scan test mode and should not be
confused with a test pattern that is a full scan load. The best in class goal is to
achieve 97% stuck-at fault coverage with one scan test vector per gate. Test
points are inserted only if ATPG did not achieve the target fault coverage after
generating a predetermined number of patterns set by the total test pattern count.
Test points could also be used if the ATPG run time is prohibitive.
Test synthesis includes scan and test logic insertion procedure. After
synthesizing the Logic Core, scan and test logic is inserted and the final post-
scan netlist is optimized.
As mentioned before the RTL design of the ABC Digital Core should contain a
dedicated scan bus (SCAN_IN[n-1:0] & SCAN_OUT[n-1:0]), SCANB, SCAN_EN,
FLL_CLK, and TEST_CLK reserved for scan insertion. These pins are left
dangling in the RTL description of the ABC Digital Core.
Scan insertion is performed after the final Logic Core shown in Figure 1 is
designed and fully synthesized. The total number of scan chains should match
the ECBI width that is typically 16 bit wide. Scan insertion is done in one pass
using DFTAdvisor and test logic is inserted using DFTAdvisor and
DesignCompiler. Here is a summary of scan insertion strategy:
The number of scan chains should not exceed the ECBI bus width (16 bit)
Each scan chain may mix flip-flops with different clocks and different edges
Each scan chain starts with a positive edge flip-flop and ends with an active
low lockup latch
All clocks are toggled at the same time during scan testing. Exceptions to this
are clocks that will always be available at top-level regardless of the device
that encompass the ABC.
If the ABC is wrapped by a TSB, its scan chains are declared as sub-chains
inside the TSB and the TSB is scanned following the rules and guidelines
provided in the document PMC-2001526 entitled TSB Design for Testability
Rules
requirement, the digital section of MABCs should be full scanned. All scripts and
template referred to in this document are designed to be reused for MABCs.
Here are the steps to follow in order to scan an MABC:
Ensure that all ABCs are scanned following the guidelines and rules provided
in this document
Scan the MABC by declaring ABCs scan chains as sub-chains using the
scripts provided in this document
The total number of scan chains at MABC level is equal to or less than the
ECBI bus width
If the MABC is wrapped by a TSB at top-level, MABC scan chains are
declared as sub-chains inside the TSB and the TSB is scanned following the
rules and guidelines provided in the document PMC-2001526 entitled TSB
Design for Testability Rules.
Users manual provides a detailed step by step guide for scan insertion and
production test pattern generation and verification. It also provides links to
scripts, application notes and templates required in order to apply the flow. The
General Block DFT and ATPG Application Note is found on the ICDC as a
component.
For digital circuits Boundary-Scan, Scan, Test Access Register (TAR) and mux
isolation are widely accepted and practiced. Unfortunately, there is not an
industry standard that defines mixed-signal DFT techniques. Recently, IEEE
1149.4 has been approved as an IEEE standard for analog test access at board
and chip level but has not been adopted by the industry yet. Having proven and
standard DFT techniques for mixed-signal circuits results in a greater design and
test efficiency.
Here are main motivations behind applying analog and mixed-signal DFT
techniques on chip.
DFT techniques tend to simplify and shorten the validation and debugging
process by providing capabilities such as higher controllability and accessibility,
fault location and fault diagnosis. These capabilities will reduce time to market by
reducing the number of design revisions. DFT techniques can also minimize the
need for wafer probing by providing direct access to critical internal nodes.
Each mixed-signal core should be able to achieve at least 95% fault coverage
using the stuck-at-0 and stuck-at-1 fault models for the digital part and short and
open fault model for the analog part. Currently, we do not have any tool that can
fault grade analog circuits. Therefore, adopted analog test and DFT techniques
should provide the ability to test key parameters of the mixed-signal core under
test. Its designer responsibility to identify key parameters that should be tested
in production.
Analog Test Output Bus is the most popular analog DFT technique. It is used as
an output bus to improve observability during test and debug. As shown in
Figure 18(a), it provides access to critical points to probe out internal signals.
ATB2 acts as a virtual probe to observe internal points and reduces the need for
wafer probing and problems associated with it. If the target net is differential,
ATB1 can be used in conjunction with ATB2 to observe differential signals.
Some internal nodes are buffered before being sampled. The buffer is necessary
if the internal probed node is not able to drive the test bus or if the parasitic
loading of the bus affects the performance of the CUT during the test mode.
Figure 18(b) represents the implementation of analog switches used to connect
or disconnect the ATB2. A T type analog switch is used to minimize the impact
of signal feed-through and charge injection. The leakage current of the switch
should be considered if you probe high-impedance nets.
Decoder
s s s
Analog Analog
... Analog
Buffer
BB #1 BB #2 BB #N
(a)
(b)
Figure 18: Schematic block diagram of the Analog Test Bus used to observe
internal signals of an ABC (a) and the schematic of analog test switches (b).
As shown in Figure 19, ATB2s from different ABCs are connected together to
form the top-level ATB2 bus.
(a)
Figure 20: A bad example for monitoring VDD and VSS values at different points
of the device.
Probing signals at the right layout location could be difficult to verify if special
considerations are not taken into account. Figure 20(a) illustrates a bad example
of monitoring AVS signal of block1. Since AVS is a global signal, LVS cannot be
used to verify the correct probing and the ABC designer has to visually inspect
the layout to ensure the correct connection of the probe point. Figure 20(b)
demonstrates a good practice for monitoring AVS at a desired location inside
(b)
Figure 20: A good practice for monitoring VDD and VSS values at different points
of the device.
VDD
CUT
P1 P11
I1 I'1
s ATINy
Analog
Circuitry ATB2
s
I2 I'2
N1 N11
VSS
Figure 21: Measuring current level of internal nodes. P1 and N1 are part of the
analog circuit under test. I1 and I2 are measured through ATB2.
Note that transmission gates used for ATB purposes should be of a specific type
(e.g. lib90n_D analog_test category, which contains cells such as
atb_only_switch) so that Mixed-Signal Verification can automatically verify them.
Analog Test Stimulus Bus is a powerful analog DFT approach that provides the
ability to apply test signals to internal analog and mixed-signal blocks. If the
target input is differential, ATB2 can be used in conjunction with ATB1 to apply
differential signals. Alternatively, if a four-port ATAP is permitted, ATBN1 can be
used in conjunction with ATB1 to apply differential signals.
Related analog multiplexers are used to apply test signals to internal nodes.
They are controlled using the ECBI analog test registers through the zATINy bus.
In order to minimize the performance degradation, proper test points should be
selected to insert the multiplexers. Switched capacitor, switched current and
already multiplexed inputs are examples where ATB1 can be inserted without any
significant performance penalty.
Figure 23 illustrates how ATB1s from different ABCs are connected together to
form the top-level ATB1 bus.
Analog BB #1 0
1
Analog
BB #2
0
1
Analog
BB #3
... 0
1
Analog
BB #N
s s s
Test Mode
ATINx
...
Decoder
ATMSB_OUT
Analog Test Bus
ATMSB Test Arbitrator
ABC
ATB1
(a)
Signal Input
0
Test Input 1
s
(b)
Figure 22: Schematic block diagram of the Analog Test Bus applied to an analog
core as a stimulus bus (a) and the implementation of multiplexer (b).
5.2.1.3 Analog Test Bus (ATBx) Used as Stimulus and Output Bus
ATB1 and ATB2 can be used together to form an Analog Test Bus (ATBx) that is
used for observing and applying analog signals (Figure 24). All associated
switches and multiplexers are controlled using configuration registers located
inside ECBI through the zATINy bus. Switches and multiplexers implemented as
shown in Figure 18(b) and Figure 22(b) respectively.
As an example consider testing analog BB #3. To test this block, ATB1 is used to
apply a test input to this block through its multiplexer. ATB2 is used to observe
the test response through the switch. Other switches and multiplexers are
properly set in order to prevent conflicting with this test.
ATB2 ...
s s s
Analog
BB #1
0
1
Analog
BB #2
0
1
Analog
BB #3
... 0
1
Analog
BB #N
s s s
...
Test Mode
ATINy Decoder
ATMSB_OUT
Figure 24: Schematic block diagram of the Analog Test Bus concept combining
stimulus and output test buses.
Figure 25 illustrates how a two-pin analog test bus can be used to measure and
apply differential signals. The decoding logic should activate each test
individually to ensure that bus contention does not occur.
ATB2
1
Analog Analog 0 Analog
VIN VOUT
BB #1 BB #2 0 BB #3
1
s0
Test Mode s1
ATINx Decoder s2
ATMSB_OUT
Figure 25: Schematic block diagram of the two-pin Analog Test Bus concept used
to measure and apply differential signals.
ATB2
ATB2
AT2 PAD
Device pin
AT1 PAD
ATB1
ATB1
ATMSB
(a)
PAD S
PAD
(b)
Figure 26: Schematic block diagram of the Analog Test Bus concept and its
connection to the top-level ATAP (a) and the implementation of analog test pad
(b).
ATB2
Device pin
Figure 27: Schematic block diagram of the Analog Test Bus concept and its
connection to a single analog test pad at the top-level.
ABC/MABCs are sometimes designed and reused as hard-cores that may also
instantiate all pads inside the ABC/MABC (especially for Flip-Chip devices). A
device may instantiate several identical instances of the hard-core ABC/MABC
and due to routing constraints may not share identical pins such as ATAP that
could be normally shared. Therefore, a device may actually have several sets of
ATAPs each for a different hard-core ABC/MABC. An example is demonstrated
in Figure 28. ATAP of each MTSB is identified by a dedicated prefix.
ATB2 MABC1
Rx1_AT1 PAD
ATB2
ABC ABC ABC
#1 #2 #M
ATB1
Rx1_AT2 PAD
ATB1
ATMSB
ATB2 MABC2
Rx2_AT1 PAD
ATB2
ABC ABC ABC
#1 #2 #M
ATB1
Rx2_AT2 PAD
ATB1
ATMSB
5.2.3 Loopback
Loopback is a viable and common DFT technique that may prove very beneficial
for applications that include both receiver and transmitter on the same chip.
Practical examples are telecommunication, data communication, audio, and
industrial control products. Loopback DFT technique, also called loop-around,
may result in a fully digital test for a mixed-signal part yet keeping good test
coverage. Many networking and telecommunication ASSP implement loopback
as a device feature. Use loopback wherever you can justify its implementation.
Path 1: S1=0, S2=X and S3=X establishes a digital path to test two digital
blocks. This is useful for debugging and validation.
Path 2: Digital blocks, ADC and DAC can be tested together by setting S1=1,
S2=0 and S3=X. Digital vectors should target the ADC-DAC pair because
digital blocks are already tested using the first path. Note that faults in the
DAC-ADC pair can self compensate errors in each other. The mux in front of
the ADC can greatly affect its performance.
Path 3: Setting S1=1, S2=1 and S3=0 creates a test path to test all building
blocks together. Test vectors should target analog building blocks as the rest
of the building blocks have already been tested using the first two test paths.
This test is the most useful in production testing.
0 0 0
Digital ADC Analog
1 1 1
S1 S2 S3
Encoder
1 Timing & 1
Driver
0 Control 0
Decoder
0 Data 0
Receiver
0
1 Recovery 1 1
S3 S4 S5
Figure 30: Digital and analog loop back DFT technique for a data communication
device (T1/E1 Line Interface).
Related switches are controlled using ECBI normal registers through the zATINy
and zDTINy buses. Loopback often happens for MABCs and therefore there
should be a dedicated ATMSB signal dedicated to MTSB level test modes.
All high-speed transmitter and receiver pairs are tested using an external
loopback technique. All data links faster than 200 MHz should implement
loopback DFT technique following guidelines provided in this section. As
illustrated in Figure 31 the external loopback is established on the load-board and
a PRBS data is applied to the transmitter. The PRBS data goes through the
external loopback and is received via the receiver. The received data should
match the transmitted data. One major deficiency of this test is that a strong
transmitter can mask faults that result in a week receiver. To overcome this
problem, the amplitude level of the transmitter should be programmable in the
test mode so that the transmitter amplitude can be decreased to stress the
receiver sensitivity. Note that the external loopback introduces a fixed
attenuation in the path. The external fixed loopback attenuation should be
considered to determine the amount of required on-chip programmable
attenuation to properly stress the receiver. To ensure that the transmitter levels
are within specifications and have not been affected by the process variations or
defects, its output levels are measured at DC using the tester prior to starting the
at-speed test.
S
off-chip
Digital
Output
TX
...
PRBS Generator
& Checker BSC
Digital
RX
Input
BSC
Figure 31: Loopback technique to test high-speed transmitter and receiver pairs
with embedded pattern generators and checkers.
Designer must also ensure that an internal loopback from the receiver to
transmitter (Figure 32) can be established. The internal loopback is very useful
for debugging, characterization and validation. Note that internal loopback
cannot be done in all cases as it impacts the performance of the receiver and
transmitter.
S1 Transmitter off-chip
1
0
Receiver
Here are general rules that ABC designer should follow when designing
transmitters and receivers.
5.2.4 Bypassing
Use bypassing in cases where you need to remove from the test path a block
that has a redundant functionality.
S1 S2 S3
Figure 33: Bypassing DFT strategy implemented using multiplexers. To test the
analog block in the middle, switches should be set to S1 = 0, S2 = 1, and S3 = 0.
N N
Clock & Data Jitter 1
Sampler
Recovery Attenuator 0
Figure 34: Bypassing the Jitter Attenuator to measure CDR jitter specifications
and diagnose possible cause of an excessive jitter.
IEEE 1149.4 is a new IEEE standard that aims at providing a complete solution
for testing analog and digital I/O pins and the interconnection between mixed-
signal integrated circuits. Its secondary objective is to provide access to internal
cores based on the test access bus concept. It includes IEEE 1149.1 boundary
scan Test Access Port (TAP) controller and therefore provides a support
infrastructure for BIST and test set-up. PMC has not adopted IEEE 1149.4 as a
test strategy mainly because it is more suitable for low-speed analog circuits.
Please refer to APPENDIX for a detailed description of this standard.
The IEEE Std 1149.6-2003 (AC JTAG) is build atop the IEEE Std 1149.1 (DC
JTAG) to improve the ability for testing differential and/or ac-coupled
interconnections between integrated circuits on circuit boards. As shown in
Figure 35 below, the problem with DC JTAG is that it cannot test for AC-coupled
connections as the coupling capacitor appears as an open circuit to the DC
JTAGs voltage levels. Moreover DC JTAG can only test for the single-ended
digital side of a differential signal.
Figure 35: Problem with DC JTAG testing of differential and/or ac-coupled signals
On the other hand, as shown in Figure 36 each leg of the differential signal path
has its own test receiver. The purpose of each test receiver is to independently
monitor the given leg of the signal path; In addition, AC-coupled connections can
also be tested since AC JTAG generates time-varying (AC) transitions, as
apposed to DC JTAG levels. These are features provided by AC JTAG which
results in adequate defect coverage and diagnosis capability.
To design receivers which are compliant with AC JTAG, you must refer to IEEE Standard
1149.6-2003 [AC JTAG]. Moreover, you may also refer to PMCs 90nm
PM50_00_18_A: Stork OC48/TFI receiver which has the AC JTAG capability. Note that
transmitters do not require any specific enhancements in order to be compliant with AC
JTAG. Instead, it is the responsibility of the digital logic to drive pulses out of the
transmitters; this is accomplished by means of slim_ac IOLM which is introduced next.
At PMC, a slim_ac IOLM is instantiated in the digital padring and is coupled with
each of the transmitter and/or receivers, which are going to be used during AC
JTAG. For receivers, slim_ac IOLM is used to observe both the positive and
negative legs of a receiver that is compliant with AC JTAG i.e. it contains the
required Test Receiver logic as depicted in Figure 36. For transmitters, the
slim_ac IOLM would provide the necessary pluses or train of pulses during AC
JTAG test. Figure 37 on next page shows the block diagram of the slim_ac IOLM.
For more information about the 90nm slim_ac IOLM, you may refer to component
cad_dd_00655 on ICDC.
so D Q pad_tdo
padside_p data_in
BC4
capture_clk
* * GN
shift_dr
capture_en
si jtag_acinit_p
so jtag_acinit_n
padside_n data_in
BC4
capture_clk
*
shift_dr
capture_en
si
AC7 so
frompad pin_input
i output_data
jtag_ac jtag_ac
ac_test_signal ac_test_signal
update_clk scanb
tck * scan_in
capture_clk
* ic_input cin
shift_dr shift_dr
capture_dr capture_en
update_dr update_en data_out topad
mode
si
control_out
scanb
pad_test
scan_en hiz
The two diagrams below show examples of top-level connections between a slim_ac
IOLM and the core where the ABCs reside. Figure 38 shows the connections for a top-
level differential receiver signal, indiff_p/n, which might be declared as follows in a
device pad_ report file:
pmxxxx.vhd
pmxxxx_core.vhd pmxxxx_padring.vhd
pmxxxx_jtag.vhd pmxxxx_pads.vhd
rx_jtag_acinit_p_indiff
rx_jtag_acinit_n_indiff slim_ac iolm I/O pads
ABC
rx_jtagp_indiff padside_p jtag_acinit_p rx_jtag_acinit_p_indiff
indiff_p indiff_p
rx_jtag_indiff frompad
indiff_n indiff_n rx_jtagn_indiff padside_n jtag_acinit_n rx_jtag_acinit_n_indiff
Figure 38: Top-level example connections between one slim_ac IOLM and one
ABC receiver
Figure 39 shows the connections for a top-level differential transmitter signal, sig_p/n,
which might be declared as follows in a device pad_report file:
pmxxxx.vhd
pmxxxx_padring.vhd pmxxxx_core.vhd
pmxxxx_pads.vhd pmxxxx_jtag.vhd
slim_ac IOLM
Figure 39 :Top-level example connections between one slim_ac IOLM and one
ABC transmitter
Figure 40 below illustrates the block diagram of a typical AC JTAG receiver which
is presumed to receive signals form a driver in the same technology.
Receiver (Rx)
Back- plane
Channel
RXIP
RXOP
Main
Transmitter Signal
(Driver) Path RXON
RXIN
JTAGP
JTAGN
JTAGAC
JTAG_ACFORCE
JTAG_ACINIT_P
JTAG_ACINIT_N
VREF
ENABLE
JTAG Receiver
JTAGAC: This signal controls the AC-mode and DC-mode of operation of the
JTAG receiver.
In the AC-mode of operation, the JTAG receiver compares the input signal to the low-
pass version of itself, while in its DC-mode of operation; the input is compared to a fixed
threshold (VREF).
VHYST_ LEVEL
RXIP
VHYST_EDGE
JTAGAC
LPF (TLP)
THYST 0 JTAGP
VREF
1
JTAG_ ACINIT_P
JTAG_ ACFORCE
Positive feedback
(behaves as a latch , level triggered by JTAG _ACFORCE)
Vhyst_Level: Minimum input signal level (on RXIP & RXIN) recognized as a valid
level by the JTAG receiver in its DC-mode of operation. This parameter
immunizes the JTAG receiver against small amplitude noise happening around
VREF, and accordingly eliminates false responses on JTAGP/N.
Vhyst_Edge: Minimum signal transition (on RXIN & RXIP) recognized as a valid
transition by the JTAG receiver in its AC-mode of operation. This parameter
immunizes the JTAG receiver against small signal transitions due to noise or
crosstalk, and accordingly eliminates false responses on JTAGP/N.
Thyst: This parameter is the minimum pulse duration recognized as a valid signal.
This parameter should be set such that it eliminates the detection of short
duration, large amplitude pulses as a valid signal (The JTAG receiver only
responds to input signals with a transition larger than Vhyst_Edge and lasting longer
than Thyst).
THP: High-pass time constant associated with AC-coupling capacitor (in the case
of AC-coupled receivers).
Ttest: Minimum time between signal transitions caused by boundary scan test.
This parameter puts an upper bound on the clock frequency (TCK).
To calculate JTAG receiver specifications for a given standard using the above
calculator, one first need to fill out the required technology parameters table (green
column) located on the right of the spread sheet. The corresponding AC JTAG receiver
parameters will then be automatically calculated in the table on the left of the spread
sheet (purple column).
One way to implement the AC JTAG receiver architecture shown in Figure 41 can be
found in the SONET OC-48/12/3/TFI-5 receiver circuit [PM50_00_18_A]. The AC JTAG
receiver circuit is instantiated by the name of jtagACDetect.
For I/O pads that are instantiated in the digital padring of a device, there are
provisions in place to ensure that I/O pads which have control inputs are placed
in a known/safe state during test modes such as internal scan or boundary scan.
For example, in 90nm devices there exists a pads_ctrl_reg user-defined register,
which is automatically inserted in the digital padring by the padring generation
flow to provide control via JTAG for I/O pads that have control inputs such as
schmitt-enable, pull-up or pull-down enable, drive strength, etc. The
pads_ctrl_reg is compatible with PMC JTAG TAP controller and hence could
easily be accessed via the JTAG TAP controller and allow testing of I/O pads by
setting different control values.
For I/O pads that exist in ABCs, however, the padrings pads_ctrl_reg register
can not automatically implement the same degree of control because the
interface of the ABCs is unknown to the padring generation flow. Besides, the
padring generation flow, as the name suggests, it only generates the padring; it
also generates an empty core which will subsequently be pulled in by Product
Development.
Figure 42 below suggests a method, similar to that of digital padring, which could
be implemented in a wrapper generated by top-level designers to provide
controlling of ABCs I/O control inputs via JTAG logic. In Figure 42, for example it
has been determined that ctrl1 and ctrl3 inputs to the ABC must preset to a logic
1 upon jtag reset, whereas ctrl2, ctrtl4 and ctrl5 must clear to a logic 0. Hence
the user-defined registers bits are chosen accordingly. When internal scan or
jtag EXTEST instruction is being executed the user-defined register takes over
and over-rides the values that are normally provided by the functional logic.
Moreover, since the user-defined register is simply accessible via JTAG, then
Product Engineering, for example, could easily access this register and capture
different values to perform various tests for debug and diagnosis on the ABC
I/Os.
Device Core
jtag_extestb
dll_scanb
1
ctrl1
0
1
Functional Logic
ctrl2
0
1
ctrl3 ABC
0
1
ctrl4
0
1
ctrl5
0
TDI 1 0 1 0 0 TDO
user-defined register
8 APPENDIX A
IEEE 1149.4 is a new IEEE standard that aims at providing a complete solution
for testing analog and digital I/O pins and the interconnection between mixed-
signal ICs. Its secondary objective is to provide access to internal cores based
on the Test Access Bus concept. It includes IEEE 1149.1 boundary scan Test
Access Port (TAP) controller and therefore provides a support infrastructure for
BIST and test set-up.
Figure 43 shows the IEEE 1149.4 architecture that includes the following
elements:
Test Access Port (TAP) comprising a set of four dedicated test pins: Test Data
In (TDI), Test Data Out (TDO), Test Mode Select (TMS), Test Clock (TCLK),
and one optional test pin: Test Reset (TRSTn).
Analog Test Access Port (ATAP) comprising two dedicated pins: Analog Test
Stimulus (AT1) and Analog Test Output (AT2), and two optional pins: Inverse
AT1 (AT1n) and Inverse AT2 (AT2n) for differential signals.
Test Bus Interface Circuit (TBIC).
An Analog Boundary Module (ABM) on each analog I/O.
A Digital Boundary module (DBM) on each digital I/O.
A standard TAP Controller and its associated registers.
ABM ABM
AMB ABM
Analog Core
DMB DBM
DBM DBM
DBM DBM
AB1 AB2
TDI
TCK TAP Controller
TDO
TMS and Registers
TRSTn
For complete details about this DFT technique please refer to the standard
reference manual published by IEEE.
Test Bus Interface Circuit shown in Figure 44 controls connections between the
ATAP and internal test buses and shall be able to:
Disconnect test bus lines from the ATAP during normal mode and connect it to
an internal source (e.g. Vclamp).
Connect AB1 to AT1 whether or not AB2 is connected to AT2.
Connect AB2 to AT2 whether or not AB1 is connected to AT1.
Apply VH or VL to the external test bus via the ATAP while they are
disconnected from their internal test buses.
Deliver current or voltage stimuli to pin through AT1 pin and AB1 bus
and support bidirectional transmission.
S9 Vclamp S10
S3 VL S4
S5 S8 S7 S6
+
+
VTH
AT1
AT2
IEEE 1149.4 attributes an Analog Boundary Module (ABM) to each analog I/O.
Each ABM shall be able to:
VTH
VG VL VH
SG SL SH
+
SCD Analog
Analog
I/O
Core
SB1 SB2
ABM
AT1 AB1
TBIC
AT2 AB2
IEEE 1149.4 supports all mandatory and optional 1149.1 instructions. It also
includes an additional mandatory instruction called probe.
All ATAP pins are isolated from the internal test buses and voltage sources.
All the analog function pins are isolated from the internal and external test
buses and from all test voltage sources.
All analog function pins are connected to the core.
When Extest is selected all analog function pins are separated from the core
through ABMs so that interconnect testing between different ICs can be
performed. When Intest is selected:
Analog ABM
I/O
Analog
ZCUT SB1 SB2 Core
TBIC
IT S5
AT1
AB1
v AB2
AT2
S6
VT
VL
ABM
SL' I/O
I/O
TBIC
IT S5
AT1
AB1
v AB2
AT2
S6
Chip 2 VT1 Chip 1
(a) Phase 1
VL
ABM ABM
SL'
I/O I/O
TBIC
TBIC IT S5
AT1
AB1 AB1
AB2 v AB2
AT2
S6'
Chip 2 VT2 Chip 1
(b) Phase 2
In this case, ZVT >> ZS6 + ZSB2 and therefore we can assume that VZCUT VT.
Also, ZVT + ZS6 + ZSB2 >> ZCUT and therefore IZCUT IT. This leads us to conclude
that ZCUT VT/I.
In the phase 1, as shown in Figure 47(a), IT is applied through AT1 of chip 1 and
VT2 is measured through AT2 of chip 2. If ZVT + ZS6 + ZSB2 >> ZCUT + SL then the
current stimulus passes mainly through ZCUT and IZCUT IT. Besides, if ZVT >> ZS6
+ ZSB2 then we can assume that the measured voltage VT1Vnet1.
In the phase 2, shown in Figure 47(b), IT is applied through AT1 of chip 1 and VT2
is measured through AT2 of chip 2. In this case, IZCUT IT and ZVT >> ZS6 + ZSB2
and therefore the measured voltage VT2 Vnet2. Having measured the node
voltages of the component we can measure its value using ZCUT (VT2 - VT1)/IT.
ABM ABM
SCD SCD
I/O
Analog Analog Analog
BB #1 BB #2 BB #3
T1 T2 SB2
ZL VT
T3 T4
TBIC
IT
S5
AT1 AB1
AT2 AB2
VT V S6
Figure 48: IEEE 1149.4 used to support Analog Test Bus (ATB) DFT technique.
9 REFERENCE