166
ChipScope Pro Software and Cores User Guide
UG029 (v14.3) October 16, 2012
Chapter 5:
ChipScope Engine Tcl Interface
::chipscope::csejtag_tap shift_device_ir
This subcommand is used to shift a stream of bits into and out of the instruction register of
a particular device the JTAG chain. Device padding is performed by this subcommand by
putting all other devices into BYPASS mode. This subcommand must be called before
::chipscope::csejtag_tap shift_device_dr
to ensure all non-target devices as in
BYPASS mode, otherwise unexpected and unintended results can occur. For raw data
shifting into the chain IR, see
“::chipscope::csejtag_tap shift_chain_ir,” page 164
.
Note:
The JTAG target must be locked by using the
::chipscope::csejtag_target lock
subcommand before calling this subcommand. Also, the number of bits shifted into the device IR
must be exactly equal to the IR length of the device, or the subcommand will fail.
Syntax
::chipscope::csejtag_tap shift_device_ir handle deviceIndex shiftMode
exitState progressCallbackFunc bitCount hextdibuf [-hextdimask
hextdimaskval] [-hextdomask hextdomaskval]
Arguments
Table 5-37:
Arguments for Subcommand ::chipscope::csejtag_tap shift_device_ir
Argument
Type
Description
handle
Required
Handle to the session that is returned by
::chipscope::csejtag_session create
.
deviceIndex
Device index (0 to
n
-1) in the
n
-length JTAG chain.
shiftMode
{CSJTAG_SHIFT_READ | CSJTAG_SHIFT_WRITE |
CSJTAG_SHIFT_READWRITE)
exitState
State to end in after shift is complete (
CSEJTAG_SHIFT_IR
if no state change is desired).
progressCallb
ackFunc
Progress callback function that can be used to monitor
progress of JTAG target operations. The format of the
progress callback function is:
proc progressCallbackFunc (handle totalCount
CurrentCount progressStatus) {...}
The progress callback function must return either
$CSE_STOP or $CSE_CONTINUE
. If no progress callback
function is necessary, a
0
should be passed into this
argument position.
bitCount
Number of bits to shift.
hextdibuf
Data buffer that holds the data bits to be written into TDI.
The least-significant bit is shifted into TDI first.
-hextdimask
hextdimaskval
Optional
Specifies that a mask word hextdimaskval should be
applied to the data buffer bits before the data is shifted into
the TDI pin of the JTAG TAP.
-hextdomask
hextdomaskval
Specifies that a mask word
hextdomaskval
should be
applied to the data buffer bits after the data is shifted out of
the TDO pin of the JTAG TAP.