170 www.xilinx.com 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.