Agilex™ 5 ES Device Errata and User Guidelines

ID 825514
Date 11/07/2025
Public
Document Table of Contents

3.2.13. 2110726: External APB write to a register located at offset 0x084 might incorrectly issue a write to External Debug Instruction Transfer Register

Description

The core might incorrectly issue a write to External Debug Instruction Transfer Register (EDITR) when an external APB write to another register that is located at offset 0x084 is performed in the Debug state. The following debug components share the offset alias with the EDITR register:

  • ViewInst Include/Exclude Control Register (ETE/TRCVIIECTLR)
  • Reserved locations
  • The following debug component shares the offset alias with the EDITR register when the PE is configured with 20-PMUs:
    • PMU - PMEVCNTR16[63:32] - Event Counter 16

Conditions

  1. The core is in debug state.
  2. The External Debug Status and Control Register (EDSCR) cumulative error flag field is 0b0.
  3. Memory access mode is disabled, in example, EDSCR.MA = 0b0.
  4. The OS Lock is unlocked.
  5. External APB write is performed to a memory mapped register at offset 0x084 other than the EDITR.

Impact

If the above conditions are met, then the core might issue a write to the EDITR and try to execute the instruction pointed to by the ITR. As a result of the execution, the following might happen:

  • CPU state and/or memory might get corrupted.
  • The CPU might generate an UNDEFINED exception.
  • The EDSCR.ITE bit will be set to 0.

Workaround

Before programming any register at this offset when the PE is in Debug state, the debugger should either:

  • Set the EDSCR.ERR bit by executing some Undefined instruction (for example, writing zero to EDITR); or
  • Set the OS Lock and then unlock it afterwards.

Category

Category C