I am using an MT25QU256 PROM to program an Arria 10 10AX027E4 device. The MSEL setting is active serial standard power on (011). The programming voltage is 1.8V. It appears that the access to the PROM starts normally then terminates early. I have attached scope shots of the transactions between the FPGA and the PROM. One thing I see is that the FPGA de-asserts the select and stops the clock just before reading the last bit of a byte.
I have followed all the recommendations for using the MT25Q devices. I believe that the file is compressed.
Can somebody explain what I'm seeing and how to fix it?
I have verified that the control signals are working properly and I have changed from a compressed file to uncompressed.
Also with the processor disable I can load the FPGA with the SOF file. I am keeping the processor disabled while trying to load from the PROM so there is no chance of interference.
Since you mentioned that you are able to program the Arria 10 with a .sof file, I assume that you are able to use Quartus programmer and a download cable (such as USB Blaster) to program the Arria 10 via JTAG interface. Are you able to program the MT25QU flash device with a .jic file using Quartus programmer? The Quartus Prime v18.1 should have the option to allow users to generate the .jic file for MT25QU for Active Serial configuration. Thus you can test the MT25QU with the standard programming process using Quartus programmer and .jic file. If the Active Serial configuration is successful after programming MT25QU with the .jic file, this indicates no hardware or signal connection issue.
I have already programmed the MT25QU with the .jic file using my USB Blaster. I selected the MT25QU256 as the programming device in the Quartus programming device options and as the target device in the file conversion program. I am using the device in ASx1 mode. The PROM programs fine. It just fails to load the FPGA at power-up.
What I am seeing at power-up is that the A10 reads the PROM status register, reads the device ID registers and then begins a fast read opeation from the PROM. It read about 33 bytes then during the 34th byte the CS to the prom is terminated after 7 bits. Please refer to the scope images in my original post to see the SPI bus transactions.
Can I really use a Micron MT25QU256 device with an Arria10 or do I need to use a MT25QU512 as indicated in some cross reference chart I saw.
Please scope the nCONFIG, nSTATUS and CONF_DONE signal when power up after programmed the MT25QU256 device. Is the nSTATUS toggling? Or the CONF_DONE is low all the time?
Did you set the Configuration Scheme to Active Serial x1 or x4 in the Device and Pin option in your project design before compilation? Please make sure the Configuration Scheme is set to Active Serial x1 or x4 mode and then recompile your design.
You mentioned about a cross reference chart. Can you provide the link to this cross reference chart? I'm not sure if I know what you are talking about.
Also, you mentioned about using processor to program the MT25QU device. Can you provide the schematic showing the FPGA<->MT25QU<->processor connection?
I've attached the entire configuration block for the FPGA. U19 in the upper right corner is used to disconnect the processor SPI bus from the PROM/FPGA. The signal FLASH_FPGA_EN is pulled low. All the other control/status signals are connected directly to the processor. I have the processor disabled which tri-states those pins. That means that the pull-up/pull-down resistors are controlling the FPGA load operation at power-up. We have also successfully programmed the PROM and verified the contents using this interface.
I needed to get wires attached to the board to do the scope captures. I will get them to you as soon as possible, The nSTATUS line I believe is toggling. I will get more specifics when I can get the scope pictures.
As for the cross-reference table, it was from Micron and I misinterpreted it. I was looking at the A10 SoC line and not the general A10 line. There is one thing I noticed. Micron implies that the MT25QU parts will only work in Passive Serial mode. I'm assuming that Intel has verified that they work in Active Serial mode as well.
Good morning Nooraini,
This morning I started the programming process from scratch. I verified that the MT25QU was selected as the target device in Quartus and that I was using Active Serial. In the file conversion program I set all the parameters from scratch instead of loading my .cof file. I generated the .jic and programmed the target board. When I power cycled the board the FGPA loaded correctly.
I then went back into the file conversion program and loaded my .cof file. Here my .cof file was selecting a .sof from an old version of the design that was Cyclone V based. Once I changed this to the A10 .sof file it also generated a .jic file that loaded on power-up..
I think Intel needs to put a check in the file conversion utility that makes sure the .sof file selected matches the target device.
Apologize for the delay in response. It's good to know you are able to resolve the issue and move forward with your design and we will take note on your feedback. At least you were able to identify the root cause due to the incorrect .sof file being selected in the .cof file and resolve the issue. This information will be benefit for other users if they encounter similar failure.