GRLIB MMCTRL Model

The MMCTRL device is part of the GRLIB IP library. It is available in libTEMUMMCTRL.so.

Loading the Plugin

import MMCTRL

Configuration

@MMCTRL Reference

Properties

Name Type Description

Class

*void

Class object

Component

*void

Pointer to component object if part of component

LocalName

*char

Local name (in component, if applicable)

LogMessageFlags

uint64_t

Per-object log message suppression flags

LoggingFlags

uint64_t

Flags for logging info

Name

*char

Object name

ObjectID

uint64_t

Unique ObjectID.

ReplayLoggingFlags

uint64_t

Replay-time category logging flags

TimeSource

*void

Time source object

Commands

Name Description

delete

Dispose instance of @MMCTRL

new

Create new instance of MMCTRL

Command new Arguments

Name Type Required Description

name

string

yes

Name of object to create

MMCTRL Reference

Properties

Name Type Description

Class

*void

Class object

Component

*void

Pointer to component object if part of component

FTBND

uint32_t

FT boundary address register

FTBNDColdResetValue

uint32_t

FT boundary address register

FTBNDForcedBits

uint32_t

FT boundary address register

FTBNDForcedFlippedBits

uint32_t

FT boundary address register

FTBNDReadMask

uint32_t

FT boundary address register

FTBNDResetMask

uint32_t

FT boundary address register

FTBNDResetValue

uint32_t

FT boundary address register

FTBNDWriteMask

uint32_t

FT boundary address register

FTDA

uint32_t

FT diagnostic address register

FTDAColdResetValue

uint32_t

FT diagnostic address register

FTDAForcedBits

uint32_t

FT diagnostic address register

FTDAForcedFlippedBits

uint32_t

FT diagnostic address register

FTDAReadMask

uint32_t

FT diagnostic address register

FTDAResetMask

uint32_t

FT diagnostic address register

FTDAResetValue

uint32_t

FT diagnostic address register

FTDAWriteMask

uint32_t

FT diagnostic address register

FTDC

uint32_t

FT diagnostic checkbits register

FTDCColdResetValue

uint32_t

FT diagnostic checkbits register

FTDCForcedBits

uint32_t

FT diagnostic checkbits register

FTDCForcedFlippedBits

uint32_t

FT diagnostic checkbits register

FTDCReadMask

uint32_t

FT diagnostic checkbits register

FTDCResetMask

uint32_t

FT diagnostic checkbits register

FTDCResetValue

uint32_t

FT diagnostic checkbits register

FTDCWriteMask

uint32_t

FT diagnostic checkbits register

FTDD

uint32_t

FT diagnostic data register

FTDDColdResetValue

uint32_t

FT diagnostic data register

FTDDForcedBits

uint32_t

FT diagnostic data register

FTDDForcedFlippedBits

uint32_t

FT diagnostic data register

FTDDReadMask

uint32_t

FT diagnostic data register

FTDDResetMask

uint32_t

FT diagnostic data register

FTDDResetValue

uint32_t

FT diagnostic data register

FTDDWriteMask

uint32_t

FT diagnostic data register

LocalName

*char

Local name (in component, if applicable)

LogMessageFlags

uint64_t

Per-object log message suppression flags

LoggingFlags

uint64_t

Flags for logging info

MUXCFG

uint32_t

Mux configuration register

MUXCFGColdResetValue

uint32_t

Mux configuration register

MUXCFGForcedBits

uint32_t

Mux configuration register

MUXCFGForcedFlippedBits

uint32_t

Mux configuration register

MUXCFGReadMask

uint32_t

Mux configuration register

MUXCFGResetMask

uint32_t

Mux configuration register

MUXCFGResetValue

uint32_t

Mux configuration register

MUXCFGWriteMask

uint32_t

Mux configuration register

Name

*char

Object name

ObjectID

uint64_t

Unique ObjectID.

ReplayLoggingFlags

uint64_t

Replay-time category logging flags

SDCFG

[uint32_t; 2]

SDRAM configuration register

