Author Topic: Programming (non-JTAG) MAX7000 devices  (Read 194095 times)

0 Members and 37 Guests are viewing this topic.

Offline jgustavoam

  • Regular Contributor
  • *
  • Posts: 137
  • Country: br
  • Retired IBM
    • Gustavo Murta Blog
Re: Programming (non-JTAG) MAX7000 devices
« Reply #375 on: February 11, 2026, 11:34:12 pm »
EPM7128SLC84 - Arduino Programmer - Assembling the prototype:

Begin assembling the Arduino Parallel Programmer prototype for the EPM7128SLC84.

More pictures:
https://github.com/Gustavomurta/EPM7128S_CPLD/tree/main/HW_Programmer

Making use of the socket from an old board.




Assembling the board with the removable socket. I added external pins for connections.



A new idea. Since we don't yet know the functions of all the CPLD pins, I intend to use this type of connection with jumpers.






« Last Edit: February 11, 2026, 11:58:17 pm by jgustavoam »
 
The following users thanked this post: ukamak

Offline ale500

  • Frequent Contributor
  • **
  • Posts: 427
Re: Programming (non-JTAG) MAX7000 devices
« Reply #376 on: February 13, 2026, 09:22:13 am »
It looks good. I want to do a PCB with jumpers and let jlcpcb fabricate it for me. For 3.4€ per board design (I would order some other pcbs)  I wouldn't have to dive into the mess of wires that my current board is. But how do I send you it ? But I see you have a solution already.
 

Offline jgustavoam

  • Regular Contributor
  • *
  • Posts: 137
  • Country: br
  • Retired IBM
    • Gustavo Murta Blog
Re: Programming (non-JTAG) MAX7000 devices
« Reply #377 on: February 13, 2026, 12:15:19 pm »
Ale500,

Before designing a PCB, it's necessary to ensure it will function. Let's wait and see how the project progresses. Thank you.
 

Offline ale500

  • Frequent Contributor
  • **
  • Posts: 427
Re: Programming (non-JTAG) MAX7000 devices
« Reply #378 on: February 14, 2026, 06:31:31 am »
I was a bit light on details: A PCB with a socket and 84 jumpers with 2 positions for pulling up or down. and two JTAG sockets. The PCB could then be used for different models like the XC9572. And a row a pins to connect as in your boatd. Maybe I can get to it today.
 

Offline jgustavoam

  • Regular Contributor
  • *
  • Posts: 137
  • Country: br
  • Retired IBM
    • Gustavo Murta Blog
Re: Programming (non-JTAG) MAX7000 devices
« Reply #379 on: February 15, 2026, 03:02:47 pm »
EPM7064LC84 - Tests and verifications:

I have already set up a test board for chips that use the PLCC84 socket.
Since I don't yet have the EPM7128SLC84, I am performing measurements with two PLCC84 chips (without S) that I own - an EPM7064LC84 and an EPM7096LC84.

I measure the voltages on all pins in two basic modes. One mode - normal use with the VPP/OE1 pin (pin 84) = 5V and the other mode - programming with the VPP/OE1 pin (pin 84) = 12V.
My probe uses two 220-ohm resistors, as I previously mentioned.

https://www.eevblog.com/forum/fpga/programming-(non-jtag)-max7000-devices/msg5723473/#msg5723473




I made a very important discovery!

In programming mode, the NTPW pin (pin 1) must always be enabled beforehand (5V-high).


If the NTPW pin is not enabled, when I connect the 12V, the CPLD increases its current consumption and gets very hot. I think it might even burn the chip!

This should apply to all Altera CPLDs.

NTPW -  N = non or no, T = ??,  PW = power?

Reviewing:

NTPW - function Program/Write Enable : Must be HIGH to program or write CPLD.


« Last Edit: February 16, 2026, 02:41:22 pm by jgustavoam »
 
The following users thanked this post: Beta_vulgaris, ukamak

Offline ukamak

  • Regular Contributor
  • *
  • Posts: 71
  • Country: es
Re: Programming (non-JTAG) MAX7000 devices
« Reply #380 on: February 15, 2026, 03:09:57 pm »
Hi, yes in our logs on power up first goes NTPW after Vcc 5v and after Vpp 12v , NTPW only goes down on erasing or programming. Powerdown sequence is Vpp , Vcc , NTPW 

