Forum Discussion

David32's avatar
David32
Icon for Occasional Contributor rankOccasional Contributor
1 year ago
Solved

Arria 10 HPS EMIF DDR4 failing calibration

Hi,

We are using Arria 10 SOC on a custom board.

There is a single interface to DDR4 (component, 2 devices, each 16 bits).

When doing normal EMIF the calibration succeeds and I can access memory through System Console and the JTAG Avalon Master.

After copying all parameters to a EMIF HPS IP within Platform Designer, the calibration fails as indicated by the CAL bit in the DDRCALSTAT register.

I have exported the f2h cold reset request and tied it to the EMIF reset input. This signal is driven high by logic some time after configuration ends.

Any help would be greatly appreciated.

Thanks

David

  • David32's avatar
    David32
    1 year ago

    Hi Sho,

    I am sorry but I forgot to mark this thread as solved.

    We found it necessary to mark (within HPS configuration in QSYS) that FPGA boots from SD card.

    Thanks

    David

6 Replies

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

    Hi David,


    What do you mean by "doing normal EMIF"?

    Did you mean that you referred to GHRD or something, copied the EMIF parameters and pasted them for your own project?


    If you use different DDR4 memories, you need different calibration parameters for sure.


    Best regards,

    Sho Yamamoto


    • David32's avatar
      David32
      Icon for Occasional Contributor rankOccasional Contributor

      Hi Sho

      "Normal" means the instantiation of the (non HPS) EMIF IP within Platform Designer, since an IP also exists for instantiating EMIF to HPS.

      These tests were on our custom board, where the "normal" or non-HPS EMIF controller seems to work OK with the DDR4, but the HPS EMIF controller fails on calibration.

      David

  • David32's avatar
    David32
    Icon for Occasional Contributor rankOccasional Contributor

    Hi Sho,

    Yes that is correct.

    Two things are working when using a non-HPS EMIF controller:

    1. EMIF toolkit. I manage to create eye diagrams, do re-calibration, etc. Everything seems OK (except for running TG - which I think is more a compatibility issue within Intel since it seems that TG is not supported with Arria 10)

    2. From within System Console via JTAG master I can read/write the DDR4 successfully.

    In a different project I use now instantiate a HPS EMIF controller, along with HPS etc.

    Here the boot software always reads from the CALSTAT register that calibration is failing.

    David

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

    Hi David,

    I'm terribly sorry for my late reply.

    I'd like to ask you about a few things.

    1. Could you attach the screenshots of the parameter setting window for both EMIF(non HPS) and HPS EMIF?
    2. Have you tried changing Quartus version? I'd like you to try other versions to see if the issue will be fixed.

    Best regards,

    Sho Yamamoto


    • David32's avatar
      David32
      Icon for Occasional Contributor rankOccasional Contributor

      Hi Sho,

      I am sorry but I forgot to mark this thread as solved.

      We found it necessary to mark (within HPS configuration in QSYS) that FPGA boots from SD card.

      Thanks

      David