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

System ACE MPM Update, 4.2i/5.1i/5.2i iMPACT - Erasing or verifying fails when I attempt to program a System ACE MPM Flash


General Description:

When I attempt to erase or verify a System ACE MPM device, the device hangs or iMPACT reports an error message similar to the following:

"'2': Putting device in JTAG enable mode...

'2': Performing blankcheck on device...

'2': Part is not blank.

'2': Putting device in JTAG enable mode...


'2': Erasure terminated due to errors."

System ACE MPM Checklist

1. Update to 5.2i SP3 iMPACT software.

2. Update to MPM Controller firmware Revision 2.

3. Confirm that the SYSCLK frequency is at least 12 times the TCK frequency used.

4. Update is required for JTAG chains with Virtex/Virtex-E.


The iMPACT programming software has been modified to improve System ACE MPM programming functionality.

Update to the latest 5.2i Service Pack, available at:

The first service pack containing the update is 5.2i Service Pack 3.

The System ACE MPM/SC Controller design has been modified to improve functionality. The 5.2i iMPACT software is required to correctly recognize the new controller version.

To verify the controller version currently programmed within the MPM device, check the Usercode reported for the MPM device when initializing the chain in iMPACT as follows:

For the 64M MPM device with the new controller version, iMPACT will report the Usercode is 'fff02002'.

For the 32M MPM device with the new controller version, iMPACT will report the Usercode is 'fff01002'.

For the 16M MPM device with the new controller version, iMPACT will report the Usercode is 'fff00002'.

You can also verify the controller version programmed within the MPM device by holding the SYSRESET signal High. When SYSRESET is held High, if the latest version is already programmed into the System ACE MPM device, version "0010" (version 2) will appear on the STATUS pins.

If the Usercode or status pins indicate that the new controller revision 2 is not currently programmed into the MPM controller, then download the new controller design from the Xilinx Web site and program it into the System ACE 18V01 PROM.

Download Instructions

Download the appropriate density (16, 32, or 64 MB) System ACE MPM/SC Controller design from the "System ACE Technology Download" page at:


NOTE: When you click on the above link to download a file, you must provide the User ID (user name) and password that you use to register on the Xilinx Web site.

Re-programming Instructions

Update to the latest software version. See the Software Update Center at:


To update the System ACE MPM/SC Controller design, perform these steps:

1. Manually create your JTAG chain using the "Add Device" option in the "Edit" menu in iMPACT.

For example:

If only the System ACE MPM is in the JTAG chain, create the following chain manually:

18V01 (with new ".mcs" file) -> V50e (with the "xcv50e.bsd" file from the "%XILINX%\virtexe\data" directory)

2. Erase/Program/Verify the 18V01 with the new PROM file.

3. Re-initialize the chain in iMPACT. You should see an 18V01 followed by an xccacemXX device. Verify the new version by checking for the correct Usercode as indicated above.

4. Assign the System ACE ".mpm" file to the xccacemXX device, and then erase, program, and verify the System ACE MPM/SC Flash.

Debugging Tips for System ACE MPM/SC Erase and Blank Check Failures

1. The SYSCLK must be at least 12 times the TCK frequency for the JTAG interface to operate reliably:

At 200KHz: the valid SYSCLK range is 2.4 MHz < SYSCLK < 133 MHz

At 2.5MHz: the valid SYSCLK range is 30 MHz < SYSCLK < 133 MHz

At 5.0MHz: the valid SYSCLK range is 60 MHz < SYSCLK < 133 MHz

Try setting a slower cable speed in iMPACT. Beginning with the 5.2i software, you can set the Parallel Cable download speed in iMPACT using "Edit" -> "Preferences" -> "Cable Leads". If the SYSCLK has a variable oscillator, try increasing the frequency.

2. Verify that the System ACE control pins are correctly connected.

3. Verify that the STATUS LEDs indicate a valid System ACE MPM/SC Controller state. Erase and blankcheck operations fail if STATUS[3]='0'. If STATUS[3]='0', then select an empty bitstream location by changing the BITSTRSEL[0:2] address, and pulse the SYSRESET signal. If the location is empty and the controller is in a valid state, then the STATUS[3] pin should go High.

If a Spartan-II, Spartan-IIE, Virtex, or Virtex-E device is both in the JTAG chain and in the target chain being programmed from the System ACE MPM/SC, a verification or blankcheck error will occur when attempting an MPM erase.

Since the controller is reset during an erase sequence, the PROGRAM pin on the target device is toggled. For the Spartan-II, Spartan-IIE, Virtex, or Virtex-E device families, toggling the PROGRAM pin results in the JTAG logic resetting, which causes the JTAG chain to be out of syncronization when further operations are attempted.

This will not affect the newer FPGA families, including Spartan-III, Virtex-II, and Virtex-II Pro, as their JTAG logic is not reset when the PROG_B pin is toggled.

The problem will be fixed in iMPACT 6.1i Service Pack 3.

AR# 15017
Date Created 09/03/2007
Last Updated 12/15/2012
Status Active
Type General Article