3.10.14 DMC520

ARM Dynamic Memory Controller(DMC520). This model is written in C++.

DMC520 contains the following CADI targets:

  • DMC520

DMC520 contains the following MTI components:

DMC520 - about

A platform can have multiple instances of this component. For example:

//LISA instantiation
composition
{
    // Memory controllers
    dmc520_0            : DMC520("passthrough_debug_access"=true);
    dmc520_1            : DMC520("passthrough_debug_access"=true);
}

Limitations:

  • The model does not support address striping.
  • It works with linear addresses and not in rank,bank,row,column form.
  • It does not include any mechanism for error injection or detection.
  • Scrubbing functionality is only provided from the interface point of view.
  • It does not implement direct read or write commands.
  • It does not implement any performance counters.

Differences between the model and hardware

The DMC520 and DMC620 models have different interfaces to those in the hardware due to the level of abstraction of memory in Fast Models. These are the differences:

  • Like the hardware, the model has a slave port for configuring register accesses, apb_pvbus_s, and an AXI interface for incoming memory transactions that are attempting to access memory that is managed by the DMC.

  • The hardware component translates incoming transactions on the AXI interface to a format that is conducive to accessing DRAM chips. The model performs TrustZone® access control and models the DMC readiness state, but does not translate the transactions. If allowed, the model forwards incoming transactions to be handled by a memory storage handling component that works at the transaction level.

Table 3-313 Ports

Name Protocol Type Description
all_or_interrupt_signal 2.7.2 Signal protocol Master A combined interrupt that is the logical OR of the other interrupts.
apb_pvbus_s PVBus Slave Programmers interface to program and control the DMC-520.
arch_fsm_interrupt_signal 2.7.2 Signal protocol Master The DMC has detected a change in the architectural state.
failed_access_interrupt_signal 2.7.2 Signal protocol Master The DMC has detected a system request that has failed a permissions check and a previously detected assertion was not cleared.
filter_pvbus_m PVBus Master DMC master port to memory.
filter_pvbus_s PVBus Slave System interface.
reset_signal 2.7.2 Signal protocol Slave DMC reset.
scrub_event_in[8] 2.7.2 Signal protocol Slave Scrub event n trigger.
scrub_event_out[8] 2.7.2 Signal protocol Master Scrub event n triggered.
Non-ConfidentialPDF file icon PDF version100964_1161_00_en
Copyright © 2014–2019 Arm Limited or its affiliates. All rights reserved.