UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 3650

JTAG - Using Automatic Test Equipment (HP 3070, Teradyne, GenRad) to program Xilinx devices

Description

This Answer Record contains ISP troubleshooting and general debugging tips to help you program Xilinx devices using Automatic Test Equipment (ATE).

Solution

1. In a boundary scan chain, work on one device at a time.

- If any of the following steps fail, use HIGHZ (if available) instead of BYPASS for non-targeted devices.

2. Disable all free-running clocks.

3. Prepare and execute a set of test vectors to read the IDCODE from the target device.

4. Prepare and execute a set of test vectors to ERASE the target device.

5. Prepare and execute a set of test vectors to PROGRAM several addresses in the target device.

- In a multi-part boundary scan chain, initially ensure that all other devices are blank.

- If this step fails and all other devices are blank, use HIGHZ instead of BYPASS on all non-targeted devices.

6. Prepare and execute a set of test vectors to PROGRAM all device locations.

- In a multi-part boundary scan chain, initially ensure that all other devices are blank.

- If this step fails and all other devices are blank, use HIGHZ instead of BYPASS on all non-targeted devices.

7. Prepare to execute a set of test vectors to READBACK (verify) all device locations.

ATE and ISP troubleshooting tips:

1. Use HIGHZ, instead of BYPASS, on non-programmed parts to increase system noise immunity.

2. If ERASE is failing, increase the ERASE time by 25%.

3. If PROGRAM is failing, increase the PROGRAM time by 25%.

4. If either ERASE or PROGRAM are failing, increase the maximum retries by 2X.

HP 3070 Tips:

(NOTE: If you are seeing a duplication of vectors in the VCL file, you must download the latest version of SVF2VCL from the Xilinx Web site at:

http://www.xilinx.com/txpatches/pub/swhelp/cpld/h3070_pc.zip

1. Add a 100 ohm pull-up on TCK at the TCK probe point on the fixture.

2. Add a 100 ohm pull-down on TMS at the TMS probe point on the fixture.

3. Use the shortest possible leads on TCK, TMS, TDI, and TDO.

4. Define TCK, TMS, TDI, and TDO as critical signals.

6. Use 5V drive levels.

7. Add a 1nF capacitor parallel to the TCK and TMS resistors.

8. Vary vector cycle times to increase noise immunity.

9. Vary slew rates to increase noise immunity.

10. Use twisted pairs for TAP signal connections for increased noise immunity.

GenRad GR228X Tips:

1. Use the Deep Serial Memory (DSM) option to achieve the fastest ISP execution times and the smallest disk file sizes.

2. Use clock drivers for TCK or provide an external buffer on the driver/sensor pin that is assigned to TCK.

AR# 3650
Date Created 08/21/2007
Last Updated 12/15/2012
Status Active
Type General Article