Virtual JTAG Intel® FPGA IP Core User Guide

ID 683705
Date 8/12/2021
Document Table of Contents

JTAG Circuitry Architecture

The basic architecture of the JTAG circuitry consists of the following components:

  • A set of Data Registers (DRs)
  • An Instruction Register (IR)
  • A state machine to arbitrate data (known as the Test Access Port (TAP) controller)
  • A four- or five‑pin serial interface, consisting of the following pins:
    • Test data in (TDI), used to shift data into the IR and DR shift register chains
    • Test data out (TDO), used to shift data out of the IR and DR shift register chains
    • Test mode select (TMS), used as an input into the TAP controller
    • TCK, used as the clock source for the JTAG circuitry
    • TRST resets the TAP controller. This is an optional input pin defined by the 1149.1 standard.
Note: The TRST pin is not present in the Cyclone device family.

The bank of DRs is the primary data path of the JTAG circuitry. It carries the payload data for all JTAG transactions. Each DR chain is dedicated to serving a specific function. Boundary scan cells form the primary DR chain. The other DR chains are used for identification, bypassing the IC during boundary scan tests, or a custom set of register chains with functions defined by the IC vendor. Intel uses two of the DR chains with user‑defined IP that requires the JTAG chain as a communication resource, such as the on‑chip debugging applications. The Virtual JTAG Intel® FPGA IP core, in particular, allows you to extend the two DR chains to a user‑defined custom application.

You use the instruction register to select the bank of Data Registers to which the TDI and TDO must connect. It functions as an address register for the bank of Data Registers. Each IR instruction maps to a specific DR chain.

All shift registers that are a part of the JTAG circuitry (IR and DR register chains) are composed of two kinds of registers: shift registers, which capture new serial shift input from the TDI pin, and parallel hold registers, which connect to each shift register to hold the current input in place when shifting. The parallel hold registers ensure stability in the output when new data is shifted.

The following figure shows a functional model of the JTAG circuitry. The TRST pin is an optional pin in the 1149.1 standard and not available in Cyclone devices. The TAP controller is a hard controller; it is not created using programmable resources. The major function of the TAP controller is to route test data between the IR and DR register chains.

Figure 4. Functional Model of the JTAG Circuitry