GDagi1
Occasional Contributor
5 years agoOn-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).
- I have set the burst count to '1' because I am in parallel mode.
- I have tried both address 0x00000 and 0x7000, both are valid addresses in Sector 1 (which is the sector I disable write-protection for).
- 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