GRLIB MEMSCRUB Model

The MEMSCRUB device is part of the GRLIB IP library. It is available in libTEMUMEMSCRUB.so.

Loading the Plugin

import MEMSCRUB

Configuration

@MEMSCRUB Reference

Properties

Name Type Description

Class

*void

Class object

Component

*void

Pointer to component object if part of component

LoggingFlags

uint64_t

Flags for logging info

Name

*char

Object name

TimeSource

*void

Time source object

Commands

Name Description

delete

Dispose instance of @MEMSCRUB

new

Create new instance of MEMSCRUB

Command new Arguments

Name Type Required Description

name

string

yes

Name of object to create

MEMSCRUB Reference

Properties

Name Type Description

AHBERC

uint32_t

AHB error config register

AHBFAR

uint32_t

AHB failing address register

AHBS

uint32_t

AHB status register

CONFIG

uint32_t

Scrubber config register

Class

*void

Class object

Component

*void

Pointer to component object if part of component

ETHRES

uint32_t

Error threshold register

INIT

uint32_t

Initialization data register

LoggingFlags

uint64_t

Flags for logging info

Name

*char

Object name

POS

uint32_t

Scrubber position register

RANGEH

uint32_t

Scrubber range high address register

RANGEH2

uint32_t

Second range end address register

RANGEL

uint32_t

Scrubber range low address register

RANGEL2

uint32_t

Second range start address register

STAT

uint32_t

Scrubber status 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

Interfaces

Name Type Description

AhbIface

AhbIface

DeviceIface

DeviceIface

MemAccessIface

MemAccessIface

ResetIface

ResetIface

Registers

Register support is currently experimental!

Register Bank default

Register AHBERC
Description

AHB error config register

Reset value

0x00000000

Warm reset mask

0x00000000

Field Mask Reset Description

-

-

-

-

Register AHBFAR
Description

AHB failing address register

Reset value

0x00000000

Warm reset mask

0x00000000

Field Mask Reset Description

-

-

-

-

Register AHBS
Description

AHB status register

Reset value

0x00000000

Warm reset mask

0x00000000

Field Mask Reset Description

-

-

-

-

Register CONFIG
Description

Scrubber config register

Reset value

0x00000000

Warm reset mask

0x00000000

Field Mask Reset Description

-

-

-

-

Register ETHRES
Description

Error threshold register

Reset value

0x00000000

Warm reset mask

0x00000000

Field Mask Reset Description

-

-

-

-

Register INIT
Description

Initialization data register

Reset value

0x00000000

Warm reset mask

0x00000000

Field Mask Reset Description

-

-

-

-

Register POS
Description

Scrubber position register

Reset value

0x00000000

Warm reset mask

0x00000000

Field Mask Reset Description

-

-

-

-

Register RANGEH
Description

Scrubber range high address register

Reset value

0x00000000

Warm reset mask

0x00000000

Field Mask Reset Description

-

-

-

-

Register RANGEH2
Description

Second range end address register

Reset value

0x00000000

Warm reset mask

0x00000000

Field Mask Reset Description

-

-

-

-

Register RANGEL
Description

Scrubber range low address register

Reset value

0x00000000

Warm reset mask

0x00000000

Field Mask Reset Description

-

-

-

-

Register RANGEL2
Description

Second range start address register

Reset value

0x00000000

Warm reset mask

0x00000000

Field Mask Reset Description

-

-

-

-

Register STAT
Description

Scrubber status register

Reset value

0x00000000

Warm reset mask

0x00000000

Field Mask Reset Description

-

-

-

-

Commands

Name Description

delete

Dispose instance of MEMSCRUB

Limitations

The device is non-functional, in that it only provides registers for reading and writing.

To inject scrubbing errors, set the registers with a fault injection model, and raise any corresponding interrupt manually.