Forum Discussion

CosmoKramer's avatar
CosmoKramer
Icon for Occasional Contributor rankOccasional Contributor
2 years ago

local_reset_done and emif_usr_reset_n on emif ip

Could someone please help me understand difference and relation between these two signals on the emif ip - local_reset_done and emif_usr_reset_n ?

If I toggle local_reset_req to the ip, then local_reset_done will go low indicating that the ip is in reset. at some point it will go high indicating that it is out of reset.

what happens to emif_usr_reset_n after i toggle local_reset_req ?

which one of the two signals will go high first?

I have a design where emif_usr_reset_n is high but local_reset_done is still low.

Assuming that a high on emif_usr_reset_n means that the ip is out of reset, should not local_reset_done be high before or at least at same time that emif_usr_reset_n is high?

I looked at the user guide but it does not have much in terms of details.

5 Replies

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

    Hi,


    local_reset_req (input)

    local_reset_done (output)


    local_reset_req has effect only when local_reset_done is high.


    The local_reset_done signal transitions high once the calibration is completed.


    Once the reset is requested (local_reset_req = high, for at least 2 EMIF core clock cycles), the EMIF interface will enter reset sequence (local_reset_done = low).

    Then the core reset signal (emif_usr_reset_n) is driven low. The emif_usr_reset_n is active low signal.

    After the reset sequence is done, local_reset_done is driven high again.




    Regards,

    Adzim


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

      Thank you for replying. But my question was which one of the two - emif_usr_reset_n, local_reset_done - goes high first?

      or do they go high at same time?

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

    Hi,


    emif_usr_reset_n is an active low signal.

    It's asserting when entering reset sequence then perform calibration.


    local_reset_done is a active high signal.

    It's asserting when the calibration is done.


    According to the initialization flow, the memory will run a calibration first before it's able to accept command from user logic.

    Therefore, the emif_usr_reset_n should be trigger first.


    Regards,

    Adzim


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

      Just to make sure i understand it correctly, please confirm:

      1) after user issues reset_request, which of the two signals go high first:

      emif_usr_reset_n

      local_reset_done

      2) When these signals go low to high, it means that IP is out of reset. is that right?

      thank you.

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

    Hi,


    "1) after user issues reset_request, which of the two signals go high first:

    emif_usr_reset_n

    local_reset_done "

    • The local_reset_done should go from high to low. (active high)
    • Then emif_usr_reset_n should go from high to low. (active low)
    • The emif_usr_reset_n will go high again based on the calibration sequence.
    • Then after the calibration is finished, the local_reset_done will go high again.


    "2) When these signals go low to high, it means that IP is out of reset. is that right?"

    • Yes.


    Regards,

    Adzim