Forum Discussion

aamlb's avatar
aamlb
Icon for New Contributor rankNew Contributor
5 years ago

Arria10SoC Development kit: Failing to burn the on board QSPI flash

Hello,

I prepared a binary stream for burning to the QSPI flash: 128MB (MT25QU01GBBA8E12-0SIT), which installed on J11.

I followed the instructions on https://community.intel.com/t5/FPGA-Wiki/Generic-Serial-Flash-Interface-GSFI-and-Nios-II-Booting-Quick/ta-p/1201053 :

- Created the JIC file

- Open programmer (Quartus Prime standard 19.1), adding the JIC file and program it.

The Quartus message of the programming:

Info (209060): Started Programmer operation at Mon Oct 19 11:25:21 2020
Info (209016): Configuring device index 1
Info (209017): Device 1 contains JTAG ID code 0x02E050DD
Info (209007): Configuration succeeded -- 1 device(s) configured
Info (20555): Initializing flash 1 at device index 1
Info (20531): Read ID returned 0xFF 0xFF 0xFF
Info (20531): Read NVCR returned 0xFF 0xFF
Info (19094): Erasing flash 1 at device index 1
Info (19096): Programming flash 1 at device index 1
Info (209011): Successfully performed operation(s)
Info (209061): Ended Programmer operation at Mon Oct 19 11:26:35 2020

All the programing steps were successful (all green), but the above bold line return flash ID as 0xFF..., while the expected value per the 'Generic_Serial_Flash_Interface_design_example_quick_start_guide_final_updated.pdf' in page 18 should be none default value.

What is the procedure to resolve this issue?

Thanks you.

15 Replies

  • YuanLi_S_Intel's avatar
    YuanLi_S_Intel
    Icon for Regular Contributor rankRegular Contributor

    First of all, is the design working as intended after the programming?


    Also, have you set the ID value during bitstream generation?

    (Page 15 of the PDF)


    Also, have you set the NVCR value by following page 17?


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

      Hi,

      Following the Q&A.

      Q: First of all, is the design working as intended after the programming?

      A: The JIC produced with the 'Factory default SFL image' for Arria10 and the HEX file. No SOF added since the FPGA should be loaded from other QSPI flash.

      Q: Also, have you set the ID value during bitstream generation?

      (Page 15 of the PDF)

      A: Yes, set to the correct ID of the flash.

      Q: Also, have you set the NVCR value by following page 17?

      A: Although it not clear where this step, it added prior to the 'Read NVCR'.

      -----

      If I understand it right, the NVCR is optional, but the issues start while we can't read the ID.

      Attached the configuration device xml for your review.

      Thank you.

  • YuanLi_S_Intel's avatar
    YuanLi_S_Intel
    Icon for Regular Contributor rankRegular Contributor

    You were asking about the resolution for this 2 information right?

    Info (20531): Read ID returned 0xFF 0xFF 0xFF

    Info (20531): Read NVCR returned 0xFF 0xFF


    Thus, you will need to provide NVCR in advance in order to get a value for NVCR.


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

      Hi,

      1. Regarding the NVCR, please advice how and where to add the initial value in the flow chart.
      2. As far as I understand, the ID should be read without any additional initialization. Why it read with 0xFF.

      Thank you.

  • YuanLi_S_Intel's avatar
    YuanLi_S_Intel
    Icon for Regular Contributor rankRegular Contributor

    HI,


    Sorry for being late as i have been checking with internal team. The possible issue for causing this is due to IP setting problem and Config Device Selection problem.


    Just would like to understand on this, what are the device you selected?

    https://fpgacloud.intel.com/devstore/platform/18.1std.1/Standard/generic-serial-flash-interface-and-nios-ii-booting/ (Page 15 in PDF)


    As you are using 1GB micron flash devices, the device density should be 1024 Mb instead of 128 Mb. Can you please try?


    Thank You


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

      Hi,

      You can see that all the information is already supplied, as written in 'ā€Ž10-19-2020 12:12 PM', you can see exactly the flash p/n. The configuration in the xml from my reply at ā€Ž'10-22-2020 08:53 PM'.
      You can see the exactly which flash and the configuration I use, and it doesn't work.

      Thank you.

  • YuanLi_S_Intel's avatar
    YuanLi_S_Intel
    Icon for Regular Contributor rankRegular Contributor

    Have you tried on this?


    As you are using 1GB micron flash devices, the device density should be 1024 Mb instead of 128 Mb.


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

      Hi,

      Please check the xml which attached to the reply at 'ā€Ž10-22-2020 08:53 PM', the flash size configured to 1024Mb.

  • YuanLi_S_Intel's avatar
    YuanLi_S_Intel
    Icon for Regular Contributor rankRegular Contributor

    Hi,


    From the XML i dont see any problem, it seems like the setting during JIC file generation is appropriate. Another thing that i would like to check with you is on the IP side, during SFL IP initialization, have you selected 1024mb and also select as Active Serial configuration in Quartus?


    Thank You


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

      Hi,

      Please note that we are trying to boot the nios from the QSPI flash that installed on the EVB piggy card (J11).

      1. Does the controller should be configured to 'Active serial' also?
      2. There is also the following configuration:
        1. 1cs, 4B addressing
        2. Nios reset vector - (0x00f0_0000)
        3. added "PGM_ALLOW_MT25Q=ON" in quartus.ini local new file

      Please advise if all the above as expected.

      Thank you.

  • YuanLi_S_Intel's avatar
    YuanLi_S_Intel
    Icon for Regular Contributor rankRegular Contributor

    Hi,


    The ini file is meant to have micron flash memory to be selectable. Also, you chip select is pointing to 0x1? that means 2nd device? Can you confirm?


    The configuration scheme i meant, you may take a look at user guide below:

    https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/ug/ug-qps-gen-flash-programmer.pdf (Page 7)


    You need to set to AS x4.


    Also, would like to check, when you program the JIC normally without the setup, is the programming successful? Also, is the ID shown correct?


    Thank You.


    Regards,

    Bruce