GOOD-Stuff/FPGA-SPI-Flash

How can i use it with s25fl256 flash?

Jzone315 opened this issue · 4 comments

Hi:
Would you please show how to use this design with s25fl256 flash? I had tried the primitive code, seemed it can't work well, so maybe some code need to be modified for s25fl256?
Thanks a lot, I am very grateful for your reply.

Hi!
Perhaps it depends on what clocks you use and how at you transfer data to the module spi_loader_top. I recommend you to set ILA in spi_flash_programmer module (on signals: sSpi_cs_done, sSpi_Mosi, sSpi_Miso, er_state, wr_state, etc) to look how works SPI_MISO/MOSI/CS signals (and match it to datasheet protocol) and how to changed FSM states (er_state, wr_state).
Also, if you work with older series of FPGA (which supported by ISE) you can readback QSPI via IMPACT (and so you can track recordings).
Are you work with s25fl256 flash with Kintex-7 (or Ultrascale) series?

so maybe some code need to be modified for s25fl256?

It all depends on your configuration. Perhaps you don't need to modify spi_serdes, but you should look on wrapping about spi_loader_top and spi_flash_programmer. Perhaps you should to increase density of using FIFOs. All this answers you can get by viewing on behavior of modules via ILAs and readback from QSPI flash.

Thanks a lot for your reply, I am working with s25fl256 flash with Kintex Ultrascale FPGA, since the capacity of the s25fl256 is 256Mb, so I wonder if the address should be used with 32-bits address mode, which is different from the 24-bits address mode in the primitive code, thanks again.

Hello.
For 32bit flashes you can use different branch (i.e. https://github.com/GOOD-Stuff/FPGA-SPI-Flash/tree/ultrascale)

Closed due to lapse of days