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

EPCS128 to EPCQ128A provides incorrect information using alt_flash...()

DS17
Beginner
875 Views

Our old FPGA module has a Cyclone III with EPCS128.
Because of the Cyclone III I am forced to use Quartus 13.1.4 Build 182 03/12/2014 SJ Full Version.
Since the EPCS128 is no longer available, I switched to the EPCQ128A.
There is a NIOS IP core in the FPGA that can access the EPCx using the QSYS epcs_controller.
It does this with the API functions alt_flash…().
alt_flash_open_dev() opens the EPCS/EPCQ perfectly.
alt_get_flash_info() also returns no errors, but incorrect information regarding the erase regions of the EPCQ flash.
It is clear to me that a region on the EPCS128 delivers
region_size 0x1000000 (size of the entire flash)
number_of_blocks 0x40 (64 blocks)
block_size 0x40000 (262,144 bytes/each block).
But what I don't understand is why I get identical data for the EPCQ128A.
There I actually expect
number_of_blocks 0x100 (256 blocks)
block_size 0x10000 (65,536 bytes/each block)
I haven't found an explanation for this yet.
AN822 describes that the EPCS128 is incompatible with the EPCQ128 in terms of sector sizes and this can lead to problems when using sector erase.
However, in the case described, the feedback about the sector sizes is also incorrect.

Does the 13.1.4 patch 4.70r possibly fix this error? Where do I get this?

0 Kudos
5 Replies
FvM
Valued Contributor III
851 Views

Hi,

strictly speaking, the memory chips can't provide any information about memory organisation, because they don't have means to do see, unlike e.g. CFI parallel flash. The information is send by the IP core based on assumptions. Apparently they have wrong assumptions about unknown chips.

I'm not sure if this is a real problem, more important that you know about actual sector sizes and perform appropriate erase etc. 

0 Kudos
DS17
Beginner
819 Views

Thanks for the quick reply. Now that I read it, that makes sense to me. Of course the EPCS/EPCQ does not have a CFI, so the software has to identify the flash manually. After a deeper look into the Nios Flash API (which luckily isn't compiled and is therefore readable) I understand how it's done.
To use the EPCQ-A with Quartus older than version 17, I definitely need 13.1.4 patch 4.70r. Where can I get this?

0 Kudos
Fakhrul
Employee
764 Views

Hi DS17,


Sorry, I have overlooked your post. I'm sending the patch to your inbox message. Let me know if you have trouble downloading it.


Regards,

Fakhrul


0 Kudos
DS17
Beginner
699 Views

Hi Fakhrul, thak you for the patch. I downloaded it successfully.

0 Kudos
Fakhrul
Employee
659 Views

Hi DS17,


I’m glad that your question has been addressed, I now transition this thread to community support. If you have a new question, Please login to ‘https://supporttickets.intel.com’, view details of the desire request, and post a feed/response within the next 15 days to allow me to continue to support you. After 15 days, this thread will be transitioned to community support. The community users will be able to help you on your follow-up questions.


0 Kudos
Reply