External Memory Interfaces (EMIF) IP User Guide: Agilex™ 5 FPGAs and SoCs

ID 817467
Date 3/31/2025
Public
Document Table of Contents

13.3. Sending a Mailbox Command

Follow these steps to send a mailbox command.

  1. Wait for the CMD_REQ to be cleared to ensure the previous command has been dispatched.
  2. Write to the CMD_PARAM_* register. If the command does not require any CMD_PARAM – for example, TRIG_MEM_CAL – you can skip this step.
  3. Write to the CMD_REQ with the desired command (CMD_TARGET_IP_TYPE, CMD_TARGET_INSTANCE_ID, CMD_TYPE and CMD_OPCODE)
  4. Wait until STATUS_CMD_RESPONSE_READY (BIT 0 of CMD_RESPONSE_STATUS) equals 1 .
  5. Read the CMD_RESPONSE_DATA_* and/or CMD_RESPONSE_DATA_SHORT (as required for the CMD_REQ).
  6. Clear the STATUS_COMMAND_RESPONSE_READY (Bit 0 of CMD_RESPONSE_STATUS register) . Perform a Read-Modify-Write operation:
    1. Read from CMD_RESPONSE_STATUS register.
    2. Write_Data = Data in (a) & 0xffff_fffe (Change only bit 0 ).
    3. Write to Address = 0x500_045c Data= Write_Data from (b).
Figure 48. Sending a Mailbox Command