Introduction
System-Level Debugging Infrastructure
Virtual JTAG Interface Description
Run-Time Communication
Instantiating the Virtual JTAG Intel® FPGA IP Core
Simulation Support
Compiling the Design
SLD_NODE Discovery and Enumeration
Capturing the Virtual IR Instruction Register
AHDL Function Prototype
VHDL Component Declaration
VHDL LIBRARY-USE Declaration
Design Example: TAP Controller State Machine
Design Example: Modifying the DCFIFO Contents at Runtime
Design Example: Offloading Hardwired Revision Information
Document Revision History for the Virtual JTAG Intel® FPGA IP Core User Guide
Write Logic
The RTL uses a single instance of the Virtual JTAG Intel® FPGA IP core to decode both the instructions for the write side and read side logic. The IR register is three bits wide, with the three instructions decoded in the RTL, as shown in the table below.
Instruction Register Value |
Function |
---|---|
PUSH |
Instruction to write a single value to the write side logic of the DCFIFO. |
POP |
Instruction to read a single value from the read side logic of the DCFIFO |
FLUSH |
Instruction to perform a burst read transaction from the FIFO until empty. |
The IR decode logic shifts the Push_in virtual DR chain when the PUSH instruction is on the IR port and virtual_state_sdr is asserted. A write enable pulse, synchronized to the write_clock, asserts after the virtual_state_udr signal goes high. The virtual_state_udr signal guarantees stability from the virtual DR chain. The figure below shows the write side logic for the DCFIFO.
Figure 20. Write Side Logic for DCFIFO