3.10.15 DMC_400

ARM PrimeCell Dynamic Memory Controller(DMC400). This model is written in LISA+.

DMC_400 contains the following CADI targets:

  • DMC_400
  • PVBusMapper

DMC_400 contains the following MTI components:

DMC_400 - about

The configuration of this model by setting the registers does not generally affect accesses to main memory.

This component has no timing information, so changing the values of the timing registers has no effect on behavior. The memory models do not attach to the component, and error checking does not update registers because the model does not include the possibility of errors.

Table 3-314 Ports

Name Protocol Type Description
apb_interface PVBus Slave Slave bus interface for register access.
axi_if_in[4] PVBus Slave Slave bus for connecting to bus decoder.
axi_if_out[4] PVBus Master Master to connect to DRAM.
clr_ex_mon 2.7.2 Signal protocol Master Indicates when global monitors state is cleared.
user_status_ext 2.7.4 Value protocol Slave Allow user status to be set from outside.

Table 3-315 Parameters for PVBusMapper

Name Type Default value Description
pvbusmodifier.handling_of_dvm_messages_from_downstream string "forward" What to do with DVM (Distributed Virtual Memory) messages received from downstream. The options are to 'forward' them upstream unaltered, to 'terminate' them, or to 'handle' them locally and get called through handleDownstreamDVMMessage()
pvbusmodifier.handling_of_dvm_messages_from_upstream string "forward" What to do with DVM (Distributed Virtual Memory) messages received from upstream. The options are to 'forward' them downstream unaltered, to 'terminate' them, or to 'handle' them locally and get called through handleUpstreamDVMMessage()
pvbusmodifier.handling_of_upstream_snoop_requests string "forward" What to do with snoop requests from downstream. The options are to 'forward', 'terminate' or 'handle'. NOTE that currently the snoop request addresses are _not_ translated and so if your device alters the address translation then you will almost certainly want to 'terminate'.

Table 3-316 Parameters for DMC_400

Name Type Default value Description
ECC_SUPPORT bool 0x1 Does the controller support ECC?
IF_CHIP0 int -0x1 Set this parameter to 0 if memory is connected
IF_CHIP1 int -0x1 Set this parameter to 0 if memory is connected
IF_CHIP2 int -0x1 Set this parameter to 0 if memory is connected
IF_CHIP3 int -0x1 Set this parameter to 0 if memory is connected
MEMORY_WIDTH int 0x20 Valid widths are 16, 32 or 64 bits
diagnostics int 0x0 Diagnostics
revision_string string "r0p1" Revision
Non-ConfidentialPDF file icon PDF version100964_1161_00_en
Copyright © 2014–2019 Arm Limited or its affiliates. All rights reserved.