Forum Discussion

pinktechs's avatar
pinktechs
Icon for New Contributor rankNew Contributor
2 years ago

How to write to and read from fpga flash memory?

I'm trying to store data inside the flash memory which I can read from later. For example, I want to store data such as 0001,0010,0011,0100. However, most resources found is to load the configuration bit inside the flash so it will automatically configured when it is booted up which is not what I'm trying to do. Is there any guidance or resources on how to store data inside flash from own hardware block and not using NIOS? I'm using Cyclone V E FPGA (5CEFA731)

7 Replies

  • sstrell's avatar
    sstrell
    Icon for Super Contributor rankSuper Contributor

    Are you talking about a separate configuration flash memory? Cyclone V does not have onboard flash.

    Configuration flash is for just that, configuring the FPGA device. I suppose if you allocated part of it to be writable by the FPGA and then configured the FPGA with a flash controller IP, you could do it, but maybe it would be better to understand what your goal is here.

    • pinktechs's avatar
      pinktechs
      Icon for New Contributor rankNew Contributor

      attached is the block diagram of the FPGA I'm using. The goal is to access the 512MB flash to store multiple data which later can be read from and arithmetic operation can be performed on the data. The result will the be stored inside the flash again. Do you have information on how to store data inside the flash?

  • Hi,


    So which FPGA configuration are you trying to do?


    Also are you trying to involve any HPS? As you mentioned you do not want the NIOS included.


  • FvM's avatar
    FvM
    Icon for Super Contributor rankSuper Contributor

    Hello,
    as far as I'm aware of, there's no generic parallel flash controller IP offered by Intel. You need to write your own CFI flash controller from the scratch or reuse existing code, e.g. open source.

    Generally you should consider that flash memory isn't well suited for storage of small data elements because whole pages need to be erased before rewriting a data word.

  • Hi,


    As we do not receive any further response from you on the previous question/reply/answer that we have provided. Please login to ‘https://supporttickets.intel.com’, view details of the desire request, and post a feed/response within the next 15 days to allow me to continue to support you. After 15 days, this thread will be transitioned to community support. The community users will be able to help you on your follow-up questions.



    p/s: If any answer from the community or Intel Support are helpful, please feel free to give best answer or rate 4/5 survey.