Nios® V/II Embedded Design Suite (EDS)
Support for Embedded Development Tools, Processors (SoCs and Nios® V/II processor), Embedded Development Suites (EDSs), Boot and Configuration, Operating Systems, C and C++

flash programmer issue

ZhiqiangLiang
Beginner
202 Views

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.

ZhiqiangLiang_0-1746767466090.png

 

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.

 

ZhiqiangLiang_0-1746767892392.png

 

 

0 Kudos
4 Replies
DivyaG_Altera
Employee
153 Views

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 

0 Kudos
FvM
Honored Contributor II
129 Views
Hi,
if I remember right, M25P64 is fully compatible with EPCS64, even uses the same silicon ID 0x16.
0 Kudos
ZhiqiangLiang
Beginner
83 Views

@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?

0 Kudos
ZhiqiangLiang
Beginner
68 Views

@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!

0 Kudos
Reply