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

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.