Forum Discussion

ZhiqiangLiang's avatar
ZhiqiangLiang
Icon for Occasional Contributor rankOccasional Contributor
8 months ago
Solved

flash programmer issue

Hi,

My FPGA: Cyclone 10 LP 10CL120Y484I7G

Flash: M25P64, ID: 202017, sector_size = 65536 , sector_count = 128

I am now able to program sof to FPGA via Quartus-->Tools-->Programmer.

As the flash type/ID is not know by Quartus-->File-->Convert Programming Files, I cannot convert sof to jic/pof.

So I have to program sof and elf via Eclipse --> NIOS II -->Flash Programmer. I am facing the following issue.

In Quartus --> Tools --> Programmer, the tool can burn sof to FPGA. It can detect FPGA but not flash.

There are 2 possible reasons why it cannot detect flash:

reason 1: flash is incorrect connected.

reason 2: flash is not recognized by FPGA.

Could you please tell me how to tell which reason is true?

One more question is:

I connect flash to FPGA's default flash interface, and I didn't operate that interface. I don't know whether I should do anything to make FPGA and flash work.

  • @FvM

    @DivyaG_Altera

    Thank you for your reply!

    In this thread, I was told the flash M25P64 is not compatible: https://community.intel.com/t5/Nios-V-II-Embedded-Design-Suite/Target-is-broken-and-needs-to-be-reset/td-p/1688694

    Corrently, I did the following experiments:

    experiment 1: program sof file to FPGA successfully, and FPGA works as expected output.

    experiment 2: click Auto Detect button on Quartus-->Tools --> Programmer, digital signal could be observed on the data pin of the connection from FPGA to flash, but not clock on the clk pin from FPGA to flash.

    experiment 3: convert sof file to jic file, and add jic file to Quartus-->Tools --> Programmer, and click start button. no digital signal on the data pin of FPGA and flash connection, no clk was sent out from the SPI of FPGA and flash as well. Failed was seen on Programmer tools. no more information was seen.

    From those above experiments, I guess FPGA was not successfully started or initialized?

5 Replies

  • Hi,

    Since a .sof file is intended only for configuring the FPGA, it will successfully program the FPGA itself but cannot be used to program an external Flash device. To load a Flash device that’s wired to the FPGA’s dedicated configuration pins, you must convert the .sof into either a .pof or .jic file. If that conversion isn't supported, it often means the specific Flash device (OPN) you selected isn’t officially supported. Aside from Intel’s EPCS/EPCQ families, the full list of supported third-party Flash memories for Cyclone 10 LP devices is documented under : Table 4 - Supported Third Party Configuration Devices : https://www.intel.com/content/www/us/en/support/programmable/support-resources/design-guidance/configuration-support.html#intel-config-devices

    Regards,

    Divya

    • FvM's avatar
      FvM
      Icon for Super Contributor rankSuper Contributor
      Hi,
      if I remember right, M25P64 is fully compatible with EPCS64, even uses the same silicon ID 0x16.
  • ZhiqiangLiang's avatar
    ZhiqiangLiang
    Icon for Occasional Contributor rankOccasional Contributor

    @FvM

    @DivyaG_Altera

    Thank you for your reply!

    In this thread, I was told the flash M25P64 is not compatible: https://community.intel.com/t5/Nios-V-II-Embedded-Design-Suite/Target-is-broken-and-needs-to-be-reset/td-p/1688694

    Corrently, I did the following experiments:

    experiment 1: program sof file to FPGA successfully, and FPGA works as expected output.

    experiment 2: click Auto Detect button on Quartus-->Tools --> Programmer, digital signal could be observed on the data pin of the connection from FPGA to flash, but not clock on the clk pin from FPGA to flash.

    experiment 3: convert sof file to jic file, and add jic file to Quartus-->Tools --> Programmer, and click start button. no digital signal on the data pin of FPGA and flash connection, no clk was sent out from the SPI of FPGA and flash as well. Failed was seen on Programmer tools. no more information was seen.

    From those above experiments, I guess FPGA was not successfully started or initialized?

  • ZhiqiangLiang's avatar
    ZhiqiangLiang
    Icon for Occasional Contributor rankOccasional Contributor

    @FvM

    @DivyaG_Altera

    we just now solved this issue.

    The solution is to change PS model of FPGA to AS model. we can now burn flash by JTAG after this change.

    the flash M25P63 is set to PECS64 which is compatible and works.

    Thank you both any way!

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

      Hi @ZhiqiangLiang

      Thank you for sharing the workaround—I’m glad it’s enabled you to connect to the flash successfully.

      Regards,

      Divya