ATF750, ATF2500 programming algorithms
I hope this is the right forum for this, but I did not see a forum category specifically for programmable logic.
First of all, let me say that I generally really appreciate Atmel/Microchip's continued support for interfacing to legacy systems whereas most manufacturers have abandoned them. The continued availability of 5 V tolerant, or even 5 V powered parts, especially in DIP packages, is of truly great benefit to those of us that have to interface to and repair systems that may be 40 years old and still in production, as well as the hobbyist community for whom breadboard prototyping is the norm.
Furthermore, let me state that the documentation quality for your products is generally excellent, and I applaud your general commitment to open hardware details.
Which brings me to the following topic: the support for ATF750 and ATF2500 series CPLD in contemporary programmers is very poor. The data sheets say "supported by all third-party programmers", but that is no longer the case. The reason appears to be that their programming algorithm is not the JEDEC algorithm used by PALs/GALs, but something proprietary; possibly (probably) a variant of this, but it appears completely undocumented in a form accessible to the general public, and therefore not picked up by developers of modern low-cost programmers like the Autoelectric TL866 series. The cost of a programmer that supports these parts start at roughly $300, used, whereas generic programmers these days otherwise range around $30.
This is particularly a problem for the ATF750, because this part appears to be uniquely suited to replacing no longer available parts in narrow (0.300) DIP packages. TQFP packages can generally be put on a circuit board carrier to be seated in a wide (0.600) DIP slot, but this is simply not possible in the narrow form factor.
The ATF22V10 similarly uses a proprietary algorithm, but it has since been reverse engineered in the public domain:https://www.ecstaticlyric...electronics/ATF22V10C/
... and as a result support is starting to appear in these low-cost programmers.
However, the ATF22V10, like all 22V10 products, does not support buried flipflops of any kind, which is a major shortcoming and greatly limits its use. I, personally, recently had to abandon a project where a single ATF750 would have solved the issue, but no general solution without a brand new custom circuit board (which would have been nearly impossible, if not outright impossible, to fit, and would have risked permanently damaging the largely irreplaceable legacy equipment.)
Thus, I would like to politely request that the programming algorithm for ATF750 and ATF2500 be released to the public, even informally (without support) if necessary. If the documentation that was originally provided to programmer manufacturers has been lost, perhaps the reverse-engineered information above could act like a starting point; I would guess that there are enough similarities. One can assume at this point that any IP that once was relevant for these parts is long since obsolete.
Now, if I could really dream freely, I would love to see an ATF1502AS(L) in a DIP-28 package, specifically with CLK3 on pin 1, and I/O-available pins on the other pins. That being said, the ATF15xx series also has the problem that if the user needs to disable JTAG due to existing pinout requirements and/or the number of I/Os needed, the restoration (erasure) operation is undocumented. The MAX7000, with which the ATF1500 series is supposed to be compatible, can apparently have JTAG disabled in user mode only by pulling TCK down during startup, not sure if that applies to ATF1500 as well; that being said, documenting this particular sequence using a high voltage unlock would be really appreciated.
The ATMega328P has a great description of its high voltage programming algorithm; something similar would be greatly appreciated.