Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
20640 Discussions

Macronix configuration device failed to work with Cyclone V

IDeyn
New Contributor III
3,139 Views

Hi all!

 

I have a custom board with Cyclone V (5CEBA4), and we decided to use Macronix configuration device (MX25L25645) for external configuration storage. 

As it could be seen here , Macronix flash devices are supported for usage with Cyclone V, 

but only in 3-byte addressing mode. Because my jic file is much smaller than the half of our Macronix flash size, it shouldn't be an issue.

 

The problem right now is that after successful programming FPGA fails to start after a power cycle. 

 

I tried to do what Intel FPGA Knowledge database suggests - install the patch for Quartus 18.1 or use Quartus 20.1 , and of course I checked the Disable EPCS/EPCQ ID check button - nothing had helped. 

 

Also, I exploited Generic Flash Programmer capabilities - based on Macronix flash programming flow template, I created a new sequence (with 3-byte addressing mode). During programming, I can successfully read Device ID, Write and Read status and configuration register, and programming successfully and at 100 %. But after a power cycle, User mode program never starts.

 

I will be grateful for any help.

 

--

Best regards,

Ivan

0 Kudos
15 Replies
YuanLi_S_Intel
Employee
3,129 Views

Hi Ivan,


Just want to check if SOF programming is successful and the design is able to work as intended?


Also, have you change the MSEL setting to active serial?


Regards,

Bruce


0 Kudos
IDeyn
New Contributor III
3,106 Views

Hi Bruce!

 

Thanks for your reply.

 

Yes, sof programming is successful - LEDs are blinking, and MSEL setting is correct.

 

 

--

Best regards,

Ivan

0 Kudos
YuanLi_S_Intel
Employee
3,077 Views

Hi Ivan,


Thanks for your reply. Can you let me know how do you generate JIC file? And are you programming with Quartus Programmer? If so, what version?


Also, during configuration, can you check the pin AS_DATA, DCLK, nSTATUS & nCS?


Regards,

Bruce


0 Kudos
IDeyn
New Contributor III
3,055 Views

Hi Bruce!

 

Sorry for a delay with an answer. 

 

As about jic file generation - Using Convert Programming file -> Configuration Device (MX25L256) ; Mode (Active Serial) .

Quartus Programmer version 20.1.

 

Right now I prepare screenshots with pins activity. I will post them in a few days.

 

--

Best regards,

Ivan

0 Kudos
IDeyn
New Contributor III
3,029 Views

 

IMG_20210830_131820.jpg

The data was taken by the logic analyzer with a resolution of 2 ns. The logic analyzer threshold was set to 1.65V. 

 

1. Oscillogram with 3 cycles (attempts) of the configuration. You can see how many (approximately) bytes of data were received when reading in the corresponding CS window. The place where the configuration process was terminated is marked green with the FINAL_DATA signature.

1_общий_план .png

 

2. Here, you can see the moments of the request STATUS_REGISTER (0x05), DEVICE_ID (0x9F) and FAST_READ (0x0B) with addresses 0x000000 and 0x00012C.

2_первая_поптыка.png

 

3. In these images, you can see in detail the requests STATUS_REGISTER (0x05) and DEVICE_ID (0x9F).

3_статус.png 4_id.png

 

5. The start of the FAST_READ(0x0B) operation from the address 0x000000 is shown. There is a strange pause in the clock signal in SCLK (marked in green).

5_начало_чтения.png

 

6.The moment of configuration process termination (the FINAL_DATA area from the first image). Why might the configuration get interrupted?

6_финальное.png

 

0 Kudos
IDeyn
New Contributor III
2,972 Views

I also want to add some valuable information.

 

In the previous version of the project, I used the same connection scheme with Micron memory.

schematic_1.jfif

Everything worked. 

 

We can, if necessary, try installing Micron flash on the current board for testing.

0 Kudos
YuanLi_S_Intel
Employee
2,908 Views

I think the connection should be fine. The issue you got is no bitstream data receive during configuration from the flash. Can i comfirm with you that the micron you use is MX25L25645GMI-08G?


0 Kudos
IDeyn
New Contributor III
2,890 Views

I use MX25L25645GZN-08G.

 

Chip_macro.jfif



--
Best regards,
Ivan

0 Kudos
YuanLi_S_Intel
Employee
2,863 Views

It seems like the package use for both MX25L25645GMI-08G and MX25L25645GZ2I-08G are different. Can you please check the differences?


0 Kudos
IDeyn
New Contributor III
2,852 Views

According to the datasheet the only difference between these chips is their package.

"M" is 16-SOP, "Z2" is 8-WSON (8x6 mm), and "ZN" is 8-WSON (6x5 mm).

I use "ZN" 8-WSON (6x5 mm).

As far as I know, the package option is neither related to functionality nor performance.

 

Package_legend.jfif

 

 

--
Best regards,
Ivan

0 Kudos
IDeyn
New Contributor III
2,741 Views

Hi Bruce!

 

Are there any updates for my problem?

 

--

Best regards,

Ivan

0 Kudos
YuanLi_S_Intel
Employee
2,674 Views

Sorry for being late as i was discussing with internal team. After several checking, it could be due to connection (as you use the same connection with micron) & programmed JIC programming file (as you couldnt read the bitstream during configuration). Since you have successfully programmed the JIC but unable to start up. Could you read back the JIC programmed from the flash and compare with the pre-programmed JIC?


0 Kudos
IDeyn
New Contributor III
2,577 Views

Hi Bruce!

 

Thank you for your answer.

 

Well, there are actually some differences between the jic file I requested (function "Examine") and the file I programmed. I attached them both. It is worth noting that the "Verify" function is executed without errors.

 

--

Best regards,

Ivan

0 Kudos
IDeyn
New Contributor III
2,341 Views

Hi Bruce!

 

I'm really looking forward to new information.

 

--

Best regards,

Ivan

0 Kudos
GirishCiena
Beginner
1,799 Views

Is there any further update? The same issue I am facing, I am using the Macronix NOR Flash(MX25L12872FM2I-10G) with Cyclone 5 just to store some configurations required during power on the system. Previously I am using Micron NOR flash. The reason behind not functioning of Macronix NOR Flash with Cyclone 5 was dummy cycle. But my questions are below:

How these both Micron and Macronix NOR flash working with Cyclone 4?

How Micron NOR Flash works with 12 dummy cycles with cyclone 5 as the Device selected in Quartus programmer is "EPCQ"?

Why Micron NOR Flash works with 8 Dummy Cycles with cyclone 5 as the device selected in Quartus programmer is "EPCS"?

 

All the failures happen on powering up the system.

All the JIC files (With Device selection "EPCS" / "EPCQ") are programmed successfully and even read back (verify) test was successfully passed in the Quartus Programmer tool.

 

Macronix -  MX25L12872FM2I-10G

Micron - MT25QL128ABA1ESE-0SIT

Quartus Programmer V 20.1

0 Kudos
Reply