GRLIB APBUART Model

The ApbUart model is available in the ApbUart plugin. That plugin is part of the GRLIB device library feature. The ApbUart model supports both FIFO simualtion and infinite speed UARTs. In infinite speed mode bytes are sent directly when they are written to the data register.

Loading the Plugin

import ApbUart

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

new

Create new instance of ApbUart

Command new Arguments
Name Type Required Description

name

string

yes

Name of object to create

ApbUart Reference

Properties

Name Type Description

CTRLColdResetValue

uint32_t

UART control register

CTRLForcedBits

uint32_t

UART control register

CTRLForcedFlippedBits

uint32_t

UART control register

CTRLReadMask

uint32_t

UART control register

CTRLResetMask

uint32_t

UART control register

CTRLResetValue

uint32_t

UART control register

CTRLWriteMask

uint32_t

UART control register

Class

*void

Class object

Component

*void

Pointer to component object if part of component

DATAColdResetValue

uint32_t

UART data register

DATAForcedBits

uint32_t

UART data register

DATAForcedFlippedBits

uint32_t

UART data register

DATAReadMask

uint32_t

UART data register

DATAResetMask

uint32_t

UART data register

DATAResetValue

uint32_t

UART data register

DATAWriteMask

uint32_t

UART data register

DEBUG

uint32_t

UART FIFO debug register

DEBUGColdResetValue

uint32_t

UART FIFO debug register

DEBUGForcedBits

uint32_t

UART FIFO debug register

DEBUGForcedFlippedBits

uint32_t

UART FIFO debug register

DEBUGReadMask

uint32_t

UART FIFO debug register

DEBUGResetMask

uint32_t

UART FIFO debug register

DEBUGResetValue

uint32_t

UART FIFO debug register

DEBUGWriteMask

uint32_t

UART FIFO debug register

LocalName

*char

Local name (in component, if applicable)

LoggingFlags

uint64_t

Flags for logging info

Name

*char

Object name

ObjectID

uint64_t

Unique ObjectID.

SCALERColdResetValue

uint32_t

UART scaler reload register

SCALERForcedBits

uint32_t

UART scaler reload register

SCALERForcedFlippedBits

uint32_t

UART scaler reload register

SCALERReadMask

uint32_t

UART scaler reload register

SCALERResetMask

uint32_t

UART scaler reload register

SCALERResetValue

uint32_t

UART scaler reload register

SCALERWriteMask

uint32_t

UART scaler reload register

STATColdResetValue

uint32_t

UART status register

STATForcedBits

uint32_t

UART status register

STATForcedFlippedBits

uint32_t

UART status register

STATReadMask

uint32_t

UART status register

STATResetMask

uint32_t

UART status register

STATResetValue

uint32_t

UART status register

STATWriteMask

uint32_t

UART status register

TimeSource

*void

Time source object

config.clockDivider

uint32_t

Clock divider

config.fifoSize

uint8_t

UART FIFO size

config.infiniteUartSpeed

uint8_t

Set to 1 to enable immediate UARTs

config.interrupt

uint8_t

Interrupt number

config.littleEndian

uint8_t

Endianess of memory interface.

control

uint32_t

UART control register

data

uint32_t

UART data register

irqCtrl

temu_IfaceRef/ <unknown>

Interrupt controller.

pnp.bar

uint32_t

AMBA plug and play base address register

pnp.config

uint32_t

AMBA plug and play config word

rxFifo.data

[uint8_t; 32]

RX FIFO data

rxFifo.size

uint8_t

RX size

rxFifo.start

uint8_t

RX start index

rxFifo.usage

uint8_t

RX usage

scaler

uint32_t

UART scaler reload register

status

uint32_t

UART status register

tx

temu_IfaceRef/ <unknown>

Transmit target.

txFifo.data

[uint8_t; 32]

TX FIFO data

txFifo.size

uint8_t

TX size

txFifo.start

uint8_t

TX start index

txFifo.usage

uint8_t

TX usage

txShift

uint8_t

UART shift register

Interfaces

Name Type Description

ApbIface

ApbIface

AMBA plug and play interface.

DeviceIface

DeviceIface

Device interface.

MemAccessIface

MemAccessIface

Memory access interface.

Registers

temu::RegisterIface

Auto-generated Register Interface Impl.

ResetIface

ResetIface

Reset interface.

UartIface

SerialIface

Serial input interface.

Ports

Prop Iface Description

tx

UartIface

serial port

Commands

Name Description

delete

Dispose instance of ApbUart

enable-rx

Enable receiver

enable-tx

Enable transmitter

Limitations

  • Loop back mode is not presently supported.

  • Control flow (cts) is not supported.