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

0 Members and 2 Guests are viewing this topic.

Offline reverse

  • Contributor
  • Posts: 11
  • Country: ca
Re: Programming (non-JTAG) MAX7000 devices
« Reply #175 on: February 26, 2024, 12:22:07 pm »
Hi. Unfortunately the progress on this seems stalled. I am still looking for the adapter schematics/wiring for the non-JTAG EPM7064 plcc68/44//84 for Hi-LO ALL03 (probably it should work on my ALL07C), or for the Slovakian Dataman/Elnec/Beeprog...Thanks.
 

Offline Beta_vulgaris

  • Regular Contributor
  • *
  • Posts: 68
  • Country: 00
Re: Programming (non-JTAG) MAX7000 devices
« Reply #176 on: February 26, 2024, 04:09:02 pm »
Hi. Unfortunately the progress on this seems stalled. I am still looking for the adapter schematics/wiring for the non-JTAG EPM7064 plcc68/44//84 for Hi-LO ALL03 (probably it should work on my ALL07C), or for the Slovakian Dataman/Elnec/Beeprog...Thanks.
EPM7032/7064 have pin mappings and signal definations. https://mqp.com/ad359.htm and http://matthieu.benoit.free.fr/all03/adp-7064S-PL84.
Electronics, Geospatial, Aerospace
Programmable Logic Devices (PLD) Programming Algorithm Preservation
 

Offline reverse

  • Contributor
  • Posts: 11
  • Country: ca
Re: Programming (non-JTAG) MAX7000 devices
« Reply #177 on: February 26, 2024, 07:39:23 pm »
Nothing for the PLCC68 and other sockets, except for PLCC44. The PLCC84 example you are referring to is for JTAG version of the EPM7000S family, not for the "parallel programmed" family.
 

Offline Beta_vulgaris

  • Regular Contributor
  • *
  • Posts: 68
  • Country: 00
Re: Programming (non-JTAG) MAX7000 devices
« Reply #178 on: February 27, 2024, 09:31:41 am »
Nothing for the PLCC68 and other sockets, except for PLCC44. The PLCC84 example you are referring to is for JTAG version of the EPM7000S family, not for the "parallel programmed" family.
The wafer dies inside all packagings are all the same, so simply connect to the same macrocells.
Electronics, Geospatial, Aerospace
Programmable Logic Devices (PLD) Programming Algorithm Preservation
 

Offline reverse

  • Contributor
  • Posts: 11
  • Country: ca
Re: Programming (non-JTAG) MAX7000 devices
« Reply #179 on: February 27, 2024, 10:53:01 am »
While dies are identical in every family regardless of the pin quantity, their general I/O pins can be remapped at software level in almost arbitrary way therefore the correspondence to programming pins is not determined.
 

Offline PCB.Wiz

  • Super Contributor
  • ***
  • Posts: 1608
  • Country: au
Re: Programming (non-JTAG) MAX7000 devices
« Reply #180 on: February 28, 2024, 07:50:28 am »
Hi. Unfortunately the progress on this seems stalled. I am still looking for the adapter schematics/wiring for the non-JTAG EPM7064 plcc68/44//84 for Hi-LO ALL03 (probably it should work on my ALL07C), or for the Slovakian Dataman/Elnec/Beeprog...Thanks.
I'm unclear on what a 'non-JTAG'  means ?
With the Atmel ATF15xx parts, the JTAG fuse can release the JTAG pins to become IO, but then you just apply ~12V (IIRC) to the Vpp pin, to override and enable the JTAG pins again.
 

Offline Beta_vulgaris

  • Regular Contributor
  • *
  • Posts: 68
  • Country: 00
Re: Programming (non-JTAG) MAX7000 devices
« Reply #181 on: February 28, 2024, 09:43:02 pm »
With the Atmel ATF15xx parts, the JTAG fuse can release the JTAG pins to become IO, but then you just apply ~12V (IIRC) to the Vpp pin, to override and enable the JTAG pins again.
ATF15xx series are based on MAX 7000AE, even the 5V parts. EPM7000AE also release JTAG pins on Vpp voltage assertion. http://matthieu.benoit.free.fr/all03/adp/HiLo_ADP-7064AE.PDF
Electronics, Geospatial, Aerospace
Programmable Logic Devices (PLD) Programming Algorithm Preservation
 

