[hpsdr] hpsdr Digest, Vol 1, Issue 2

Ray Anderson ray.anderson at xilinx.com
Fri Mar 3 14:02:19 PST 2006




>I sure hope it is possible to mix vendors (e.g., Xilinx and Altera) on 
>the same JTAG chain for programming purposes :-/

>73,

>Lyle KK7P


Since it is possible to get the JTAG buss to pump out the IDCODEs for
each device on the buss you should be able to then send specific
instructions to each device addressed with it's IDCODE.

>From  Xilinx Answer Record 11857:

	When the TAP (Test Access Port) of a JTAG-compliant device is
reset, 	the default instruction (either "Bypass" or "IDCODE") is pushed
into 	the data register. By moving the TAP of all devices in the chain
to 	SDR and clocking "0's" on TMS, the JTAG Programmer can read in a
long 	string that consists of all of the IDCODES in a chain. Xilinx
recommends holding TDI high during this operation.

	For example:
	Suppose a chain consists of an 18V02PC44 and a Virtex 300EPQ240.

	1. Reset the TAP of all devices. Clock {11111} on TMS (one TCK
pulse 	for each bit) to push the IDCODE of each device into its Data
Register 	(DR)
	2. Move the TAP to Shift Data Register (SDR). Clock {0100} on
TMS.
	3. Clock "0's" on TMS until all IDCODES are read. This shifts
out the 	IDCODES of both devices, starting with the last bit of
the last 	device:
	110010010000101000000000101000001100100100000000010001010000XXXX
	4. Since all IDCODES end with "1" and the IDCODE must be 32 bits
long, 	iMPACT/JTAG Programmer can discern the individual IDCODEs:

	XXXX0000101000100000000010010011 (V300E)
	00000101000000000101000010010011 (18V02)


Assuming the devices from Altera are also JTAG compliant things _should_
work the same if there are mixed vendor devices in the chain.


-Ray    WB6TPU



 1141423339.0


More information about the Hpsdr mailing list