SourcePoint AMD Help

Table of Contents

tapdatashift

Shift bits into and out of the test access port (TAP) on the JTAG chain.

Syntax

tapdatashift(device, register, operation, writeValue, bitCount)

tapdatashift(device, register, operation, byref readValue, bitCount)

Where:

device

is an int4 that specifies the position of the device to access. Device positions are displayed by the devicelist command.

register

is an int4 where 0 specifies IR and 1 specifies DR.

operation

is an int4 where 0 specifies write and 1 specifies read.

writeValue

is an int4, ord4, array of int4, or array of ord4 that supplies the bits to shift into the device. It must be large enough to contain the total number of bits specified by the bitCount argument.

readValue

is a reference to a debug variable of type int4, ord4, array of int4, or array of ord4 that will receive the bits shifted out of the device. It must be large enough to contain the total number of bits specified by the bitCount argument.

bitCount

is an int4 that specifies the number of bits to shift into or out of the device.

Discussion

Use tapdatashift to read or write an instruction register or data register of a device on the JTAG chain. The device argument specifies which device is scanned while all other devices remain in bypass. The register argument specifies whether to access the instruction register or data register. The operation argument specifies whether to read or write and whether the fourth argument is a source of bits to write or the destination of bits that are read. The bits shifted into the device are taken from the writeValue argument. The bits shifted out of the device are stored into the readValue argument. You can only read or write, not both at the same time. The bitCount argument specifies how many bits are shifted.

Example 1

To write a 16-bit value into IR of device 0, writeValue=0x55AA:

Command input:

tapdatashift(0, 0, 0, 0x55AA, 16t);

Example 2

To read a 47-bit value from DR of device 0:

Command input:

define ord4 readValue[2];

tapdatashift(0, 1, 1, byref readValue, 47t);

Related Topics