Offline reverse

  • Contributor
  • Posts: 11
  • Country: ca
Re: Programming (non-JTAG) MAX7000 devices
« Reply #182 on: February 29, 2024, 07:08:53 am »
"Non-JTAG" means ICs in question do not have JTAG interface at all and can only be programmed via other pins that are manufacturer's secret.
 

Offline c64

  • Frequent Contributor
  • **
  • Posts: 300
  • Country: au
Re: Programming (non-JTAG) MAX7000 devices
« Reply #183 on: February 29, 2024, 08:56:59 am »
I'm unclear on what a 'non-JTAG'  means ?
With the Atmel ATF15xx parts, the JTAG fuse can release the JTAG pins to become IO, but then you just apply ~12V (IIRC) to the Vpp pin, to override and enable the JTAG pins again.
7000S has JTAG
7000 has no JTAG
 

Offline Beta_vulgaris

  • Regular Contributor
  • *
  • Posts: 68
  • Country: 00
Re: Programming (non-JTAG) MAX7000 devices
« Reply #184 on: March 01, 2024, 11:02:03 pm »
"Non-JTAG" means ICs in question do not have JTAG interface at all and can only be programmed via other pins that are manufacturer's secret.
TI PAL chips (military) have official programming specifications.
Electronics, Geospatial, Aerospace
Programmable Logic Devices (PLD) Programming Algorithm Preservation
 

Offline reverse

  • Contributor
  • Posts: 11
  • Country: ca
Re: Programming (non-JTAG) MAX7000 devices
« Reply #185 on: March 02, 2024, 10:35:51 am »
This topic is exaclty about ALTERA reprogrammable devices, not about TI OTP PALs! You replies in this topic are like spam and by AI generated.
 

Offline reverse

  • Contributor
  • Posts: 11
  • Country: ca
Re: Programming (non-JTAG) MAX7000 devices
« Reply #186 on: March 08, 2024, 08:19:58 am »
I found the following official documents/tables describing the pin relation across different sockets of each family:

https://cdrdv2-public.intel.com/676788/epm7160e.pdf
https://cdrdv2-public.intel.com/676664/epm7096.pdf
https://pdf.dzsc.com/88888/2006916165239174.pdf
https://cdrdv2-public.intel.com/676785/epm7032.pdf
https://cdrdv2-public.intel.com/676926/epm7064.pdf

But my attempts to build adapter for HILO programmer based on them fail so far. Moreover for example I am puzzled by controversy in description of power rails  VCCIO and VCCINT distribution in 7064 table and in commercial adapter ADP-7064S-84 which is well documented and reversed here:

http://matthieu.benoit.free.fr/all03/adp-7064S-PL84/


 

Offline migryTopic starter

  • Regular Contributor
  • *
  • Posts: 76
  • Country: gb
Re: Programming (non-JTAG) MAX7000 devices
« Reply #187 on: April 07, 2024, 01:10:06 am »
These pinouts are very likely to only work for the "S" type devices, which can be programmed via JTAG.

The ALL03 software for the various MAX7000 devices, use lots of pins in a parallel mode in order to read/program/erase the devices.
 

Offline migryTopic starter

  • Regular Contributor
  • *
  • Posts: 76
  • Country: gb
Re: Programming (non-JTAG) MAX7000 devices
« Reply #188 on: April 07, 2024, 01:27:16 am »
FWIW, I have been doing little in the way of electronic projects for the past year or so, and I stopped working on the reverse engineering of these devices about 2 years ago.