« Last Edit: February 15, 2026, 03:11:28 pm by ukamak »
 
The following users thanked this post: jgustavoam, Beta_vulgaris

Offline jgustavoam

  • Regular Contributor
  • *
  • Posts: 137
  • Country: br
  • Retired IBM
    • Gustavo Murta Blog
Re: Programming (non-JTAG) MAX7000 devices
« Reply #381 on: February 15, 2026, 03:53:42 pm »
EPM7064LC84 - Tests and verifications (SCOA, SCOB, SCOC and SCOD verified!)

By measuring the voltages in programming mode, I was able to confirm the functions of the SCOA, SCOB, SCOC, and SCOD pins.
See the measurement table. (Based on the PLCC84 adapter from the Labtool 48 programmer.)

NC = no connection
CONN = connection

Some of the pins were in an unknown state. The voltage fluctuated, and if I brought my finger close, the voltage varied. (pins 10, 29, 56 an 75).

Reviewing the functions of the pins - I think that's it:

PIN 10 = SDOA
PIN 29 = SDOB ??
PIN56 = SDOC ??
PIN75 =  SDOD ??

Lots of tables and lots of pinouts. And I got confused. I corrected the NC and CONN identifications in the table.






« Last Edit: February 16, 2026, 06:04:31 pm by jgustavoam »
 
The following users thanked this post: Beta_vulgaris, ukamak

Offline jgustavoam

  • Regular Contributor
  • *
  • Posts: 137
  • Country: br
  • Retired IBM
    • Gustavo Murta Blog
Re: Programming (non-JTAG) MAX7000 devices
« Reply #382 on: February 16, 2026, 03:40:50 am »
EPM7128SLC84 Programmer - VCC control Switch:

I discovered a new way to control the power supply to the CPLD. Control of VCC (5V) and VPP (12V).

LH1500 datasheet (Solid State Relay):
https://www.vishay.com/docs/83804/lh1500aa.pdf



Or if you prefer, use MOSFET:

 
The following users thanked this post: ukamak

Offline jgustavoam

  • Regular Contributor
  • *
  • Posts: 137
  • Country: br
  • Retired IBM
    • Gustavo Murta Blog
Re: Programming (non-JTAG) MAX7000 devices
« Reply #383 on: February 16, 2026, 12:48:19 pm »
EPM7128SL84 Programmer - I need a CPLD:

CPLD chips are complex and have several pins with different names. And I'm already confusing the EPM7064 with the EPM7128.
I can do tests with the EPM7064 that I have. But the EPM7128 has more LABs (8 LABs) than the EPM7064 (4 LABs).

Does the EPM7128SLC84 have these pins?
- SCOA, SCOB, SCOC, SCOD, SCOE, SCOF, SCOG and SCOI ?
Or are the GAD0 and GAD1 pins used to multiplex the LABs?

I will need an EPM7128SLC84 to proceed. Here in Brazil the price is absurd.
While I can't find an EPM7128SLC84 at a reasonable price, I'll keep researching with the my EPM7164 (without S).
« Last Edit: February 16, 2026, 12:50:32 pm by jgustavoam »
 

Offline ale500

  • Frequent Contributor
  • **
  • Posts: 427
Re: Programming (non-JTAG) MAX7000 devices
« Reply #384 on: February 17, 2026, 08:03:04 am »
I have no idea if the EPM7128S has these pins, or where are they positioned. Thats exactly the problem.
I installed quartus and max ii plus and had a look at most of the files there, I was hoping to find any hint. But I see nothing that helps me identify where these pins are located (or any pins for that matter). There was a comment that in some help file of this max ii software the pin outs where described, haven't seen such help files.

 I could try your approach to see which pins are inputs and which are outputs. I'd assume that when one sets VPP to 12 volt, the NTPW should change function if it is configured as an output. Or does it has priority and then VPP becomes an input ? I'd think VPP is always an input.

Sending these chips to Brazil would cost like 16 € and I'd need the CPF-Nummer, and an address. Or I can use the money and get some test PCBs and work in parallel.
« Last Edit: February 17, 2026, 08:12:37 am by ale500 »
 
The following users thanked this post: ukamak

Offline ukamak

  • Regular Contributor
  • *
  • Posts: 71
  • Country: es
