This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM5706: Bus Error occurred on GPMC during access to FROM

Part Number: AM5706

Hi,

My customer is now evaluating their own board based on AM5706, but they found that the bus error occurred when GPMC accessed FROM. (The connected ICE was frozen.)

 

They’re using the CS0 area of GPMC and the asynchronous mode (No external wait) with Non-mux data and address. The GPMC internal clock is 66.5MHz, and it’s controlled by the timing like below, but the bus error occurred.
Do you know the cause why the error occurred ?

  

 

The GPMC timings are set as follows;

GPMC_CONFIG1_0:0x00001000

GPMC_CONFIG2_0:0x00040980

GPMC_CONFIG4_0:0x04010983

GPMC_CONFIG5_0:0x0008050A

GPMC_CONFIG6_0:0x0F070000

GPMC_CONFIG7_0:0x00000848

 

The access timing wave could be monitored during write access issue like the above figure. (CS and WE are verified.)

However, the ICE was frozen after that.

 

Note :

There is no issue on the read access.

If GPMC_CONFIG5_0:0x0008070A (WRCYCLETIME = 7), no error occurs. In the case of WRCYCLETIME=6, it’s frozen too.

Is there any relation with this ? or any restriction ?

 

Thanks and regards,

Hideaki

  • Hideaki-san,

    Section 15.4.6.1 How to Set GPMC Timing Parameters for Typical Accesses has some timing diagrams to show the expected timing relations.  Table 15-489 GPMC Timing Parameters for Async Single Write in particular seems to fall under customer's use case.

    I noticed CsWrOffTime should be WeOffTime + 1, it is right now set as 4 cycles but should be 5.

    WrCycleTime is WeOffTime + AccessCompletion. AccessCompletion should follow nCS de-assertion time, so WrCycleTime should be programmed with the same value as CsWrOffTime. 

    If a higher cycle time works, that could mean the memory device required higher AC timing characteristics.  Are the values set correctly based on the memory device timing?

    Thanks & Regards,

    Shiou Mei

  • Hi Shiou Mei,

    Thank you for your reply. They’ve tried your suggestion, but the issue has not been solved.

    As you mentioned, they changed CsWrOffTime from 4 to 5 and tried it to run, but the symptom did not improve.

    Also, they tried below.
    After changing CsWrOffTime from 4 to 5,

    • WrCycleTime = 5 since you mentioned that “WrCycleTime” needs to be programmed with the same value as CsWrOffTime”.
    • WrCycleTime = 6 to be longer than de-assert time, because they’re using the shifted nCS by half a clock (CSEXTRADELAY enabled).

    but neither seemed to improve the symptom.

    Also in the case of CsWrOffTime is changed from 4 to 5, it seems that the symptom is improved by changing WrCycleTime to 7, just like when it remains at 4.

    They'd like to clarify the cause of this phenomenon. Are there any other conditions that seem to be related?

    This problem occurs only in the write access. They think that the AM5706 is just issuing and ending, because the external WAIT control is not used. However. It gets into error state (debugger will be frozen.) after the write access waveform appears.

    Could you please help them ? Do you have any idea to solve this issue ?

    Thanks and regards,
    Hideaki

  • Hideaki-san,

    Please clarify what FROM customer is trying to access. Some devices could require higher AC timing characteristics (an example is shown in the TRM section mentioned below), and thus require longer WrCycleTime.  Based on your description, it sounds like this could be why customer is running into issues; please have customer check into device timing characteristics and re-calculate the register settings.

    You may reference Section 15.4.6.1.2.3 GPMC Configuration for Asynchronous Single Write Access in the device TRM for more information on this topic.  A direct link is here:  https://www.ti.com/lit/ug/spruhz7j/spruhz7j.pdf#page=3636

     

    Best Regards,

    Shiou Mei

  • Hi Shiou Mei,

    Thank you for your reply, but sorry for backing to this thread. Could you please confirm their setting below ?

    They’re using the FROM “MT28EW512ABA1LJS-0SIT” by Micron.

    They had already recognized the descriptions in TRM which you suggested. They think that “WrCycleTime = WeOffTime + AccessCompletion = WeOffTime + 1” is the key point for the bus error issue at this time.

    Since they are using GPMC as Async access mode (No external wait) with Address Non-mux, they didn’t consider about the setting “ADVONTIME” and “ADVWROFFTIME”.

    Do the settings of these parameters impact the address non-mux mode also ?

    When they set “WrCycleTime-1” into the “ADVONTIME”, the issue doesn’t occur.

     

    Is their setting correct ? They want to confirm with you if the issue was cased by the setting of “ADVONTIME”.

     

    Thanks and regards,

    Hideaki

  • Hideaki-san,

    ADV is address valid signal so yes it should be programmed even in asynchronous mode.  ADVONTIME should be set to Address Valid setup time on the device side; setting it to WRCYCLETIME-1 seems too high.  Please reference the Micron device DM to confirm the valid number to program.

    Thanks & Regards,

    Shiou Mei

  • Hideaki-san,

    I was going through my notes and found a reference register configuration for MT28FW512ABA1LJS-0AAT.  This likely will help you for the customer's Micron configuration:

    GPMC_CONFIG1: 0x41001012

    GPMC_CONFIG2: 0x000A1300

    GPMC_CONFIG3: 0x00000000

    GPMC_CONFIG4: 0x08021103

    GPMC_CONFIG5: 0x030E0C15

    GPMC_CONFIG6: 0x000001C1

    GPMC_CONFIG7: 0x00000C08

    Best Regards,

    Shiou Mei