Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
New Contributor I
98 Views

On-Chip Flash IP can Erase but not Write

Hi all,

 

I am using the On-Chip Flash Intel FPGA IP and following the Intel® MAX® 10 User Flash Memory User Guide here. I am trying to simply write test data.

 

I have followed the guide's steps for erasing and writing to the memory and have only had success when erasing. I can see this by the status register reads '1' in bit 4.

 

However, I follow the process for writing and the status register reads 2'b10 (BUSY_WRITE) but a few clock cycles later, when these bits are 2'b00 (IDLE), bit 3 (write-successful) is a '0'. I expect bit 3 to be a '1' after this write operation.

 

The user guide suggests 3 reasons for this issue

  • The burst count is not equal to 1 (parallel mode) or 32 (serial mode).
  • The given address is out of range
  • The sector protection mode or write protection mode of the corresponding sector is not clear (the value is not 1'b0).

 

  1. I have set the burst count to '1' because I am in parallel mode.
  2. I have tried both address 0x00000 and 0x7000, both are valid addresses in Sector 1 (which is the sector I disable write-protection for).
  3. I am writing to sector 1, the same sector I had erased in the prior steps. This is confirmed by the status register reading from the control register. [23] (sector ID 1 write protection) is set to '0', and [22:20] (sector erase address) is set to 3'b001 for sector ID 1.

 

I have attached my waveform and Platform Designer design / IP Parameters.

 

Thanks everyone in advance

0 Kudos
3 Replies
Highlighted
55 Views

Do you make sure to erase the flash location before you perform a program (write) operation?

Do you able to duplicate the figure no. 8 diagram in the UG?

https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/hb/max-10/ug_m10_ufm.pdf#pa...

 

You can refer to the example design below from the link below.

https://fpgacloud.intel.com/devstore/platform/17.1.0/Standard/max-10-user-flash-memory-write-operati...

0 Kudos
Highlighted
New Contributor I
55 Views

Yes, I make sure to erase the flash location before writing.

In my original design I did not hold the write signal for long, though after modifying the code, writing still fails.

 

I'll work off the example design, I couldn't find that from the design store.

 

Thank you.

0 Kudos
Highlighted
55 Views

Try again with the design store. The link should be fixed by now.

0 Kudos