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

LoggingFlags

uint64_t

Flags for logging info

Name

*char

Object name

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

LoggingFlags

uint64_t

Flags for logging info

Name

*char

Object name

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.

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

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

LoggingFlags

uint64_t

Flags for logging info

Name

*char

Object name

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

LoggingFlags

uint64_t

Flags for logging info

Name

*char

Object name

TimeSource

*void

Time source object

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

ResetIface

ResetIface

Commands

Name Description

delete

Dispose instance of ApbCtrl