156
ChipScope Pro Software and Cores User Guide
UG029 (v14.3) October 16, 2012
Chapter 5:
ChipScope Engine Tcl Interface
::chipscope::csejtag_tap interrogate_chain
This subcommand scans the JTAG chain to obtain the IDCODE and number of devices in
the chain. Some IEEE 1149.1 non-compliant devices might not be compatible with this
subcommand and can cause the entire chain to be detected incorrectly or not at all. This
command does not update the instruction register (IR) lengths of each device.
Note:
The JTAG target must be locked by using the
::chipscope::csejtag_target lock
subcommand before calling this subcommand.
Syntax
::chipscope::csejtag_tap interrogate_chain handle algorithm
Arguments
Returns
An exception is thrown if the subcommand fails.
Example
Attempt to interrogate the chain using the default algorithm.
%::chipscope::csejtag_tap interrogate_chain $handle
$CSEJTAG_SCAN_DEFAULT
Back to list of all CseJtag Tcl Commands
Table 5-28:
Arguments for Subcommand ::chipscope::csejtag_tap
interrogate_chain
Argument
Type
Description
handle
Required
Handle to the session that is returned by
::chipscope::csejtag_session create
.
algorithm
Algorithm used to determine the composition of the JTAG
chain. Can be set to one of
{$CSEJTAG_SCAN_DEFAULT |
$CSEJTAG_SCAN_TLRSHIFT |
$CSEJTAG_SCAN_WALKING_ONES}
The
CSEJTAG_SCAN_WALKING_ONES
algorithm is:
•
Set each device into
BYPASS
by shifting long stream of 1's
into
IR
•
Shift
DR
pattern into
TDI
and wait for pattern on
TDO
. The
number of shifts determines the number of devices in the
JTAG chain.
•
Perform the
CSEJTAG_SCAN_TLRSHIFT
algorithm to get
IDCODE
s for each device.
The
CSEJTAG_SCAN_TLRSHIFT
algorithm is:
•
Navigate to
TLR
•
Shift out bits until all
IDCODE
s (or
BYPASS
bits) are read