I recently found myself up against a problem many have faced: Trying to build an old design which uses a MAX7000 series CPLD. In my case an EPM7128LC84; an old device discontinued long ago which is not mentioned in any readily obtainable Altera literature. To make things worse I only have the POF file making it rather difficult to port to a different chip.
In case you happened to be looking, the original (only) 1992 datasheet can be downloaded here.
Here’s a few substitution solutions I came across:
Convert to Atmel ATF15xxx series
Atmel produced a tool called “POF2JED” which converts POF files into the necessary format to program their own series of CPLDs.
As promising as this solution appeared, only one of the three files I needed to convert actually worked. In the case of the other two the tool hung for a few seconds, eventually exiting with no error or warning having produced no output whatsoever.
Apparently this tool was made by reverse engineering Altera’s fuse map and one person discovered that it has a hidden option for dumping out the fuse maps in human readable format.
Convert to MAX7000S
The software for the programmer I use (Labtool/Dataman 48UXP) understands the fuse map of these old Altera devices, and to a limited extend is able to convert between them, in particular to the JTAG programmable ‘S’ series theoretically negating the need for a large expensive programmer. Unfortunately it will not perform the conversion without said programmer attached.
Being a commonly used production tool back in the day it is likely they had an actual licensing agreement with Altera. For example it will convert my EPM7128LC84 POF file and program an EPM7128SLC84 on the fly:
Handy. And this does give me at least one option. It works perfectly.
But there is already another problem which is that EPM7128SLC84’s are uncommon. Most of what is for sale is beaten up scrap from China. I bought some off eBay and while they did work they were all in appalling condition. Certainly not something I would be comfortable selling.
Convert to MAX7000E
This is what I really wanted as I have new old stock of these devices. Unfortunately they have a slightly different fuse map to the original non-E devices and the Labtool software doesn’t directly offer an option to convert between the two. However there is still a way.
First of all program a MAX7000S device using MAX7000 mode (EPM7128S as 7128), then read that MAX7000S device back using the MAX7000E mode (EPM7128S as 7128E) at which point it can be saved as a converted ‘MAX7000E’ format file.
Unfortunately I didn’t uncover any ground-breaking avenues for dealing with these old devices, but at least found a couple of extra options.