NOTE: For anyone who downloaded the zip file on 6/21/13 or 6/22/13, please redownload – that version was missing an item.
A few years back, we coded up a bit-banged JTAG programmer for Xilinx CPLDs using the FT232. It worked suitably well for flashing the Digilent CMOD to such purposes as a …Reset Glitcher, as well as some other projects. We followed up with a few small bugfixes in the v0.11 release of the same tool.
Because it worked for the XC2C64 in the CMOD board, we mistakenly assumed it would work with any Xilinx CPLD, until a savvy user named Peter found that it was impossible to program the XC9572 using our tool.
We went back and forth on email over these issues, and it seemed that the ’72 would program fine for many data bits, and then just crap out. Very puzzling… Until we found Xilinx Application Note XAPP067, which explained that their chip just doesn’t program properly all the time. Doh! So rather than fix their device, Xilinx explained how users could implement a “failure recovery loop” to reset and retry the program or erase function. Hmm?
They also explained that only if a device fails 32 times in a row should it be considered bad. Huh?
And last, that about 1% of the bits in the 9500 series will fail. What??? let’s take a step back – at about 52,000 bits in the device, that means that ON AVERAGE 520 bits will fail programming. That seems really, really awful – doesn’t it?
Continue on to page 2 to hear the dramatic conclusion..