| |
Board-Level Design
Outline
Schematic Design
Considerations
JTAG Device
Selection / Identification
-
Datasheet indicates IEEE-1149.1, JTAG or boundary-scan
compliance
-
High pin count BGA or surface mount device
(FPGA, CPLD, CPU, DSP)
-
Pin names TCK, TMS, TDI, TDO and TRST_N
-
BSDL file available
-
Chip vendors such as Altera, AMCC, Atmel, Broadcom, Cypress,
Freescale, IDT, Lattice, Marvell, Micron, National
Semiconductor, QLogic, Samsung, ST Microelectronics, TI,
Xilinx, and more
Design
boundary-scan into the product, not as an afterthought
-
Design engineers should think ahead about testing
-
Utilize DFT guidelines prior to and during board layout
-
Identify up front whether devices have BSDL files
available and ensure they have been tested
-
Consider the initial power-up or reset state of board
-
Ensure scan-chain is operational when power is applied
-
Properly terminate compliance enable pins
-
CPLDs that control power logic or scan-chain paths must
remain in BYPASS
-
TRST* pins must be high for JTAG testing
-
Constraints cannot be used if the scan-chain is not
working
-
Tri-state or disable non-boundary-scan devices
-
Provide boundary-scan control to disable device outputs
that will otherwise conflict with nets involved in
boundary-scan test (enable pins, test pins, reset
signals, power shutdown circuitry)
-
Disable these devices by:
-
Connecting a boundary-scan controllable output on the
net to control the chip enable of the conflicting device
(FIXED_HIGH, FIXED_LOW constraint)
-
Installing a dedicated jumper which put the target into
a boundary-scan ready state
-
Connecting a GPIO pin available on Corelis JTAG
controllers to the offending one
Considerations for
memory cluster testing
-
Memory cluster tests are performed by controlling the
pins on the memory device using surrounding JTAG logic
including address pins, data pins, chip select/enable,
output enable, RAS (DRAM), CAS (DRAM), clock
(synchronous devices), write strobe (FIFO), read strobe
(FIFO), and write enable
-
The driving boundary-scan devices must have separate
control cells for the address, data, and control pins on
the memory device
-
JTAG control of the clock signals must be provided
-
Ensure the clock pin has a JTAG output cell to drive the
clock
-
Pins identified in the BSDL file cannot drive
test patterns
-
If a PLL is used to drive the clock, ensure the PLL has
a bypass feature that can be used during JTAG testing
-
The PLL bypass feature should be controllable using JTAG
-
Adding stubs to the clock net may alter the functional
operation of the circuit
-
Memories can be functionally tested at-speed if they are
connected to a supported EJTAG CPU
-
Utilize ScanExpress JET to test the memory if it is
connected to a supported CPU (contact Corelis for a
current list)
Consider Power
Supply Loading
Xilinx and Altera
FPGA Considerations
-
Xilinx and Altera FPGA devices have different test
characteristics depending on if the devices are
configured
-
Maximum testability on these devices is in the
pre-configuration state
-
To keep Xilinx parts in pre-configuration mode, the
INIT* pin needs to be held low prior to and during
power-up of the target
-
To keep Altera parts in pre-configuration mode, the
NCONFIG* pin needs to be held low prior to and during
power-up of the target
-
Recommend these pins route to the TAP header in place of
a ground pin. When the JTAG controller plugs into the
TAP, the pin will automatically be pulled low

Compliance Enable
Pins Must Be Satisfied
-
Compliance pin states are listed in the BSDL file
-
Correct compliance pin states must be maintained prior
to and during JTAG testing to maintain test compliance
-
For example, the BSDL file for the Motorola MPC106
device describes the following compliance enable pin:
attribute COMPLIANCE_PATTERNS of mpc106: entity is "(LSSD_MODE_L)
(1)";
indicates that pin LSSD_MODE_L must be a logic high
prior to and during boundary-scan testing for correct
JTAG operation
Considerations for
Flash In-System Programming
-
In-system programming of flash devices through JTAG is
done by emulating read & write cycles to the flash
device using surrounding JTAG logic including address
pins, data pins, chip enable, output enable, write
enable, and optionally reset, write protect and
ready/busy
-
The driving boundary-scan devices must have separate
control cells for the address, data, and control pins on
the memory device
-
To reduce programming time:
-
Utilize boundary-scan devices with faster TCK rates
-
Ensure that your scan-chain is short
-
Remove unnecessary constraints
-
Use external write strobe
-
External Write Strobe (Flash In-System Programming)