Re: Programming (non-JTAG) MAX7000 devices
« Reply #385 on: February 17, 2026, 12:05:53 pm »
Maxx II plus help files where we can see some info , about pins to cell realtion.
Also one Spreadsheet with info for max family pinout and others
* maxII_help_and_max7000_Spreadsheet.7z (3571.99 kB - downloaded 48 times.)

Working with Gustavo on EPM7128s  we have that provisional pinout, some pins does double function
* maxII_help_and_max7000_Spreadsheet.7z (3571.99 kB - downloaded 48 times.)

Hope this week we can try to erase it on arduino board
« Last Edit: February 17, 2026, 12:39:32 pm by ukamak »
 
The following users thanked this post: ale500, Beta_vulgaris

Offline ale500

  • Frequent Contributor
  • **
  • Posts: 427
Re: Programming (non-JTAG) MAX7000 devices
« Reply #386 on: February 17, 2026, 12:53:24 pm »
Thanks for the files, now I do not have any more excuses to not try it again :).

Thanks for the info.
 

Offline jgustavoam

  • Regular Contributor
  • *
  • Posts: 137
  • Country: br
  • Retired IBM
    • Gustavo Murta Blog
Re: Programming (non-JTAG) MAX7000 devices
« Reply #387 on: February 17, 2026, 02:32:30 pm »
Ale500,
Thank you for the offer to send me the chips. But I'll continue looking for CPLDs here in Brazil. Thank you.
 
The following users thanked this post: AndyP`

Offline AndyP`

  • Newbie
  • Posts: 8
  • Country: gb
Re: Programming (non-JTAG) MAX7000 devices
« Reply #388 on: March 24, 2026, 05:33:08 pm »
I have just built an adapter to allow programming EPM7128SLC84's using a Dataman UXP48 programmer.

With it I have managed to erase 3 devices that would not talk JTAG using an Altera ByteBlaster but now do.
Once I get a bit of time I will try to use a Dr Gussman designed 48 Channel logic analyser to view the 46 connected pins during the erase cycle.
This might help everyone in determining what is needed to produce a cheap programmer for these devices.
 
The following users thanked this post: ale500, jgustavoam, Beta_vulgaris

Offline jgustavoam

  • Regular Contributor
  • *
  • Posts: 137
  • Country: br
  • Retired IBM
    • Gustavo Murta Blog
Re: Programming (non-JTAG) MAX7000 devices
« Reply #389 on: March 24, 2026, 06:09:18 pm »
Hi AndyP,

Any help will be appreciated in figuring out how the ERASE procedure works on the EPM7128SLC84.
I've read about this logic analyzer by Dr. Gusman. It's a very interesting project, but it has a limitation that makes it difficult to capture – the storage memory is very small.

https://github.com/gusmanb/logicanalyzer

Thank you very much for your interest in helping.
 
The following users thanked this post: ale500, Beta_vulgaris

Offline AndyP`

  • Newbie
  • Posts: 8
  • Country: gb
Re: Programming (non-JTAG) MAX7000 devices
« Reply #390 on: March 25, 2026, 08:30:08 am »
That's the only Logic Analyser I have so I'll see what happens.

I did notice that the Dataman has totally different wired adapters for the 7064, 7128 and 7160 PLCC84 chips. Other than a cash cow one wonders why?

 
The following users thanked this post: ale500, Beta_vulgaris

Offline ukamak

  • Regular Contributor
  • *
  • Posts: 71
  • Country: es
Re: Programming (non-JTAG) MAX7000 devices
« Reply #391 on: March 26, 2026, 08:08:36 pm »
Welcome AndyP,

Nice to see other people with 48-uxp, that's our home SDP-7128-84 adapter, it's in 2 parts like elnec sockets, bud cheaper. Like that You need to change only bottom board for others IC's.
You need different adapters because on labtool48 you have a dip48 pins socket and devices are 84 pins, You wire from 84 to 48 pins and not all devices use same pins to program it.
For 44plcc devices you need only one socket.
Hope to have time to continue our investigation.
 

Offline AndyP`

  • Newbie
  • Posts: 8
  • Country: gb
Re: Programming (non-JTAG) MAX7000 devices
« Reply #392 on: March 26, 2026, 09:28:51 pm »
Thanks ukamak,

I did my adapter in one piece based on a design from https://blog.system11.org for the EPM7064.

