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 the controllers should be connected to any devices implementing the plug and play interfaces. For the AhbCtrl class, the property to connect is the masters and slaves arrays, and 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

masters

[temu_IfaceRef; 64]/ <unknown>

slaves

[temu_IfaceRef; 64]/ <unknown>

Interfaces

Name Type Description

DeviceIface

DeviceIface

MemAccessIface

MemAccessIface

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>

Interfaces

Name Type Description

AhbIface

AhbIface

DeviceIface

DeviceIface

MemAccessIface

MemAccessIface

ResetIface

ResetIface

Commands

Name Description

delete

Dispose instance of ApbCtrl