TPCE636 User Manual Issue 1.0.2
Page 71 of 104
JTAG Controller to K7 JTAG Interface
7.12
The BCC provides two methods for accessing the USER FPGA via JTAG: Bit-I/O and Vector-I/O.
7.12.1
Bit-IO
The Bit-I/O Interface is a bit-centric interface that allows stimulating the JTAG interface by setting and
reading each line (TCK, TMS, TDI and TDO) of the JTAG interface independently.
All Bit-I/O register bits (
JTAG_BIO_*
) are directly linked/connected to the BCC JTAG Interface. If the Bit-I/O
Interface is enabled (
JTAG_BIO_EN = 1
), these bits drive the corresponding JTAG lines.
Note that the flexibility comes along with a higher I/O effort since every signal constellation must be set and
emitted on the JTAG interface via a TCK high and low sequence with separated register accesses.
7.12.2
Vector-IO
The Vector-I/O Interface focuses on a high abstract level where operations are performed semi-automatically
based on vectors and transfer lengths.
Via the register interface TMS (JTAG_VIO_TMS_DATA) and TDI data (JTAG_VIO_TDI_DATA) vectors are
defined that shall be shifted-out onto the JTAG interface. These vectors are coupled in a way that the data
(bit-information) is shifted-out at the same time.
Note that bit #0 is the first one that appears on the JTAG interface.
Shift operations require the transfer length (JTAG_VIO_XFER_LEN) information. The value has to be set in
accordance to the size of the TMS/TDI data vectors or TDO read size and defines the number of transfer
cycles or rather the number of TCK cycles (rising and falling edges with 50% duty factor) occurring on the
JTAG interface.
The actual TCK I/O clock rate is adjustable (JTAG_VIO_TCK_CLK_DIV).
If the Vector-I/O Interface is enabled (JTAG_VIO_EN = 1) and while the Vector-I/O Controller is idle
(JTAG_VIO_CTRL_STAT = 0b01), write (JTAG_VIO_SHIFT_REQ) or read (JTAG_VIO_GET_REQ)
operations can be initiated. Requests initiated while the Vector-I/O Controller is not idle are lost.
Note that there is no check regarding the number of bits shifted-out or read-in. Hence illegal data can be
shifted-out or read-in if the transfer length is not set appropriately.
Bits of the output data vectors are aligned to the beginning of a TCK cycle and are hence updated after a
falling edge. If more data is shifted-out than defined, zero bits (‘0’) are transferred, which is useful in JTAG
IR- or DR-Shift States.
Data is read-in with every rising edge during shift-out and get-requests. This also allows obtaining the bit-
information provided in response of a TMS/TDI operation.
Read-in updates appear immediately on the JTAG Vector-I/O TDO data vector (JTAG_VIO_TDO_DATA).
Note that bit #0 is the last one that has been read-in from the JTAG interface.