I now have a new breakout PCB for the 44 pin EPM7032 device. I am currently trying to re-collect all the various places on my PC where I did work on this project and I hope to spend some time trying again, with the hope that the new PCB will be much more reliable than my old "mess of wires". I now have the breakout PCB wired to the original MEGA 2560 Arduino, with pins in the sketch re-mapped accordingly. After some wierd behaviour of the two DACs, I discovered that my original "play" devices were both broken/shorted causing the DACs to mis-behave(!). Using a new device, I can once again read the "device ID" and get the magic "ALTERA92" string which confirms that the device is correctly in the test/programming mode (Vpp > 14V).

Incidently this data is stored in one of the many (60+) blocks of EEPROM. I am pretty sure that when the device is erased this block also gets erased as well. From recollection during the erase the old "device ID" is read, before the device is erased, and then the "device ID" is written back to the same specific EEPROM block. This is necessary (at least for the ALL03) because for any operation, the ALL03 software always tries to read the "device ID" and if it fails, it refuses to do anything else. Two bytes read from the special "device ID" block contain information about Vpp and the pulse width needed to erase/program the device. The software has a useful table, used to decode and print the information, held in ASCII format (C null terminated strings).

I am trying to re-visit the work I did on the AMAX70.EXE software using Ghidra and IDA-Pro. Both were very helpful tools, however both were far from perfect, and have a steep learning curve to get the most from them. Out of curiosity I installed the latest version of Ghidra, hoping to see improvements, but the code re-generated was worse in the newist version as compared to the old. This might be fixable, but the menu options in Ghidra seem less numerous and flexible than in IDA-Pro.
 
The following users thanked this post: Beta_vulgaris

Offline reverse

  • Contributor
  • Posts: 11
  • Country: ca
Re: Programming (non-JTAG) MAX7000 devices
« Reply #189 on: April 15, 2024, 02:49:05 pm »
These pinouts are very likely to only work for the "S" type devices, which can be programmed via JTAG.

The ALL03 software for the various MAX7000 devices, use lots of pins in a parallel mode in order to read/program/erase the devices.
No, I made an adapter for ALL-07 based on 7064 84 PLCC version for 68 pin version based on tables above and it works well with 7064E. What puzzles me I failed extending my adapter for the 44 PLCC version based on the same tables!

Another thing - I managed to damage the ID of a 7128E chip while programming it in elnec jetprog with PLD4 adapter. Now that chip can only be programmed if ID verification is disabled. What I did was to press the "Yes" button involuntarily while removing the chip from the PLCC socket which lead to repetition of the last programmer's action (supposedly erase).
 

Offline migryTopic starter

  • Regular Contributor
  • *
  • Posts: 76
  • Country: gb
Re: Programming (non-JTAG) MAX7000 devices
« Reply #190 on: April 15, 2024, 08:14:17 pm »
After some playing I found that the Verilog compiler was not licensed ...
Please apply the cpt.dll patch (made by myself) for licensing and Windows 10 compatibility.

I have spent more time mainly pulling out my hair when trying to install Windows98(SE) into a virtual machine.
I gave up on that when it didn't work, locking up with strange error messages. An internet search did reveal this problem had been seen before, but the solution didn't work for me. Apparently modern PCs are too fast and some old instructions are no longer supported.

So I then tried a different emulator - PCem. This time the emulator worked well, but something got confused during installation and various VXDs and DLLs couldn't be found on the (virtual) CDROM.
Nevertheless after two days, and having viewed a helpful YouTube video, I got it installed, although I cannot get networking to work.

I installed the Altera Max-Plus-II software, version 9.3.

It does run, and the AVHDL examples will compile and create a POF. Some features such as Verilog compile and simulation do not work without a licence.

I do not know where to find your DLL. Will it work under Windows98(SE)?

regards...
--migry
 

Offline migryTopic starter

  • Regular Contributor
  • *
  • Posts: 76
  • Country: gb
Re: Programming (non-JTAG) MAX7000 devices
« Reply #191 on: April 15, 2024, 10:12:12 pm »
I found the DLL file cpt.dll after searching a little more with the correct spelling!

I have now being able to compile a verilog source file. I am very comfortable using this RTL. It will allow me to create a meaningful test case and resulting POF file, to run inside my DOSBOX emulator to understand how the POF file is loaded and processed.

Many thanks!  :-+
 
The following users thanked this post: Beta_vulgaris

Offline reverse

  • Contributor
  • Posts: 11
  • Country: ca
Re: Programming (non-JTAG) MAX7000 devices
« Reply #192 on: April 16, 2024, 07:42:29 am »
I found the DLL file cpt.dll after searching a little more with the correct spelling!

I have now being able to compile a verilog source file. I am very comfortable using this RTL. It will allow me to create a meaningful test case and resulting POF file, to run inside my DOSBOX emulator to understand how the POF file is loaded and processed.

Many thanks!  :-+
I have LPT driven all-07 programmer and if you debug the executable files for that programmer which is close to all-03 I may be able to test modified executables on real programmer and altera chips.
 

Offline migryTopic starter

  • Regular Contributor
  • *
  • Posts: 76
  • Country: gb
Re: Programming (non-JTAG) MAX7000 devices
« Reply #193 on: April 17, 2024, 12:15:37 am »
I assume that the same PLCC package adapters are used for the ALL03 and ALL07 programmers?

I can do repeat some of my work for the EPM7064 devices, now I have knowledge of the EPM7032 devices, although it does take a lot of time.

If anything I can try to determine which pins of the programmer are used, as I got the impression you were unsure of your adapter?

I have attached a screen shot from the ALL03 software for the EPM7064/96/128 devices. Which one is of particular interest?



BTW I did look in the folder where I have downloaded the ALL07 files. The schematics are virtually identical. I couldn't find an EXE for the MAX7000 series, perhaps simply it does not have an obvious name? Do you have the EXE for the EPM7032/7064 etc?


UPDATE: I found the executable for this series of devices on the ALL07, it is called A7064.EXE

I also checked a VM where I emulated the ALL03 and EPM7032 in DOSBIX-X, and I also have a EPM7064 version of this code, but I will need to take a look to see where I left off.

I also found the ALL03 main EXE which has a nice DOS menu style front end. When selecting the EPM7032 it is looking for the file AMAX70.EXE which is the same name as the EXE I have been reverse engineering from the ALL03. At a guess the two programmers likely use the same EXE.
« Last Edit: April 17, 2024, 01:14:37 am by migry »
 

Offline reverse

  • Contributor
  • Posts: 11
  • Country: ca
Re: Programming (non-JTAG) MAX7000 devices
« Reply #194 on: April 17, 2024, 07:54:01 pm »
Actually I am using A7064.EXE that supports adaptor -7064S-PL68. As I already mentioned this adaptor I made on the basis of this one: http://matthieu.benoit.free.fr/all03/adp-7064S-PL84/ but I could not extend it further to support PLCC44 variant for unknown reason.

A7064.EXE supports S and non-S altera chip versions.

There is another A70X.EXE that supports non-S versions but with different adaptor - EPM7064-PLxx which schematic is unknown to me anyway. I have PLCC84 pin 7128 altera chips but their ALL07 adaptor is also mystery to me though pictures on the internet showed very similar design using one L244 and one LS14 again.

ALL07 has launcher application too that starts individual executables named ACCESS.EXE.


 
« Last Edit: April 22, 2024, 06:17:47 pm by reverse »
 
The following users thanked this post: Beta_vulgaris

Offline jgustavoam

  • Contributor
  • Posts: 33
  • Country: br
  • Retired IBM
    • Gustavo Murta Blog
Re: Programming (non-JTAG) MAX7000 devices
« Reply #195 on: June 04, 2024, 01:45:15 am »
I have two EPM7064 and one EPM7032. I intend to learn how to program them. I'm still reading this extensive topic.
I found some old Altera manuals. And this one is interesting - 1993_Altera_Max_7000_Data_Book.pdf

http://bitsavers.trailing-edge.com/components/altera/_dataBooks/


MAX+PLUSĀ® II Getting Started Manual:
https://www.intel.com/content/www/us/en/content-details/653698/max-plus-ii-getting-started.html
« Last Edit: June 04, 2024, 02:37:46 am by jgustavoam »
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf