Forum Discussion
MAX10 10M04 Flash Problems
We are using the 10M04SCE144C8G. After about 1 year in the field, we now have already 2 returns from our customer -- "FPGA not booting". When reading out the actual flash-content, we could see 1 sector erased (0xff). On both devices it is the same sector!
Any ideas?
Regards Martin
11 Replies
- JohnT_Altera
Regular Contributor
Hi,
May I know if you implemented On Chip Flash IP into the design or anyone accidentally performed erase through JTAG?
- Martin57
New Contributor
Hi John,
JTAG is not connected under this condition, and yes, the IP-Core is implemented. An accidential access from User-Level seems highly unlikely, and on System-Level there is only code for "bulk-erase". In my case, there are only a few Bytes (one sector?), erased to 0xff.
Regards Martin
- Martin57
New Contributor
Hi John,
in case, it would be helpfull for you, I attached the original and the readout-file
- JohnT_Altera
Regular Contributor
Hi,
Could you confirm after you write into the flash, that particular mismatch is being written correctly? The reason is that there is no way that user is able to write a 0xFF into location except if erased happen.
I suspected that the data is written partially towards the end of the flash.
- Martin57
New Contributor
Hi John,
YES, I can confirm, the data was written / verified correctly! - This issue arises about 1 year of function in the field. At the moment, we have 2 failures out of 200.
- JohnT_Altera
Regular Contributor
Hi,
The only think I can think of is that the erase has been accidentally performed from the On Chip Flash IP. I observed that the erased location is starting from Address 0x46000. Could you help to check if the CFM is having the write access or anything that can accidentally performed page erase?
- Martin57
New Contributor
Hi John,
so, 0x46000 matches with a sector/page-boundary?
The CPU has all the time access to the IP Core Control Registers, so, for example during brown-out conditions, the occurence of a write_access is not absolutely impossible...
But, as far as I understood:
I would need at least 2 accesses to the command_register -- First to enable "sector_write", second the selected page -- very unlikely
How can I be sure, that this issue MUST BE due to an accidentally access?
- JohnT_Altera
Regular Contributor
Hi,
The reason is that the flash will not be accidentally erase on certain location and there is no way for user to write a ''1' into the flash as only write '0' bit is possible for this flash. Based on my calculation, the address provided should be the starting address of the page.
- Martin57
New Contributor
Hi John,
thanks for your response!
But, might there be other reasons for this failure?
-- "half programmed" Flash, due to timing/voltage during programming, so it looses one complete page-data?
-- in our design, the pin "config_sel" is strapped to "1", and we are programming "single image"
- JohnT_Altera
Regular Contributor
Hi,
If there is some issue, I would suspect that you should observed the full flash erase rather than certain location erased.
- Pawel_mat
New Contributor
Hi,
Was the root cause of this issue discovered? I have the same issue with one product and I am wondering if there is a way to prevent it anyhow.
Regards,
Wojciech