6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Fri Sep 20, 2024 6:58 am

All times are UTC




Post new topic Reply to topic  [ 4 posts ] 
Author Message
PostPosted: Tue Aug 27, 2024 6:55 pm 
Offline
User avatar

Joined: Mon Aug 30, 2021 11:52 am
Posts: 286
Location: South Africa
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
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
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
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)


Attachments:
EPM7160 Programmer.pdf [38.2 KiB]
Downloaded 6 times
EPM7160 Pin-Outs.pdf [43.11 KiB]
Downloaded 4 times
Top
 Profile  
Reply with quote  
PostPosted: Wed Aug 28, 2024 1:55 am 
Offline

Joined: Thu Mar 10, 2016 4:33 am
Posts: 176
I've always programmed these type of devices in-circuit as this seems easier. For a start I always assume that I'll need to reprogram it at some stage. The power supply pins are all set up anyway, so it's just a matter of adding a JTAG connector. It is possible, but a little harder, to have dual-uses for the JTAG pins, but I've left them alone, which also means that I don't need 12v.


Top
 Profile  
Reply with quote  
PostPosted: Wed Aug 28, 2024 2:08 am 
Offline

Joined: Fri Dec 21, 2018 1:05 am
Posts: 1107
Location: Albuquerque NM USA
I have a number of EPM7064STC100 salvaged from pc board scraps. I have built a prototype board to check them out. They appeared to work fine. EPM7160STC100 should have the same pin assignments as EPM7064STC100. If you are interested in the prototype board, you can find the design files here including Gerber artwork as well as example CPLD design files.

https://www.retrobrewcomputers.org/doku ... o:protorc4

Bill
PS, I seldom do manual routing, but in this case I decided to manual route with curved traces. It is kinda cute. ;-)

Attachment:
497B90D9-0D44-40F0-8469-7D09EDF5D2CF.jpeg
497B90D9-0D44-40F0-8469-7D09EDF5D2CF.jpeg [ 1.19 MiB | Viewed 161 times ]


Top
 Profile  
Reply with quote  
PostPosted: Wed Aug 28, 2024 12:42 pm 
Offline
User avatar

Joined: Mon Aug 30, 2021 11:52 am
Posts: 286
Location: South Africa
jds wrote:
I've always programmed these type of devices in-circuit as this seems easier.
That's a much better idea - and I shall definitely be adding JTAG headers to my boards in the future. Unfortunately for this I needed to test the ICs before I soldered them as I wasn't convinced I would receive real ones.

plasmo wrote:
The EPM7160STC100 should have the same pin assignments as EPM7064STC100. https://www.retrobrewcomputers.org/doku.php?id=builderpages:plasmo:protorc4
Thanks, that was useful. Looks like they are the same. At least all the power pins, JTAG pins and input pins. The I/Os don't look the same. Or at leas the LABs are different. As Quartus just uses pin numbers I'd guess it would still work. (ps: I don't know what LABs are other than that they some sort of grouping of logic blocks or something)

plasmo wrote:
PS, I seldom do manual routing, but in this case I decided to manual route with curved traces. It is kinda cute. ;-)
I really like curved tracks, I like to think the electrons are yelling 'Wheee!' as they go around them :D


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 4 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 10 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: