I am looking for information as to where I can get an EPM7064LI44 programmed or what I need to program it myself. Keep in mind, I am in no way a programmer. This is all very new to me. I am an Avionics technician trying to fix a no longer supported system that happens to have one of these programmable devices in it. As my luck goes. This chip is the faulty component. The company that originally manufactured the system has long ago went out of business. There for the pre programmed chips are no longer available. My only option to get this unit fixed is to find someone that can program a replacement chip for me, or acquire the capability to do it myself. This is what I am asking the gurus on here. Assistance to figure out my options and hopefully walk me through the process. Here's what I know and have; The chip is an Altera EPM7064LI44. I have the Flow chart of the programed device as well as the Firmware code. This is on hardcopy. I do not have it in a program. This is all ay over my head but I am a quick learner. Any help anyone can provide is greatly appreciated. I honestly don't even know where to begin.
This had better be a very expensive, very unique, one-of-a-kind system, or else it is going to be nowhere near cost effective to go this repair route.
The EPM7064LI44 is not a JTAG programmable device, so that leaves a very small class of equipment (old style parallel programmers) that are able to program blank devices. I have an EEtools (google them) TopMaxII USB programmer that is capable of programming EPM7xxx series parallel devices, given the appropriate socket adapter. If you had to go this route it will set you back about US$1K total for a full setup.
Finding usable EPM7064LI44 devices (basically EPM7064 in a PLCC44 package) is going to be an issue. They are no longer made. NOS from a surplus chip dealer, eBay, etc will have to do.
You will need the binary programming (POF) file. What do you mean by 'firmware code' hardcopy? Is this ABEL, Verilog, VHDL, or something else? Legacy versions of Quartus|| and MaxPlus are still available that can support compilation and programming for the EPM7064 series. Quartus 13.0sp1 or earlier.
If you are really lucky, an EPM7064S JTAG programmable part will be compatible, depending on four I/O pin assignments. It is supported by 13.0sp1 AND relatively inexpensive Altera USBblaster programmers.
In any event this is going to be a LOT of work, and could end up being very expensive, depending on some of your answers to above.
FYI I use EPM7064SLC44 (EPM7064S version in PLCC44 package) for some existing projects now. I do development in Verilog using QuartusII 13.0sp1 on a Win7 64 system, and program devices with a Terasic USBblaster|| USB/JTAG clone. Works well. But I do have my own stock of EPM7xxxS series devices that I bought before they went EOL.
Thank you for your response. To clarify, this is a very expensive and very unique system. It was installed in only 3 Bell 407 helicopters in the world. No other aircraft. So I am only aware of three of these systems in existence. It is used for a very specific landing function that no other Bell 407 can perform. It would cost hundreds of thousands of dollars for the aircraft owner to have another system installed to perform the same function. If one even exists. If it is possible, it will be worth it.
I do have the (POF) file for it. Please excuse my ignorance, this is all very new to me and I don’t quite have the language down yet. What I mean by firmware code, is I have all the engineering data from the original manufacturer. The aircraft owner was smart and bought all the engineering data from the company when they went out of business. One of the documents I have is called (by them) the firmware code. It appears to me to be the programming language printed out on paper. I’m sorry, I don’t know what ABEL, Verilog, VHDL is. I do not believe it is written in Binary. I do at least recognize that format. On the firmware code document, it does mention MAX+Plus II Version 8.2.
If you can help familiarize me with what I’m looking for and help me learn the language, I have a lot of resource to back up this project. I literally is this aircraft owners last option. I appreciate any help you can be.
Ok, your answer about the uniqueness of this hardware explains everything.
The POF file is the binary image file that is programmed into the CPLD device. THAT is the (only) file you need to program a replacement.
You will need device(s) to program. I have lots of NOS EPM7064SLC44-10 in my possession. But it is NOT the same as EPM7064LI44-?? (you mentioned no speed grade).
You will need to source these devices somewhere. Most mainline distributors don't carry these now, they are obsolete. You will need to go to the secondary/surplus market.
Luckily these devices are reprogrammable, so you can use a used one and reprogram it with your POF.
Given the reference to Max+Plus v8.2 your source files are probably written in AHDL (Altera Hardware Description Language). This is an old language, but it could easily be rewritten into Verilog (a modern language) if need be.
Lastly you will need a programmer that supports your device. I personally recommend www.eetools.com development programmers, I have had several for years.
They are capable of programming your part with the appropriate PLCC44 to DIP48 adapter.
Any of the EETOOLS TopMax III, ProMax II, TopMax II, UniMax, ChipMax2, ProMax4G, TopMax should work. I recommend the TopMax III (newest) or TopMax II (what I have) as they are USB devices and the programming application can run on Windows 7 or even WIndows XP if need be. Probably Win 10 also, although I have not tried that.
So I would recommend at this point sourcing EPM7064LI44-xx (-7ns -10ns, -15ns, as appropriate) devices. If you can't find these you are between a rock and a hard place.
PS: I just checked on the EETools MaxLoader programming application and it indicates that it can program an EPM7064S as an EPM7064. I have never done this; not sure if your POF file would work for this. The EPM7064S is the same architecture as the EPM7064 but it normally reuses four I/O pins as the four JTAG programming pins. You can redefine some/all of these as normal I/O, which is what it might be doing. In your case it depends if the four pins which map to JTAG are used as normal I/O (probably true, I'm guessing). Programmer tool screenshot:
One other suggestion. Microchip/Atmel offers a conversion path to convert a POF file for the EPM7064 part to their ATF1504AS part (which is still a production device).
I would go to: https://www.microchip.com/wwwproducts/en/ATF1504AS and specifically look at APP NOTE 0916 for documentation.
Theoretically you should be able to feed your .POF file for the EPM7064LC44 into their POF2JED tool and produce a .JED file for their ATF1504AS-J44 part, which should be F/F/F compatible.
I have not used this approach but it exists and is reasonably documented. Probably a bit riskier than using actual EPM7064LC44 devices but it is something to keep in mind.
PS: the EEtools programmer series can also program the ATF150x parts
PSS: if you source parts thru DigiKey they are able to program parts for you (you supply a .JED file with order, get preprogrammed parts)
Excellent. I will look to source the chips today. I thought I found some when I googled the other day. But that doesn’t mean they actually have them. I’ll go ahead and get the programmer as well. I believe you are correct about it being written in AHDL. Seems like I saw that on one of the documents somewhere. There is some confusion on which exact device I have. In the parts list for the unit, P/N EPM7064LI44 is called out. In the documents called “Firmware Code” it says the device is a EPM7064LC44. Is there any difference between the LI and LC that would be a concern? I didn’t see any markings on the device itself to determine which one of the two is actually installed.
Also. Is EPM7064LI44-xx (-7, -10, -15…) how the speed is determined. Does the final –xx designate the speed?
It would be nice to convert to a current production device. I am going to try the other route first but this is definitely an option worth noting. I may look into this option as a long term solution in the future and hope to find some EPM7064LI44s for now.
Here's a bit more information that may or may not help with the best solution to his problem. One document, the one that appears to name out the pin assignments along with the logic equation for each names the device as an EPM7064LC44-15. So there we have it. It apparently is a -15. However another document that explains the logic equations of the device in block diagram format calls the device an EPM7064LI44-15. So I am a bit confused as to which device I actually have. I also don't know if there is any difference between the two or if they are F/F/F compatible. Can you help let me understand if either would work in this plication?
Some more information that might help or confuse it more is the document that explains the logic in block diagram has a PROGRAMMING METHOD section. It states: "Using Tribal MicroSystems Device Programming Software Version V3.18 or higher running on DOS 286 computer or higher configured with TPGM41 device programmer." So this was obviously done a long time ago. 1998 to be exact.
You seem to be very knowledgeable in this endeavor I am about to go through. Is it your recommendation that try to source EPM7064s and the programmer compatible with the EPM7064 or try to convert to a current production device like you mentioned above the ATF1504?
I do like the option of purchasing through digikey and have them program the device for me. In this case, I would need to convert my POF file to a JED file and then supply that file with the purchase of the currently available ATF1504 device. Am I understanding this correctly? Because if this is the case, I really like this option.
I was able to confirm the device in the unit is an EPM7064LI44-15. Peeled back the sticker affixed to it and saw the actual Altera P/N. From my research online, the only difference between the 7064LI and 7064LC is Operating Temperatures and Voltage Supply with the LI having the greater Operating Temperature and Voltage Supply window. So I am trying to find some EPM7064LI44-15's now. Unless you respond and say trying to go with the current production device is my best option.
You are correct in that the 7064LI device is 'qualified' for operation over the 'industrial' (I) temperature range (-40'C-85'C) vs the 'commercial' (C) temperature range (0'C-70'C). I devices also have a +/-10% Vcc tolerance vs +/-5% for C devices. In reality however the physical devices are exactly the same, just tested and marked differently by Altera, depending on how fast they run. So in practice a -15 (slowest) speed grade I device can be replaced by a faster -7 or -10 commercial device and operate as expected.
The EEtools programmer and PLCC44 adapter will be required if you want to program either the Altera EPM7064 or the Atmel/Microchip ATF1504. So a good piece of equipment to have.
Personally I would pursue a dual approach. Continue to search for Altera EPM7064LI44-15 or EPM7064LC44-10. However I would be cautious about sourcing parts (thru eBay in particular) from offshore vendors (particularly China). There is a thriving industry in counterfeit chips, taking bogus or untested or fake parts and remarking them like originals for sale. Caveat emptor.
That being said, the cost of pursuing the ATF1504 approach thru DigiKey (or Mouser or Allied) for quality new parts and having them programmed by the vendor will be minimal. These devices go for less than $5 in small quantity and the programming charge for a lot of 10 say should be reasonable. I would probably do that anyway to have it in my back pocket. Example part: ATF1504AS-10JU44 is an industrial rated part equivalent to the EPM7064LI44-10.
You could download the POF2JED tool now from Microchip and test it out to see if it thinks your POF file is OK. No $$ cost as it is a free tool.
Ultimately given you have the AHDL source for the ALtera part it could be converted to CUPL source for the Atmel/Microchip WinCUPL tool, allowing you to produce a .JED directly, rather than using POF2JED. That would take a significant more engineering design work but could be done by someone experienced in the process. This might be necessary to do if for some reason programming parts with the POF file (or converted to JED file) you have do not work as expected in the equipment.
would you mind contact me? I am working on a platform with the same type of EPM7064Li44-7,and I am having a whale of a time ,I think my part may be locked out as my programmer does not read very much when I try to download . I am wondering if you had any success.
My email is firstname.lastname@example.org, we are also in the Aviation avionics support biz
What manufacturer / model programmer are you trying to use?
Do you have a .pof file you are trying to program into the device, or are you trying to read an already programmed device?
You can't read a device that has had the security fuse set.
Or you could just have a bad device. Do you have more than one?
I think this chip is locked, this is the problem when we read the chip, there is basically nothing that transmit through.
Excuse my ignorance, but what is the security fuse? would this become damaged if we try to read the chip? I though from my reading that these could be locked down,but I did not see anything mentioning a fuse.