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 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.
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.
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='0'. If STATUS='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 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.