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# 17165

5.2i iMPACT - System ACE CF: New SVF/ACE file fails to program a JTAG chain with Virtex-II and Virtex-II Pro (ERRLED On)

Description

Keywords: .ace, SVF2ACE

Urgency: Standard

General Description:
A System ACE CF configuration error occurs when the ERRLED turns on. Errors can occur for a number of valid reasons, including:
- Incorrectly stored .ace files containing invalid chain details
- Incorrectly formatted CompactFlash cards (please see (Xilinx Answer 14456) for more information)
- Pointing to an invalid (or blank) configuration address

This Answer Record describes the two known .ace file generation issues in iMPACT 5.2i that cause errors when System ACE CF is used to program a JTAG chain containing one or more Virtex-II or Virtex-II Pro devices.

Problem 1:
A problem with the SVF file generation in 5.2i iMPACT causes configuration failures for Virtex-II and Virtex-II Pro devices. This problem affects both Virtex-II and Virtex-II Pro devices and occurs because the Virtex-II/-II Pro SYNC word is not placed correctly in the intermediate SVF file.

Problem 2:
The second problem affects only Virtex-II Pro devices, and occurs because the Virtex-II Pro Instruction Register length is not defined correctly in the intermediate SVF file.

Solution

1

The first problem above affects both Virtex-II and Virtex-II Pro devices, and it occurs because the Virtex-II/-II Pro SYNC word is not placed in the intermediate SVF file correctly. This is partially fixed in iMPACT 5.2i Service Pack 3. However, to work around this problem, when you target a JTAG chain that contains only a single Virtex-II/-II Pro device, you must perform a manual edit of the 5.2i Service Pack 3 SVF file (to match the format described below).

NOTE: This problem is completely fixed in iMPACT 6.1i.

SVF Work-Around

This work-around applies to all SVF/ACE files that target Virtex-II/-II Pro devices prior to the release of the 5.2i Service Pack 3. This work-around also applies to SVF/ACE files that describe JTAG chains containing only a single device generated in 5.2i Service Pack 3.

To work around this issue, follow these steps:
1. Select the iMPACT preference to keep the intermediate SVF file, using Edit -> Preferences.
2. Generate the ACE file following the iMPACT System ACE CF file generation flow.
3. Open the intermediate SVF file that is automatically generated and edit the SDR sequence in the first (shorter) cfg_in instruction shift for each target device according to the description and examples below.
4. Use the modified SVF file to create a new .ace file using the SVF2ACE translator. The SVF2ACE translator can be downloaded at:
http://www.xilinx.com/txpatches/pub/swhelp/ise5_updates/svf2ace.zip
5. Unzip and run SVF2ACE to translate the SVF file into an ACE file using the following command:
svf2ace -wtck -d -m 16776192 -i modified.svf -o modified.ace

Description of Required SVF File Edit

Each device targeted for programming loads two cfg_in instructions. The first "cfg_in" instruction is shorter and loads the RCRC command in the SDR (shift data register) sequence. The second "cfg_in" command is much longer and loads the entire bitstream for the target device. The first "cfg_in" instruction for each pair of "cfg_in" instructions (for each device targeted) in the SVF file must be edited by adding the SYNC word (aa995566) to the SDR sequence before the RCRC command is loaded. Add the SYNC word with the MSB loaded first, and add the appropriate shift amount depending on the number of devices in the chain. For each additional device that is bypassed in the chain (not including the target device being programmed), the data is shifted by one additional bit.

Original Unmodified SVF Without the SYNC Word for a Single Virtex-II Device Target

// Loading device with a `cfg_in` instruction.
SIR 6 TDI (05) ;
SDR 128 TDI (0000000000000000e00000008001000c) SMASK (ffffffffffffffffffffffffffffffff) ; <---

Modified SDR Instruction Examples (for a single device JTAG chain up to a nine device JTAG chain)

NOTE: The first "cfg_in" instruction must be edited for each pair of "cfg_in" instructions for each Virtex-II or Virtex-II Pro device targeted. If the target chain contains multiple Virtex-II or Virtex-II Pro devices, the manual edit must be made for each Virtex-II or Virtex-II Pro device targeted in the SVF file.

Modified SDR instruction for a Virtex-II/-II Pro in the SVF for a JTAG chain containing a single device:

SDR 224 TDI (0000000000000000e00000008001000c66aa9955ffffffff00000000) SMASK
(ffffffffffffffffffffffffffffffffffffffffffffffff00000000) ;

Modified SDR instruction for a Virtex-II/-II Pro in the SVF for a JTAG chain containing two devices:

SDR 223 TDI (0000000000000000700000004000800633554caaffffffff80000000) SMASK
(7fffffffffffffffffffffffffffffffffffffffffffffff80000000) ;

Modified SDR instruction for a Virtex-II/-II Pro in the SVF for a JTAG chain containing three devices:

SDR 222 TDI (0000000000000000380000002000400319aaa6557fffffffc0000000) SMASK
(3fffffffffffffffffffffffffffffffffffffffffffffffc0000000) ;

Modified SDR instruction for a Virtex-II/-II Pro in the SVF for a JTAG chain containing four devices:

SDR 221 TDI (00000000000000001c000000100020018cd5532abfffffffe0000000) SMASK
(1fffffffffffffffffffffffffffffffffffffffffffffffe0000000) ;

Modified SDR instruction for a Virtex-II/-II Pro in the SVF for a JTAG chain containing five devices:

SDR 220 TDI (00000000000000000e00000008001000c66aa9955ffffffff0000000) SMASK
(0ffffffffffffffffffffffffffffffffffffffffffffffff0000000) ;

Modified SDR instruction for a Virtex-II/-II Pro in the SVF for a JTAG chain containing six devices:

SDR 219 TDI (00000000000000000700000004000800633554caaffffffff8000000) SMASK
(07fffffffffffffffffffffffffffffffffffffffffffffff8000000) ;

Modified SDR instruction for a Virtex-II/-II Pro in the SVF for a JTAG chain containing seven devices:

SDR 218 TDI (00000000000000000380000002000400319aaa6557fffffffc000000) SMASK
(03fffffffffffffffffffffffffffffffffffffffffffffffc000000) ;

Modified SDR instruction for a Virtex-II/-II Pro in the SVF for a JTAG chain containing eight devices:

SDR 217 TDI (000000000000000001c000000100020018cd5532abfffffffe000000) SMASK
(01fffffffffffffffffffffffffffffffffffffffffffffffe000000) ;

Modified SDR instruction for a Virtex-II/-II Pro in the SVF for a JTAG chain containing nine devices:

SDR 216 TDI (000000000000000000e00000008001000c66aa9955ffffffff000000) SMASK
(00ffffffffffffffffffffffffffffffffffffffffffffffff000000) ;

2

The second problem above affects only the Virtex-II Pro device and occurs because the Virtex-II Pro Instruction Register length is not defined correctly in the intermediate SVF file. This is fixed in iMPACT 5.2i Service Pack 3.

AR# 17165
Date Created 04/28/2003
Last Updated 03/06/2005
Status Active
Type General Article