Virtual JTAG Intel® FPGA IP Core User Guide

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

Design Example: TAP Controller State Machine

The TAP controller is a state machine with a set of control signals that routes TDI data between the Instruction Register and the bank of DR chains. It controls the start and stop of any shift transactions, and controls the data flow between the parallel hold registers and the shift registers of the Instruction Register and the Data Register. The TAP controller is controlled by the TMS pin.

The figure below shows the TAP controller state machine. The table that follows provides a description of each of the states.

Figure 19. JTAG TAP Controller State Machine
Table 15.  Functional Description for the TAP Controller States

TAP Controller State

Functional Description

Test-Logic-Reset

The test logic of the JTAG scan chain is disabled.

Run-Test/Idle

This is a hold state. Once entered, the controller remains in this state as long as TMS is held low.

Select DR-Scan/Select IR Scan

These are temporary controller states. A decision is made here whether to enter the DR states or the IR states.

Capture DR/Capture IR

These states enable a parallel load of the shift registers from the hold registers on the rising edge of TCK.

Shift DR/Shift IR

These states enable shifting of the DR and IR chains.

Exit1 DR/Exit1 IR

Temporary hold states. A decision is made in these states to either advance to the Update states or the Pause states.

Pause DR/Pause IR

This controller state allows shifting of the Instruction Register and Data Register to be temporarily halted.

Exit2 DR/Exit2 IR

Temporary hold states. A decision is made in these states to advance to the Update states.

Update DR/Update IR

These states enable a parallel load of the hold registers from the shift registers. Update happens on the falling edge of TCK.