Classes

There are two important classes provided, the AhbCtrl and ApbCtrl classes. These are available in libTEMUAhbCtrl.so and libTEMUApbCtrl.so.

When configuring a non-standard LEON3 / LEON4 based processor, the AHB and APB controllers must be instantiated and connected to devices implementing the plug and play interfaces. For the AhbCtrl class, connections is done using the masters and slaves array properties. For the ApbCtrl class, only the slaves property exist.

@AhbCtrl 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 @AhbCtrl

new

Create new instance of AhbCtrl

Command new Arguments

Name Type Required Description

name

string

yes

Name of object to create

AhbCtrl 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

config.SoCID

uint32_t

SoCID to return at offset 0xff0 if enabled.

config.enableSoCID

uint8_t

Enable SoCID at offset 0xff0.

config.littleEndian

uint8_t

Endianess of memory interface.

masters

[temu_IfaceRef; 64]/ <unknown>

AHB master devices.

slaves

[temu_IfaceRef; 64]/ <unknown>

AHB slave devices.

Interfaces

Name Type Description

DeviceIface

DeviceIface

MemAccessIface

MemAccessIface

ObjectIface

ObjectIface

RegisterIface

temu::RegisterIface

Auto-generated Register Interface Impl.

ResetIface

ResetIface

Commands

Name Description

delete

Dispose instance of AhbCtrl

@ApbCtrl 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 @ApbCtrl

new

Create new instance of ApbCtrl

Command new Arguments

Name Type Required Description

name

string

yes

Name of object to create

ApbCtrl 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

config.littleEndian

uint8_t

Endianess of memory interface.

pnp.bar

[uint32_t; 4]

pnp.identReg

uint32_t

pnp.userDef

[uint32_t; 3]

slaves

[temu_IfaceRef; 512]/ <unknown>

APB slaves.

Interfaces

Name Type Description

AhbIface

AhbIface

DeviceIface

DeviceIface

MemAccessIface

MemAccessIface

ObjectIface

ObjectIface

RegisterIface

temu::RegisterIface

Auto-generated Register Interface Impl.

ResetIface

ResetIface

Commands

Name Description

delete

Dispose instance of ApbCtrl

@AHB2AHB 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 @AHB2AHB

new

Create new instance of AHB2AHB

Command new Arguments

Name Type Required Description

name

string

yes

Name of object to create

AHB2AHB 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

masterPnp.bar

[uint32_t; 4]

AMBA plug and play base address register

masterPnp.ident

uint32_t

AMBA plug and play config word

masterPnp.user

[uint32_t; 3]

AMBA plug and play user words

slavePnp.bar

[uint32_t; 4]

AMBA plug and play base address register

slavePnp.ident

uint32_t

AMBA plug and play config word

slavePnp.user

[uint32_t; 3]

AMBA plug and play user words

Interfaces

Name Type Description

MasterAhbIface

AhbIface

ResetIface

ResetIface

SlaveAhbIface

AhbIface

Commands

Name Description

delete

Dispose instance of AHB2AHB

@AhbStat 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 @AhbStat

new

Create new instance of AhbStat

Command new Arguments

Name Type Required Description

name

string

yes

Name of object to create

AhbStat Reference

Properties

Name Type Description

AHBFAR2ColdResetValue

uint32_t

AHB Failing address register

AHBFAR2ForcedBits

uint32_t

AHB Failing address register

AHBFAR2ForcedFlippedBits

uint32_t

AHB Failing address register

AHBFAR2ReadMask

uint32_t

AHB Failing address register

AHBFAR2ResetMask

uint32_t

AHB Failing address register

AHBFAR2ResetValue

uint32_t

AHB Failing address register

AHBFAR2WriteMask

uint32_t

AHB Failing address register

AHBFARColdResetValue

uint32_t

AHB Failing address register

AHBFARForcedBits

uint32_t

AHB Failing address register

AHBFARForcedFlippedBits

uint32_t

AHB Failing address register

AHBFARReadMask

uint32_t

AHB Failing address register

AHBFARResetMask

uint32_t

AHB Failing address register

AHBFARResetValue

uint32_t

AHB Failing address register

AHBFARWriteMask

uint32_t

AHB Failing address register

AHBS2ColdResetValue

uint32_t

AHB Status register

AHBS2ForcedBits

uint32_t

AHB Status register

AHBS2ForcedFlippedBits

uint32_t

AHB Status register

AHBS2ReadMask

uint32_t

AHB Status register

AHBS2ResetMask

uint32_t

AHB Status register

AHBS2ResetValue

uint32_t

AHB Status register

AHBS2WriteMask

uint32_t

AHB Status register

AHBSColdResetValue

uint32_t

AHB Status register

AHBSForcedBits

uint32_t

AHB Status register

AHBSForcedFlippedBits

uint32_t

AHB Status register

AHBSReadMask

uint32_t

AHB Status register

AHBSResetMask

uint32_t

AHB Status register

AHBSResetValue

uint32_t

AHB Status register

AHBSWriteMask

uint32_t

AHB Status register

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

config.interrupt

uint8_t

config.littleEndian

uint8_t

Endianess of memory interface.

failingAddrReg

uint32_t

AHB Failing address register

failingAddrReg2

uint32_t

AHB Failing address register

irqCtrl

temu_IfaceRef/ <unknown>

Interrupt controller.

pnp.bar

uint32_t

pnp.config

uint32_t

statusReg

uint32_t

AHB Status register

statusReg2

uint32_t

AHB Status register

Interfaces

Name Type Description

AbsentMemoryIface

MemAccessIface

ApbIface

ApbIface

CorrectableErrorIface

MemAccessIface

DeviceIface

DeviceIface

MemAccessIface

MemAccessIface

RegisterIface

temu::RegisterIface

Auto-generated Register Interface Impl.

ResetIface

ResetIface

UncorrectableErrorIface

MemAccessIface

Commands

Name Description

delete

Dispose instance of AhbStat