TimeSource

*void

Time source object

ahb.pnp.bar

[uint32_t; 4]

AMBA plug and play base address register

ahb.pnp.identReg

uint32_t

AMBA plug and play config word

ahb.pnp.userDef

[uint32_t; 3]

AMBA plug and play user words

config.littleEndian

uint8_t

Endianess of memory interface.

Interfaces

Name Type Description

AhbIface

AhbIface

DeviceIface

DeviceIface

MemAccessIface

MemAccessIface

RegisterIface

temu::RegisterIface

Auto-generated Register Interface Impl.

ResetIface

ResetIface

Registers

Register support is currently experimental!

Register Bank Regs

Register MUXCFG
Description

Mux configuration register

Reset value

0x00001000

Warm reset mask

0xfffff0ff

Diagram
Field Mask Reset Description

ERRLOC

0xfff00000

0x0

Diagnostic data read error location

DERR

0x00080000

0x0

Last diagnostic data read contained an uncorrectable error

DWIDTH

0x00070000

0x0

Data width

BEID

0x0000f000

0x1

Back-end identifier

DATAMUX

0x000000e0

0x0

Data mux control

CEM

0x00000010

0x0

Correctable error masking

BAUPD

0x00000008

0x0

Enable automatic boundary shifting on write

BAEN

0x00000004

0x0

Enable the code boundary

CODE

0x00000002

0x0

Code selection

EDEN

0x00000001

0x0

EDAC enable

Register FTDA
Description

FT diagnostic address register

Reset value

0x00000000

Warm reset mask

0xfffffffc

Diagram
Field Mask Reset Description

FTDA

0xfffffffc

0x0

Address to memory location for checkbit read/write

Register FTDC
Description

FT diagnostic checkbits register

Reset value

0x00000000

Warm reset mask

0x00000000

Diagram
Field Mask Reset Description

CBD

0xff000000

-

Checkbits for part D of 64-bit data word

CBC

0x00ff0000

-

Checkbits for part C of 64-bit data word

CBB

0x0000ff00

-

Checkbits for part B of 64-bit data word

CBA

0x000000ff

-

Checkbits for part A of 64-bit data word

Register FTDD
Description

FT diagnostic data register

Reset value

0x00000000

Warm reset mask

0x00000000

Diagram
Field Mask Reset Description

DATA

0xffffffff

-

Uncorrected data

Register FTBND
Description

FT boundary address register

Reset value

0x00000000

Warm reset mask

0xfffffff8

Diagram
Field Mask Reset Description

FTBND

0xfffffff8

0x0

Code boundary address

Register SDCFG1
Description

SDRAM configuration register

Reset value

0x7c400000

Warm reset mask

0xfffdffff

Diagram
Field Mask Reset Description

RF

0x80000000

0x0

SDRAM refresh

tRP

0x40000000

0x1

SDRAM tRP timing

tRFC

0x38000000

0x7

SDRAM tRFC timing

tC

0x04000000

0x1

SDRAM CAS delay

BANKSZ

0x03800000

0x0

SDRAM banks size

COLSZ

0x00600000

0x2

SDRAM column size

COMMAND

0x001c0000

0x0

SDRAM command

MS

0x00010000

0x0

Mobile SDRAM support

64

0x00008000

0x0

64-bit data bus

RFLOAD

0x00007fff

0x0

Refresh counter reload value

Register SDCFG2
Description

SDRAM configuration register 2

Reset value

0x40000000

Warm reset mask

0x4000e000

Diagram
Field Mask Reset Description

CE

0x40000000

0x1

Clock enable

EN2T

0x00008000

0x0

Enable 2T signaling

DCS

0x00004000

0x0

Double chip select mode

BPARK

0x00002000

0x0

Bus parking enable

Commands

Name Description

delete

Dispose instance of MMCTRL

Limitations

The MMCTRL device is non-functional, providing only registers and PNP data. To raise memory controller errors, the users is expected to implement a fault injection model, which sets the registers and raises relevant interrupts.