Flash
In-System Programming Theoretical Speed Formula
(#bits in chain) * (#scans/write) * (#writes/location) *
(#locations)
TCK frequency
Where:
#bits in chain - effective length of the boundary-scan
chain (assuming
unused components are placed in BYPASS)
#scans/write - number of DR scans which are required in
order to
write a data value to the flash
#writes/location - number of data values that must be
written to program
each location
#locations - number of data locations to be programmed
TCK frequency - frequency of the JTAG test clock (TCK) signal
PCB Layout Considerations
-
Component Placement
-
Trace Routing
-
Test Points
-
Multiple Scan-Chains
General
-
TCK needs to be as free as possible of glitches and
spikes, since all
operations are triggered by rising and falling TCK
edges.
-
Connection of TDO of last device in scan chain to board
TDO should be as
short as possible.
-
TCK and TMS fan out to every device is most critical.
-
When using fan out buffers to distribute TCK, TMS and
TRST_N, put
termination resistors on the primary side of the buffer
(signals coming
from the JTAG controller) .
-
A series resistor on the TDO of the last device in the
chain should be close
to that device’s TDO pin.
Component
Placement
-
Provide adequate room around the TAP connector to plug
the cable in
-
Easier debug access when termination resistors are
placed consistently close to the TAP connector along
with a clearly labeled ground point
-
Do not place the TAP connector near noisy analog
components such as voltage regulators
-
Consider access to probe the scan-chain if things
don’t work
-
Place JTAG devices such that a star topology can be
implemented on the JTAG signals
Trace Routing
-
Recommend general documented layout guidelines such as
-
A Practical Guide to High-Speed PCB Layout, Analog
Devices
-
Guidelines for Designing High-Speed FPGA PCBs, Altera
-
High-Speed Board Layout Guidelines, Altera
-
Basic Principals of Signal Integrity, Altera
-
Recommend JTAG traces be a minimum 10 mil width with
minimum 10 mil spacing with length as short as possible JTAG signals should be routed on the outer layers away
from noisy analog voltage regulators 36
-
TMS and TCK are broadcast lines. They should be routed
in accordance to high-frequency bus rules. Use fan out
buffers to avoid overload of TMS and TCK signals coming
from the JTAG controller.
-
Route TCK and TMS in a star topology
-
Signal quality is a key factor for successful JTAG
testing
-
JTAG test signals should be assigned as critical for
first pass route
-
Most common problems are reflections and ringing on TCK
-
Faster TCK results in faster in-system programming times
Test Points
-
Compliance enable pins should be accessible. It is a
good idea to place pads for both pull-up and pull-down
resistors on the pin when in doubt
-
Even though TDI and TDO are point to point, consider an
accessible test point at each link for debug if required
-
Always ensure there are convenient test point locations
for ground
Multiple
Scan-Chains
-
A working scan-chain should be one of the highest
priorities
-
Breaking up a scan-chain may provide easier debug
capability
-
Different groups use the JTAG chain differently
For
more tips on boundary-scan chains, see
boundary-scan chain tips.
|
|
|
|
Corelis Education

| |
|
|
| |
Design engineers will benefit by
implementing a boundary-scan friendly design. |
|
| |
 |
|
| |
|
|
|
| |
|
|
| |
Corelis
offers free
three-day training classes that include a boundary-scan tutorial and
hands-on lab exercises using Corelis ScanExpress hardware and software.
The training class covers all aspects of boundary-scan testing using
Corelis ScanExpress tools. |
|
| |
 |
|
|
|
|