Forum Discussion

DS17's avatar
DS17
Icon for New Contributor rankNew Contributor
3 years ago

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

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?

5 Replies

  • FvM's avatar
    FvM
    Icon for Super Contributor rankSuper Contributor

    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.

  • DS17's avatar
    DS17
    Icon for New Contributor rankNew Contributor

    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?

  • FakhrulA_altera's avatar
    FakhrulA_altera
    Icon for Regular Contributor rankRegular Contributor

    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


    • DS17's avatar
      DS17
      Icon for New Contributor rankNew Contributor

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

  • FakhrulA_altera's avatar
    FakhrulA_altera
    Icon for Regular Contributor rankRegular Contributor

    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.