Quartus® Prime Pro Edition User Guide: Platform Designer

ID 683609
Date 7/08/2024
Public
Document Table of Contents

1.11.3. Accessing Undefined Memory Regions

Access to an undefined memory region occurs when a transaction from an AXI manager or Avalon host targets a memory region unspecified in the AXI subordinate or Avalon agent memory map. To ensure predictable response behavior when this condition occurs, you must specify a default subordinate or agent, as Specifying a Default Avalon Agent or AXI Subordinate describes.

You can designate any memory-mapped subordinate or agent as a default subordinate or agent. You may have only one default subordinate or agent for each interconnect domain in your system. Platform Designer then routes undefined memory region accesses to the default subordinate or agent, which terminates the transaction with an error response.

Note: If you do not specify a value for the Default Slave option, and the Automate default slave insertion option is off, Platform Designer automatically assigns the AXI subordinate or Avalon agent in the system. Platform Designer automatically assigns the AXI subordinate or Avalon agent that has largest address span within the memory map for the issuing AXI manager or Avalon host. In the case of multiple, large AXI subordinates or Avalon agents that have the same address span, Platform Designer selects the AXI subordinate or Avalon agent at the lowest base offset.

Accessing undefined memory regions can occur in the following cases:

  • When there are gaps within the accessible memory map region that are within the addressable range of subordinate or hosts, but are not mapped.
  • Accesses by a manager or host to a region mapped to that manager or host that does not belong to any subordinates or agents.
  • When a non-secured transaction is accessing a secured subordinate. This applies to only subordinates that are secured at compilation time.
  • When a read-only subordinate or agent is accessed with a write command, or a write-only subordinate or agent is accessed with a read command.