Read flash attached to Max II in Parallel Flash Configuration on legacy system
I have a customer requesting that I reverse engineer the firmware on a legacy system so he can program some older blank stock for spares.
No available source code. No available schematics.
The system was designed roughly 2011 or so.
There appears to be a Altera Max II (EPM2210F256C5N) with a Micron Flash (28F128J3) attached that is used in a Parallel Flash Loader configuration to program two Cyclone III FPGA's on the board (EP3C16F484 and EP3CM484).
I need to be able to either extract the contents of the flash in the parallel flash loader or re-create them.
I have been able to connect to the CPLD with a Byte Blaster and read back the CPLD contents into .pof file.
I have found the detailed instructions for configuring a setup like this but they all assume the logical path of starting from the FPGA programming files and writing to the flash. I do not see any instructions on reading back the data from the CPLD attached flash.
The Parallel Flash Loader IP Core User Guide from this era can be found at https://www.altera.com/en_US/pdfs/literature/ug/archives/ug-pfl-14.1.pdf.
The latest version can be found at https://www.intel.com/content/www/us/en/docs/programmable/683698/23-1-19-1-0/user-guide.html
- Is there any way to easily read back the flash chip through the CPLD using Quartus Programmer or other tools?
- Is there any way extract a pin map from the .pof file and possibly create a new CPLD project that allows readback of the flash?
- Any other ideas that don't involve physical attacks? Both chips are BGA with buried traces. I could X-ray the board to find pin mappings I suppose.
- Both FPGA's have Byte Blaster programming ports but I could not read back anything from them directly. If they were fully and correctly loaded by the CPLD Flash Loader, should I have been able to scrape a pof from each FPGA? If I could extract a POF, I could possibly re-create the flash image from that.
Any suggestions / help welcome. I am in Dallas, TX if someone knows the local FAE contact.
Thanks for your time,
David