170
ChipScope Pro Software and Cores User Guide
UG029 (v14.3) October 16, 2012
Chapter 5:
ChipScope Engine Tcl Interface
::chipscope::csejtag_tap shift_device_dr
This subcommand is used to shift a stream of bits into and out of the data register of a
particular device the JTAG chain. Device padding is performed by this subcommand by
assuming all non-target devices are in BYPASS mode, then adding the necessary heading
and trailing bits to accommodate for the position of the target device in the chain. For raw
data shifting into the chain DR, see
::chipscope::csejtag_tap shift_chain_dr
.
Note:
The JTAG target must be locked by using the
::chipscope::csejtag_target lock
subcommand before calling this subcommand. 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.
Syntax
::chipscope::csejtag_tap shift_device_dr handle deviceIndex shiftMode
exitState progressCallbackFunc bitCount hextdibuf [-hextdimask
hextdimaskval] [-hextdomask hextdomaskval]
Arguments
Table 5-39:
Arguments for Subcommand ::chipscope::csejtag_tap shift_device_dr
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_DR
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.