FPGA Intellectual Property
PCI Express*, Networking and Connectivity, Memory Interfaces, DSP IP, and Video IP
Intel Support hours are Monday-Fridays, 8am-5pm PST, except Holidays. Thanks to our community members who provide support during our down time or before we get to your questions. We appreciate you!

Need Forum Guidance? Click here
Search our FPGA Knowledge Articles here.
5949 Discussions

Generic Serial Flash Interface - Problem with communicating to Micron MT25Qu01 flash


I am attempting to interface with the Generic Serial Flash Interface (GSFI) IP core without using a NIOS II or JTAG to Avalon Bus master. I believe that I am following the exact procedures to read from the flash, but I am only getting one read out instead of a burst of 8 like I put in. In my signal tap you can see the values are being written as they should be (this is the same as the reference design so I know the values should be correct). Additionally, this corresponds to Figure 3 from the Generic Serial Flash Interface Intel FPGA IP Core User Guide. I can provide my source code if that would be of use, but it seems all fairly straightforward so I guess I am just a bit perplexed on where to go next. Additionally, the data that I get out (seen in my second attachment) shouldn't be there as (I believe) I erased the flash...

0 Kudos
2 Replies
Hi TMayd, Based on my observation, you are using Cyclone V with Micron MT25QU (1.8V flash device) device. For your information, Cyclone V only support Micron MT25QL (3.3V flash device) device. Since you are using different type of Micron flash device, this might be the root cause of this issue. Please refer to the following link (goes to left tab option “Intel Supported Configuration Devices”) for more information on supported 3rd party Flash device. https://www.intel.com/content/www/us/en/programmable/support/support-resources/support-centers/confi... If MT25QL flash device does not improve your issue, you might try below suggestion on your FPGA: 1. Check your hardware connectivity. (make sure all connection is stable and supply with right voltage) 2. Perform the read Device ID operation. (this to ensure you able to communicated with flash device. Test the functionality of Flash device and fpga). Link for read Device ID operation (on page 20, 1.7.2 example 2) - https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/ug/ug-gen-sfi.pdf#page=20 3. Design a simple design to your FPGA (ie LED blinking). And program .SOF and .JIC file. (.SOF is ensure FPGA is working properly. .JIC is ensure Flash device is working properly). This test is to make sure the functionality of FPGA and flash device. 4. Check your MSEL and Pin Connection properly. I hope this will help. Thank you.
Hi, So I am using the MT25QL sorry I should have been more speicifc (full part number is: MT25QL01GBBB8E12-0SIT TR). For more background, I can use the Quartus USB Blaster to program the flash and the FPGA will boot from it no problem. So I know that my FPGA is working properly. Furthermore, I saw that if you include the quartus.ini file with: "pgm_allow_mt25q=on" in the project that it will work with the ASMI Parallel Core. I haven't tried it with the Generic Serial Flash Interface after including the quartus.ini because the ASMI Parallel accomplishes my needs. However, before I did that I was able to correctly read out the device ID. It appeared I had no problem using the control status register interface, but once I tried to use the AVL_MEM interface after following the exact steps in the IP Core guide it wouldn't correctly read or write (whereas it does fine using the ASMI parallel core).