Index
Annotated List
Hierarchy
Deep Hierarchy
Package Documentation
Files

entity JTAGController

Simplified version of a ScanPSC100 JTAG controller (by J. Ero).

More...

Sourcefile...


Used Packages

Generics

Ports

Architectures

Detailed Description

JTAG Controller that supports two JTAG chains.

The controller is accessed through 8 registers mapped into VME address space. Except for a few minor exception these registers are the same as for the National Semiconductor ScanPSC100F Chip.

The controller's JTAG ports should be connected directly to the I/O pins of the FPGA without any flip-flops in between.

Furthermore the controller needs the 40 MHz clock and a reset signal which has to be asserted at startup to initalize the controller.

Important Note on the VME Interface: The JTAG controller uses a simplified VME interface. vme_en is used as a strobe. It has to be active until vme_dtack ends the cycle. While vme_en is active, bot the addresses and data (for a write) have to be valid. vme_en must change synchronously to the 40 MHz clock (no asynchronous clear) as the falling edge of vme_en is used to trigger actions. ) vme_wr has to be valid and stable duing the whole cycle and for two clocks after the vme_en goes to low.

Main differences to ScanPSC100:

Generics:

base_addressVME base address in bytes
address_incrementaddress increment bewteen successive registers in bytes (2 for word access, 4 for long word access)
addr_highupper index of vme_addr vector
addr_lowlower index of vme_addr vector (1 for word access, 2 for long word access)

Ports:

oTckJTAG clock output
oTms0TMS output for chain 0
oTms1TMS output for chain 1
oTdoTDO output (bot chains)
iTdi0TDI input for chain 0
iTdi1TDI inout for chain 1
vme_addrVME adresses (range defined by generics)
vme_dataVME data from VME bus
vme_enVME enable strobe (see text above)
vme_wrVME write (see text above)
vme_dtackVME dtack (see text above)
vme_data_outVME data to VME bus (16 bit but only lower 8 bits are used)
vme_en_outVME enabled and one of the registers was addressed. used to multiplex vme_data_out from multiple registers.
clk40 MHz clock
resetasynchronous reset, active high (to be asserted at startup)

See also: ScanPSC100F, documentation(http://www.national.com/ds/SC/SCANPSC100F.pdf)