VMC — Volatile memory controller

VMC provides power control for RAM blocks.

Each RAM block, which may contain multiple RAM sections, can power up or power down independently in System ON and System OFF mode using RAM[n] registers. See the Memory chapter for more information about RAM blocks and sections.

RAM power states

The RAM power control registers are used for configuring the following:

  • The RAM sections to be retained during System OFF
  • The RAM sections to be retained and accessible during System ON

In System OFF, retention of a RAM section is configured in the RETENTION field of the corresponding register RAM[n].POWER (n=0..7).

In System ON, retention and accessibility for a RAM section is configured in the RETENTION and POWER fields of the corresponding register RAM[n].POWER (n=0..7).

The following table summarizes the behavior of these registers.

Table 1. RAM section configuration
ConfigurationRAM section status
System on/offRAM[n].POWER.POWERRAM[n].POWER.RETENTIONAccessibleRetained
OffxOffNoNo
OffxOnNoYes
OnOffOffNoNo
OnOffOnNoYes
OnOnxYesYes

The advantage of not retaining RAM contents is that the overall current consumption is reduced.

See chapter Memory for more information on RAM sections.

Registers

Instances

InstanceDomainBase addressTrustZoneSplit accessDescription
MapAttDMA

VMC : S
VMC : NS

APPLICATION

0x50081000
0x40081000

USSNANo

Volatile memory controller

VMCNETWORK0x41081000HFNSNANo

Volatile memory controller

Configuration

InstanceDomainConfiguration

VMC : S
VMC : NS

APPLICATION
VMCNETWORK

4 RAM blocks implemented

4 RAM slaves implemented

Register overview

RegisterOffsetTZDescription
RAM[n].POWER0x600

RAM[n] power control register

RAM[n].POWERSET0x604

RAM[n] power control set register

RAM[n].POWERCLR0x608

RAM[n] power control clear register

RAM[n].POWER (n=0..7)

Address offset: 0x600 + (n × 0x10)

RAM[n] power control register

Bit number313029282726252423222120191817161514131211109876543210
IDfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
Reset 0x0000FFFF00000000000000001111111111111111
IDR/WFieldValue IDValueDescription
A-P

RW

S[i]POWER (i=0..15)

Keep RAM section Si of RAM[n] on or off in System ON mode

All RAM sections will be switched off in System OFF mode

Off

0

Off

On

1

On

Q-f

RW

S[i]RETENTION (i=0..15)

Keep retention on RAM section Si of RAM[n] when RAM section is switched off

Off

0

Off

On

1

On

RAM[n].POWERSET (n=0..7)

Address offset: 0x604 + (n × 0x10)

RAM[n] power control set register

When read, this register will return the value of the RAM[n].POWER register.

Bit number313029282726252423222120191817161514131211109876543210
IDfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
Reset 0x0000FFFF00000000000000001111111111111111
IDR/WFieldValue IDValueDescription
A-P

RW

S[i]POWER (i=0..15)

Keep RAM section Si of RAM[n] on or off in System ON mode

On

1

On

Q-f

RW

S[i]RETENTION (i=0..15)

Keep retention on RAM section Si of RAM[n] when RAM section is switched off

On

1

On

RAM[n].POWERCLR (n=0..7)

Address offset: 0x608 + (n × 0x10)

RAM[n] power control clear register

When read, this register will return the value of the RAM[n].POWER register.

Bit number313029282726252423222120191817161514131211109876543210
IDfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
Reset 0x0000FFFF00000000000000001111111111111111
IDR/WFieldValue IDValueDescription
A-P

RW

S[i]POWER (i=0..15)

Keep RAM section Si of RAM[n] on or off in System ON mode

Off

1

Off

Q-f

RW

S[i]RETENTION (i=0..15)

Keep retention on RAM section Si of RAM[n] when RAM section is switched off

Off

1

Off

1 RAM section power off gives negligible reduction in current consumption when retention is on.