A quick check with a scope during read and erase has revealed some issues that I'll have trying to use the Dr Gusman logic analyser.
A lot of the pins have 5V pulses, either positive from 0V or negative from 5V which might just be a high dropping low for a while, not too much of an issue.
other pins start with 5V pulses and then drop to either 3V or 2V pulses, again either positive from 0V or negative from 2V/3V. Again might be a 2V/3V high dropping low for a while. Will be an issue. Need to look at clamping at the analyser inputs.
Pin 84 starts at 5V pulses then goes to 10V. Same issue, would need to clamp.
But also need to track when the pulses change from 5V to 2V/3V/10V.

Need to have a think about how I could do this. Anyone with a 48 channel analyser going spare??

 
The following users thanked this post: Beta_vulgaris

Offline ukamak

  • Regular Contributor
  • *
  • Posts: 71
  • Country: es
Re: Programming (non-JTAG) MAX7000 devices
« Reply #393 on: March 27, 2026, 07:26:39 pm »
For LT48-UXP You need to disable "Insertion test" , at beginning they try all pins for over/under current.
Also some times is good to disable Device ID check, depends on what you're looking.
Here some alpha test We did on EPM7128 , need to work more , only read SCOA and SCOB
Still working on EPM7032s now and new extension board for arduino to support better 7032,7064,7128....
 
The following users thanked this post: ale500, Beta_vulgaris, AndyP`

Offline AndyP`

  • Newbie
  • Posts: 8
  • Country: gb
Re: Programming (non-JTAG) MAX7000 devices
« Reply #394 on: April 03, 2026, 02:38:22 pm »
Have captured an Erase only from my Dataman for an EPM7128SLC84. Not sure at the moment on how to decode the captured signals but some look very similar to those from the EPM7032S. How does it look to you?

I used a zener to cap the measured voltage from OE1n so I don't kill my analysers input.

What did you use in PulseView to decode SCOA and SCOB?
 

Offline ukamak

  • Regular Contributor
  • *
  • Posts: 71
  • Country: es
Re: Programming (non-JTAG) MAX7000 devices
« Reply #395 on: April 03, 2026, 03:26:41 pm »
Copy that folders to Your "\sigrok\PulseView\share\libsigrokdecode\decoders"
That's only for 2 channels, bud you can place 1 or 2 or... , editing them with A,B/ C,D/ etc Or make a new one with more channels.
When I have time I will Check your logs
You need to use 7032s , 7032 is older and diferent.
 
The following users thanked this post: Beta_vulgaris

Offline ukamak

  • Regular Contributor
  • *
  • Posts: 71
  • Country: es
Re: Programming (non-JTAG) MAX7000 devices
« Reply #396 on: April 03, 2026, 06:26:44 pm »
AndyP That's Your decoded SCOx , seems is ok.
Your "DIP16-PLCC41-LABD64" is SCOD in my notes is on plcc33 , needed to double check, if Your connection is really PLCC41 that will be the good one.
 
The following users thanked this post: AndyP`

Offline AndyP`

  • Newbie
  • Posts: 8
  • Country: gb
Re: Programming (non-JTAG) MAX7000 devices
« Reply #397 on: April 03, 2026, 07:55:49 pm »
Hi ukamak,

Thanks for looking through this,

You are correct, should be DIP16-PLCC33-LABD64. It goes to channel 41 on my logic analyser. Obviously an error on my part.

 
The following users thanked this post: ukamak

Offline AndyP`

  • Newbie
  • Posts: 8
  • Country: gb
Re: Programming (non-JTAG) MAX7000 devices
« Reply #398 on: April 12, 2026, 10:20:19 am »
As I now have a known working adapter, analyser and programmer along with a few EPM7128SLC84's what can I do to help with this project?
 
The following users thanked this post: ale500

Offline jgustavoam

  • Regular Contributor
  • *
  • Posts: 137
  • Country: br
  • Retired IBM
    • Gustavo Murta Blog
Re: Programming (non-JTAG) MAX7000 devices
« Reply #399 on: April 12, 2026, 12:23:01 pm »
Very good! The goal of some members in this thread is to unlock the use of CPLD EPM7128SLC84.
Therefore, the clear and write procedures are the most important. The read procedure can also help.
If you have any questions, let me know.
Thank you very much.
 
The following users thanked this post: ale500, Beta_vulgaris


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf

 

-->