Because I'm like that I decided to order a couple of EPM7160STC100-10s from China. I didn't I have particularly high hopes but they a) arrived and b) can actually be programmed as '7160s in Quartus.
And as it's been a long day and as I didn't feel like doing anything taxing I figured I'd post up how I tested / programmed them. Hopefully this will be useful; and also I'm absolutely open to corrections as I'm not knowledgable on CPLDs or the MAX7000s in particular.
First off the programming contraption.
Attachment:
WhatsApp Image 2024-08-23 at 11.12.17.jpeg [ 360.26 KiB | Viewed 184 times ]
It was built long before I drew the schematic and that's going to go some way to explaining some odd decisions I seem to have made.
But before I could I build I ran into a problem. I could not find a pinout for the '7160 in the TQFP100 package. The
data-sheet labels shows pin 1 (yay!) but doesn't label what any pins actually are. Fortunately someone on the internet uploaded an extract of another document with the pinouts for all the '7160 packages. I've attached it to this post. And drawn up a basic pin out picture:
Attachment:
EPM7160S - 100pin TQFP.png [ 86.71 KiB | Viewed 184 times ]
I used the above to wire the stripboard together.
I've since reverse engineered it into this:
Attachment:
Screenshot 2024-08-27 202418.png [ 196.64 KiB | Viewed 184 times ]
It's pretty simple. 5V to all VCCIOs and VCCINTs, GND to GND and a 12V switch to OE1. A 12V 250ms pulse (or longer) on OE1 should revert the JTAG pins back to TCK, TDO, TMS and TDI if they had been changed to I/Os.
OE1 should not be brought to 12V unless GND, VCCIO and VCCINT are connected and powered.
And really that's about it.
I use a USB Blaster (Rev.C) connected to the JTAG header connected to
Quartus II 13.0sp1 for testing and programming.
I was fortunate enough to not receive any chips with the lock fuse set but I suspect that it should be possible unlock the JTAG pins (if locked) and then use Quartus to erase / overwrite everything on the chip - including the lock.
(I chose the EPM7160STC100 for a couple of reasons: TQFP100 chip carriers are pretty easy to source, the '7160 has 160 macro cells, 80 IO pins and - most importantly - not a lot of projects seem to use them. I also bought some EPM7128SLC84s and was not so lucky with them)