GRLIB SPICTRL Model

The SPICTRL device is part of the GRLIB IP library. It is available in libTEMUSPICTRL.so.

Loading the Plugin

import SPICTRL

Configuration

After instantiating an object set the capability registers to the desired configuration. Do not change the capability registers during operation.

@SPICTRL 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)

LoggingFlags

uint64_t

Flags for logging info

Name

*char

Object name

ObjectID

uint64_t

Unique ObjectID.

TimeSource

*void

Time source object

Commands

Name Description

delete

Dispose instance of @SPICTRL

new

Create new instance of SPICTRL

Command new Arguments

Name Type Required Description

name

string

yes

Name of object to create

SPICTRL Reference

Properties

Name Type Description

AMCFG

uint32_t

AM configuration register

AMCFGColdResetValue

uint32_t

AM configuration register

AMCFGForcedBits

uint32_t

AM configuration register

AMCFGForcedFlippedBits

uint32_t

AM configuration register

AMCFGReadMask

uint32_t

AM configuration register

AMCFGResetMask

uint32_t

AM configuration register

AMCFGResetValue

uint32_t

AM configuration register

AMCFGWriteMask

uint32_t

AM configuration register

AMPER

uint32_t

AM period register

AMPERColdResetValue

uint32_t

AM period register

AMPERForcedBits

uint32_t

AM period register

AMPERForcedFlippedBits

uint32_t

AM period register

AMPERReadMask

uint32_t

AM period register

AMPERResetMask

uint32_t

AM period register

AMPERResetValue

uint32_t

AM period register

AMPERWriteMask

uint32_t

AM period register

ASLVSEL

uint32_t

Automatic slave select register

ASLVSELColdResetValue

uint32_t

Automatic slave select register

ASLVSELForcedBits

uint32_t

Automatic slave select register

ASLVSELForcedFlippedBits

uint32_t

Automatic slave select register

ASLVSELReadMask

uint32_t

Automatic slave select register

ASLVSELResetMask

uint32_t

Automatic slave select register

ASLVSELResetValue

uint32_t

Automatic slave select register

ASLVSELWriteMask

uint32_t

Automatic slave select register

CAP0

uint32_t

Capability register 0

CAP0ColdResetValue

uint32_t

Capability register 0

CAP0ForcedBits

uint32_t

Capability register 0

CAP0ForcedFlippedBits

uint32_t

Capability register 0

CAP0ReadMask

uint32_t

Capability register 0

CAP0ResetMask

uint32_t

Capability register 0

CAP0ResetValue

uint32_t

Capability register 0

CAP0WriteMask

uint32_t

Capability register 0

CAP1

uint32_t

Capability register 1

CAP1ColdResetValue

uint32_t

Capability register 1

CAP1ForcedBits

uint32_t

Capability register 1

CAP1ForcedFlippedBits

uint32_t

Capability register 1

CAP1ReadMask

uint32_t

Capability register 1

CAP1ResetMask

uint32_t

Capability register 1

CAP1ResetValue

uint32_t

Capability register 1

CAP1WriteMask

uint32_t

Capability register 1

CMD

uint32_t

Command register

CMDColdResetValue

uint32_t

Command register

CMDForcedBits

uint32_t

Command register

CMDForcedFlippedBits

uint32_t

Command register

CMDReadMask

uint32_t

Command register

CMDResetMask

uint32_t

Command register

CMDResetValue

uint32_t

Command register

CMDWriteMask

uint32_t

Command register

Class

*void

Class object

Component

*void

Pointer to component object if part of component

EVENT

uint32_t

Event register

EVENTColdResetValue

uint32_t

Event register

EVENTForcedBits

uint32_t

Event register

EVENTForcedFlippedBits

uint32_t

Event register

EVENTReadMask

uint32_t

Event register

EVENTResetMask

uint32_t

Event register

EVENTResetValue

uint32_t

Event register

EVENTWriteMask

uint32_t

Event register

LocalName

*char

Local name (in component, if applicable)

LoggingFlags

uint64_t

Flags for logging info

MASK

uint32_t

Mask register

MASKColdResetValue

uint32_t

Mask register

MASKForcedBits

uint32_t

Mask register

MASKForcedFlippedBits

uint32_t

Mask register

MASKReadMask

uint32_t

Mask register

MASKResetMask

uint32_t

Mask register

MASKResetValue

uint32_t

Mask register

MASKWriteMask

uint32_t

Mask register

MODE

uint32_t

Mode register

MODEColdResetValue

uint32_t

Mode register

MODEForcedBits

uint32_t

Mode register

MODEForcedFlippedBits

uint32_t

Mode register

MODEReadMask

uint32_t

Mode register

MODEResetMask

uint32_t

Mode register

MODEResetValue

uint32_t

Mode register

MODEWriteMask

uint32_t

Mode register

Name

*char

Object name

ObjectID

uint64_t

Unique ObjectID.

RXC

uint32_t

Receive register

RXCColdResetValue

uint32_t

Receive register

RXCForcedBits

uint32_t

Receive register

RXCForcedFlippedBits

uint32_t

Receive register

RXCReadMask

uint32_t

Receive register

RXCResetMask

uint32_t

Receive register

RXCResetValue

uint32_t

Receive register

RXCWriteMask

uint32_t

Receive register

Rx/TxFifo

[temu_Vector; 2]

Rx/TxFifo queues

SLVSEL

uint32_t

Slave select register

SLVSELColdResetValue

uint32_t

Slave select register

SLVSELForcedBits

uint32_t

Slave select register

SLVSELForcedFlippedBits

uint32_t

Slave select register

SLVSELReadMask

uint32_t

Slave select register

SLVSELResetMask

uint32_t

Slave select register

SLVSELResetValue

uint32_t

Slave select register

SLVSELWriteMask

uint32_t

Slave select register

TX

uint32_t

Transmit register

TXColdResetValue

uint32_t

Transmit register

TXForcedBits

uint32_t

Transmit register

TXForcedFlippedBits

uint32_t

Transmit register

TXReadMask

uint32_t

Transmit register

TXResetMask

uint32_t

Transmit register

TXResetValue

uint32_t

Transmit register

TXWriteMask

uint32_t

Transmit register

TimeSource

*void

Time source object

chipNumber

uint8_t

chipSelect ID of the device

config.irq

uint8_t

Interrupt number

irqCtrl

temu_IfaceRef/ <unknown>

IRQ controller.

pnp.bar

uint32_t

AMBA plug and play base address register

pnp.config

uint32_t

AMBA plug and play config word

spiBus

temu_IfaceRef/ <unknown>

Spi bus

Interfaces

Name Type Description

ApbIface

ApbIface

APB P&P interface.

DeviceIface

DeviceIface

MemAccessIface

MemAccessIface

Registers

temu::RegisterIface

SpiSlaveDevice2Iface

temu::SpiSlaveDevice2Iface

Communication interface.

Commands

Name Description

delete

Dispose instance of SPICTRL

Limitations

  • Transmission delays and other timing effects are not modelled

  • The Slave Select functionality is not implemented

  • Automated periodic transfers are not implemented

  • Fault tolerance capabilities are not modelled