Configuration
Interrupt Delivery
Set the irqControl property to point out the processor’s irq interface. The model will deliver normal SPARC interrupts (1 up to 15). The LEON2 also exports the IrqCtrlIface as IrqIface. IrqClientIface should be wired from the CPU the LEON2 model is connected to.
The IrqIface enables the use of external interrupts using the raise and lower functions. The LEON2 has 8 external IRQs mapped according to the following table (the mappings cannot be customised at present):
| External | Internal (Sparc IRL) |
|---|---|
0 |
4 |
1 |
5 |
2 |
6 |
3 |
7 |
4 |
10 |
5 |
12 |
6 |
13 |
7 |
15 |
The rules for IRQ raising is controlled by the GPIO IRQ config registers (it is also possible to raise IRQs by setting and lowering GPIO pins).
UART Connections
The UARTs are connected to the destination using the uarta and uartb properties. For the remote end points, these should be connected to UartAIface and UartBIface.
Infinite UART Speed
The UARTs can run either at infinite speed, or at simulated real-time speed. This can be configured using the infiniteUartSpeed property. Set this property to non-zero to enable infinite UART speed.
Note that this controls the speed of both UARTs.
When infinite speed is enabled, bytes are emitted to the destination serial device as soon as they have been written by the OBSW.
GPIO
The GPIO support in the LEON2 model supports interrupt generation using the GPIO interface instead of the IRQ controller interface. Model implements both the GpioClientIface and a property with a GpioBusIface reference (called gpioBus). The GPIO bus connection is not mandatory to set. If it is set, writes to the GPIO data register’s out bits will be forwarded over the GPIO port. Note that the LEON2 only have 16 GPIO pins.
Both the legacy multipin GpioBusIface and the new single pin SignalIface are supported. The model will prioritise the legacy interface for backwards compatibility. If you wish to use the SignalIface interface you should not set the gpioBus property.
Caches
The LEON2 SoC can act as a cache controller. That means that a cache model can notify the SoC about when it starts an evict/flush operation. The controller will also notify any connected caches about enabling, disabling and freezing events happening.
The cache parameters in the cache control register and the product configuration register are set automatically when connecting the dCache and iCache interface references to conforming objects.
| When connecting the cache references, make sure the caches are configured before they are connected. |
The caches that these interface references are connected to should normally be compliant with the supported LEON2 cache parameters. That is, there is a limitation on the sizes, lines and ways.
While the model does a best effort in trying to report errors when a miss-configured cache model is supplied, take care to ensure that the model is correctly configured.
@Leon2SoC 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 |
Leon2SoC Reference
Properties
| Name | Type | Description |
|---|---|---|
CCRColdResetValue |
uint32_t |
Cache Control Register |
CCRForcedBits |
uint32_t |
Cache Control Register |
CCRForcedFlippedBits |
uint32_t |
Cache Control Register |
CCRReadMask |
uint32_t |
Cache Control Register |
CCRResetMask |
uint32_t |
Cache Control Register |
CCRResetValue |
uint32_t |
Cache Control Register |
CCRWriteMask |
uint32_t |
Cache Control Register |
Class |
*void |
Class object |
Component |
*void |
Pointer to component object if part of component |
FAILARColdResetValue |
uint32_t |
Fail Address Register |
FAILARForcedBits |
uint32_t |
Fail Address Register |
FAILARForcedFlippedBits |
uint32_t |
Fail Address Register |
FAILARReadMask |
uint32_t |
Fail Address Register |
FAILARResetMask |
uint32_t |
Fail Address Register |
FAILARResetValue |
uint32_t |
Fail Address Register |
FAILARWriteMask |
uint32_t |
Fail Address Register |
FAILSRColdResetValue |
uint32_t |
Fail Status Register |
FAILSRForcedBits |
uint32_t |
Fail Status Register |
FAILSRForcedFlippedBits |
uint32_t |
Fail Status Register |
FAILSRReadMask |
uint32_t |
Fail Status Register |
FAILSRResetMask |
uint32_t |
Fail Status Register |
FAILSRResetValue |
uint32_t |
Fail Status Register |
FAILSRWriteMask |
uint32_t |
Fail Status Register |
IDLEColdResetValue |
uint32_t |
Idle Register |
IDLEForcedBits |
uint32_t |
Idle Register |
IDLEForcedFlippedBits |
uint32_t |
Idle Register |
IDLEReadMask |
uint32_t |
Idle Register |
IDLEResetMask |
uint32_t |
Idle Register |
IDLEResetValue |
uint32_t |
Idle Register |
IDLEWriteMask |
uint32_t |
Idle Register |
IODATColdResetValue |
uint32_t |
I/O Port Data Register |
IODATForcedBits |
uint32_t |
I/O Port Data Register |
IODATForcedFlippedBits |
uint32_t |
I/O Port Data Register |
IODATReadMask |
uint32_t |
I/O Port Data Register |
IODATResetMask |
uint32_t |
I/O Port Data Register |
IODATResetValue |
uint32_t |
I/O Port Data Register |
IODATWriteMask |
uint32_t |
I/O Port Data Register |
IODIRColdResetValue |
uint32_t |
I/O Port Direction Register |
IODIRForcedBits |
uint32_t |
I/O Port Direction Register |
IODIRForcedFlippedBits |
uint32_t |
I/O Port Direction Register |
IODIRReadMask |
uint32_t |
I/O Port Direction Register |
IODIRResetMask |
uint32_t |
I/O Port Direction Register |
IODIRResetValue |
uint32_t |
I/O Port Direction Register |
IODIRWriteMask |
uint32_t |
I/O Port Direction Register |
IOIT1ColdResetValue |
uint32_t |
I/O Port Interrupt Register 1 |
IOIT1ForcedBits |
uint32_t |
I/O Port Interrupt Register 1 |
IOIT1ForcedFlippedBits |
uint32_t |
I/O Port Interrupt Register 1 |
IOIT1ReadMask |
uint32_t |
I/O Port Interrupt Register 1 |
IOIT1ResetMask |
uint32_t |
I/O Port Interrupt Register 1 |
IOIT1ResetValue |
uint32_t |
I/O Port Interrupt Register 1 |
IOIT1WriteMask |
uint32_t |
I/O Port Interrupt Register 1 |
IOIT2ColdResetValue |
uint32_t |
I/O Port Interrupt Register 2 |
IOIT2ForcedBits |
uint32_t |
I/O Port Interrupt Register 2 |
IOIT2ForcedFlippedBits |
uint32_t |
I/O Port Interrupt Register 2 |
IOIT2ReadMask |
uint32_t |
I/O Port Interrupt Register 2 |
IOIT2ResetMask |
uint32_t |
I/O Port Interrupt Register 2 |
IOIT2ResetValue |
uint32_t |
I/O Port Interrupt Register 2 |
IOIT2WriteMask |
uint32_t |
I/O Port Interrupt Register 2 |
ITCColdResetValue |
uint32_t |
Interrupt Clear Register |
ITCForcedBits |
uint32_t |
Interrupt Clear Register |
ITCForcedFlippedBits |
uint32_t |
Interrupt Clear Register |
ITCReadMask |
uint32_t |
Interrupt Clear Register |
ITCResetMask |
uint32_t |
Interrupt Clear Register |
ITCResetValue |
uint32_t |
Interrupt Clear Register |
ITCWriteMask |
uint32_t |
Interrupt Clear Register |
ITFColdResetValue |
uint32_t |
Interrupt Force Register |
ITFForcedBits |
uint32_t |
Interrupt Force Register |
ITFForcedFlippedBits |
uint32_t |
Interrupt Force Register |
ITFReadMask |
uint32_t |
Interrupt Force Register |
ITFResetMask |
uint32_t |
Interrupt Force Register |
ITFResetValue |
uint32_t |
Interrupt Force Register |
ITFWriteMask |
uint32_t |
Interrupt Force Register |
ITMPColdResetValue |
uint32_t |
Interrupt Mask and Priority Register |
ITMPForcedBits |
uint32_t |
Interrupt Mask and Priority Register |
ITMPForcedFlippedBits |
uint32_t |
Interrupt Mask and Priority Register |
ITMPReadMask |
uint32_t |
Interrupt Mask and Priority Register |
ITMPResetMask |
uint32_t |
Interrupt Mask and Priority Register |
ITMPResetValue |
uint32_t |
Interrupt Mask and Priority Register |
ITMPWriteMask |
uint32_t |
Interrupt Mask and Priority Register |
ITPColdResetValue |
uint32_t |
Interrupt Pending Register |
ITPForcedBits |
uint32_t |
Interrupt Pending Register |
ITPForcedFlippedBits |
uint32_t |
Interrupt Pending Register |
ITPReadMask |
uint32_t |
Interrupt Pending Register |
ITPResetMask |
uint32_t |
Interrupt Pending Register |
ITPResetValue |
uint32_t |
Interrupt Pending Register |
ITPWriteMask |
uint32_t |
Interrupt Pending Register |
LocalName |
*char |
Local name (in component, if applicable) |
LogMessageFlags |
uint64_t |
Per-object log message suppression flags |
LoggingFlags |
uint64_t |
Flags for logging info |
MCFG1ColdResetValue |
uint32_t |
Memory Configuration Register 1 |
MCFG1ForcedBits |
uint32_t |
Memory Configuration Register 1 |
MCFG1ForcedFlippedBits |
uint32_t |
Memory Configuration Register 1 |
MCFG1ReadMask |
uint32_t |
Memory Configuration Register 1 |
MCFG1ResetMask |
uint32_t |
Memory Configuration Register 1 |
MCFG1ResetValue |
uint32_t |
Memory Configuration Register 1 |
MCFG1WriteMask |
uint32_t |
Memory Configuration Register 1 |
MCFG2ColdResetValue |
uint32_t |
Memory Configuration Register 2 |
MCFG2ForcedBits |
uint32_t |
Memory Configuration Register 2 |
MCFG2ForcedFlippedBits |
uint32_t |
Memory Configuration Register 2 |
MCFG2ReadMask |
uint32_t |
Memory Configuration Register 2 |
MCFG2ResetMask |
uint32_t |
Memory Configuration Register 2 |
MCFG2ResetValue |
uint32_t |
Memory Configuration Register 2 |
MCFG2WriteMask |
uint32_t |
Memory Configuration Register 2 |
MCFG3ColdResetValue |
uint32_t |
Memory Configuration Register 3 |
MCFG3ForcedBits |
uint32_t |
Memory Configuration Register 3 |
MCFG3ForcedFlippedBits |
uint32_t |
Memory Configuration Register 3 |
MCFG3ReadMask |
uint32_t |
Memory Configuration Register 3 |
MCFG3ResetMask |
uint32_t |
Memory Configuration Register 3 |
MCFG3ResetValue |
uint32_t |
Memory Configuration Register 3 |
MCFG3WriteMask |
uint32_t |
Memory Configuration Register 3 |
Name |
*char |
Object name |
ObjectID |
uint64_t |
Unique ObjectID. |
PCRColdResetValue |
uint32_t |
Product Configuration Register |
PCRForcedBits |
uint32_t |
Product Configuration Register |
PCRForcedFlippedBits |
uint32_t |
Product Configuration Register |
PCRReadMask |
uint32_t |
Product Configuration Register |
PCRResetMask |
uint32_t |
Product Configuration Register |
PCRResetValue |
uint32_t |
Product Configuration Register |
PCRWriteMask |
uint32_t |
Product Configuration Register |
ReplayLoggingFlags |
uint64_t |
Replay-time category logging flags |
SCACColdResetValue |
uint32_t |
Prescaler Counter Register |
SCACForcedBits |
uint32_t |
Prescaler Counter Register |
SCACForcedFlippedBits |
uint32_t |
Prescaler Counter Register |
SCACReadMask |
uint32_t |
Prescaler Counter Register |
SCACResetMask |
uint32_t |
Prescaler Counter Register |
SCACResetValue |
uint32_t |
Prescaler Counter Register |
SCACWriteMask |
uint32_t |
Prescaler Counter Register |
SCARColdResetValue |
uint32_t |
Prescaler Reload Register |
SCARForcedBits |
uint32_t |
Prescaler Reload Register |
SCARForcedFlippedBits |
uint32_t |
Prescaler Reload Register |
SCARReadMask |
uint32_t |
Prescaler Reload Register |
SCARResetMask |
uint32_t |
Prescaler Reload Register |
SCARResetValue |
uint32_t |
Prescaler Reload Register |
SCARWriteMask |
uint32_t |
Prescaler Reload Register |
TIMC1ColdResetValue |
uint32_t |
Timer 1 Counter Register |
TIMC1ForcedBits |
uint32_t |
Timer 1 Counter Register |
TIMC1ForcedFlippedBits |
uint32_t |
Timer 1 Counter Register |
TIMC1ReadMask |
uint32_t |
Timer 1 Counter Register |
TIMC1ResetMask |
uint32_t |
Timer 1 Counter Register |
TIMC1ResetValue |
uint32_t |
Timer 1 Counter Register |
TIMC1WriteMask |
uint32_t |
Timer 1 Counter Register |
TIMC2ColdResetValue |
uint32_t |
Timer 2 Counter Register |
TIMC2ForcedBits |
uint32_t |
Timer 2 Counter Register |
TIMC2ForcedFlippedBits |
uint32_t |
Timer 2 Counter Register |
TIMC2ReadMask |
uint32_t |
Timer 2 Counter Register |
TIMC2ResetMask |
uint32_t |
Timer 2 Counter Register |
TIMC2ResetValue |
uint32_t |
Timer 2 Counter Register |
TIMC2WriteMask |
uint32_t |
Timer 2 Counter Register |
TIMCTR1ColdResetValue |
uint32_t |
Timer 1 Control Register |
TIMCTR1ForcedBits |
uint32_t |
Timer 1 Control Register |
TIMCTR1ForcedFlippedBits |
uint32_t |
Timer 1 Control Register |
TIMCTR1ReadMask |
uint32_t |
Timer 1 Control Register |
TIMCTR1ResetMask |
uint32_t |
Timer 1 Control Register |
TIMCTR1ResetValue |
uint32_t |
Timer 1 Control Register |
TIMCTR1WriteMask |
uint32_t |
Timer 1 Control Register |
TIMCTR2ColdResetValue |
uint32_t |
Timer 2 Control Register |
TIMCTR2ForcedBits |
uint32_t |
Timer 2 Control Register |
TIMCTR2ForcedFlippedBits |
uint32_t |
Timer 2 Control Register |
TIMCTR2ReadMask |
uint32_t |
Timer 2 Control Register |
TIMCTR2ResetMask |
uint32_t |
Timer 2 Control Register |
TIMCTR2ResetValue |
uint32_t |
Timer 2 Control Register |
TIMCTR2WriteMask |
uint32_t |
Timer 2 Control Register |
TIMR1ColdResetValue |
uint32_t |
Timer 1 Reload Register |
TIMR1ForcedBits |
uint32_t |
Timer 1 Reload Register |
TIMR1ForcedFlippedBits |
uint32_t |
Timer 1 Reload Register |
TIMR1ReadMask |
uint32_t |
Timer 1 Reload Register |
TIMR1ResetMask |
uint32_t |
Timer 1 Reload Register |
TIMR1ResetValue |
uint32_t |
Timer 1 Reload Register |
TIMR1WriteMask |
uint32_t |
Timer 1 Reload Register |
TIMR2ColdResetValue |
uint32_t |
Timer 2 Reload Register |
TIMR2ForcedBits |
uint32_t |
Timer 2 Reload Register |
TIMR2ForcedFlippedBits |
uint32_t |
Timer 2 Reload Register |
TIMR2ReadMask |
uint32_t |
Timer 2 Reload Register |
TIMR2ResetMask |
uint32_t |
Timer 2 Reload Register |
TIMR2ResetValue |
uint32_t |
Timer 2 Reload Register |
TIMR2WriteMask |
uint32_t |
Timer 2 Reload Register |
TimeSource |
*void |
Time source object |
UAC1ColdResetValue |
uint32_t |
UART 1 Control Register |
UAC1ForcedBits |
uint32_t |
UART 1 Control Register |
UAC1ForcedFlippedBits |
uint32_t |
UART 1 Control Register |
UAC1ReadMask |
uint32_t |
UART 1 Control Register |
UAC1ResetMask |
uint32_t |
UART 1 Control Register |
UAC1ResetValue |
uint32_t |
UART 1 Control Register |
UAC1WriteMask |
uint32_t |
UART 1 Control Register |
UAC2ColdResetValue |
uint32_t |
UART 2 Control Register |
UAC2ForcedBits |
uint32_t |
UART 2 Control Register |
UAC2ForcedFlippedBits |
uint32_t |
UART 2 Control Register |
UAC2ReadMask |
uint32_t |
UART 2 Control Register |
UAC2ResetMask |
uint32_t |
UART 2 Control Register |
UAC2ResetValue |
uint32_t |
UART 2 Control Register |
UAC2WriteMask |
uint32_t |
UART 2 Control Register |
UAD1ColdResetValue |
uint32_t |
UART 1 Data Register |
UAD1ForcedBits |
uint32_t |
UART 1 Data Register |
UAD1ForcedFlippedBits |
uint32_t |
UART 1 Data Register |
UAD1ReadMask |
uint32_t |
UART 1 Data Register |
UAD1ResetMask |
uint32_t |
UART 1 Data Register |
UAD1ResetValue |
uint32_t |
UART 1 Data Register |
UAD1WriteMask |
uint32_t |
UART 1 Data Register |
UAD2ColdResetValue |
uint32_t |
UART 2 Data Register |
UAD2ForcedBits |
uint32_t |
UART 2 Data Register |
UAD2ForcedFlippedBits |
uint32_t |
UART 2 Data Register |
UAD2ReadMask |
uint32_t |
UART 2 Data Register |
UAD2ResetMask |
uint32_t |
UART 2 Data Register |
UAD2ResetValue |
uint32_t |
UART 2 Data Register |
UAD2WriteMask |
uint32_t |
UART 2 Data Register |
UAS1ColdResetValue |
uint32_t |
UART 1 Status Register |
UAS1ForcedBits |
uint32_t |
UART 1 Status Register |
UAS1ForcedFlippedBits |
uint32_t |
UART 1 Status Register |
UAS1ReadMask |
uint32_t |
UART 1 Status Register |
UAS1ResetMask |
uint32_t |
UART 1 Status Register |
UAS1ResetValue |
uint32_t |
UART 1 Status Register |
UAS1WriteMask |
uint32_t |
UART 1 Status Register |
UAS2ColdResetValue |
uint32_t |
UART 2 Status Register |
UAS2ForcedBits |
uint32_t |
UART 2 Status Register |
UAS2ForcedFlippedBits |
uint32_t |
UART 2 Status Register |
UAS2ReadMask |
uint32_t |
UART 2 Status Register |
UAS2ResetMask |
uint32_t |
UART 2 Status Register |
UAS2ResetValue |
uint32_t |
UART 2 Status Register |
UAS2WriteMask |
uint32_t |
UART 2 Status Register |
UASCA1ColdResetValue |
uint32_t |
UART 1 Scaler Register |
UASCA1ForcedBits |
uint32_t |
UART 1 Scaler Register |
UASCA1ForcedFlippedBits |
uint32_t |
UART 1 Scaler Register |
UASCA1ReadMask |
uint32_t |
UART 1 Scaler Register |
UASCA1ResetMask |
uint32_t |
UART 1 Scaler Register |
UASCA1ResetValue |
uint32_t |
UART 1 Scaler Register |
UASCA1WriteMask |
uint32_t |
UART 1 Scaler Register |
UASCA2ColdResetValue |
uint32_t |
UART 2 Scaler Register |
UASCA2ForcedBits |
uint32_t |
UART 2 Scaler Register |
UASCA2ForcedFlippedBits |
uint32_t |
UART 2 Scaler Register |
UASCA2ReadMask |
uint32_t |
UART 2 Scaler Register |
UASCA2ResetMask |
uint32_t |
UART 2 Scaler Register |
UASCA2ResetValue |
uint32_t |
UART 2 Scaler Register |
UASCA2WriteMask |
uint32_t |
UART 2 Scaler Register |
WDGColdResetValue |
uint32_t |
Watchdog Register |
WDGForcedBits |
uint32_t |
Watchdog Register |
WDGForcedFlippedBits |
uint32_t |
Watchdog Register |
WDGReadMask |
uint32_t |
Watchdog Register |
WDGResetMask |
uint32_t |
Watchdog Register |
WDGResetValue |
uint32_t |
Watchdog Register |
WDGWriteMask |
uint32_t |
Watchdog Register |
WPR1ColdResetValue |
uint32_t |
Write Protection Register 1 |
WPR1ForcedBits |
uint32_t |
Write Protection Register 1 |
WPR1ForcedFlippedBits |
uint32_t |
Write Protection Register 1 |
WPR1ReadMask |
uint32_t |
Write Protection Register 1 |
WPR1ResetMask |
uint32_t |
Write Protection Register 1 |
WPR1ResetValue |
uint32_t |
Write Protection Register 1 |
WPR1WriteMask |
uint32_t |
Write Protection Register 1 |
WPR2ColdResetValue |
uint32_t |
Write Protection Register 2 |
WPR2ForcedBits |
uint32_t |
Write Protection Register 2 |
WPR2ForcedFlippedBits |
uint32_t |
Write Protection Register 2 |
WPR2ReadMask |
uint32_t |
Write Protection Register 2 |
WPR2ResetMask |
uint32_t |
Write Protection Register 2 |
WPR2ResetValue |
uint32_t |
Write Protection Register 2 |
WPR2WriteMask |
uint32_t |
Write Protection Register 2 |
WPSTA1ColdResetValue |
uint32_t |
Write Protection Start Address 1 |
WPSTA1ForcedBits |
uint32_t |
Write Protection Start Address 1 |
WPSTA1ForcedFlippedBits |
uint32_t |
Write Protection Start Address 1 |
WPSTA1ReadMask |
uint32_t |
Write Protection Start Address 1 |
WPSTA1ResetMask |
uint32_t |
Write Protection Start Address 1 |
WPSTA1ResetValue |
uint32_t |
Write Protection Start Address 1 |
WPSTA1WriteMask |
uint32_t |
Write Protection Start Address 1 |
WPSTA2ColdResetValue |
uint32_t |
Write Protection Start Address 2 |
WPSTA2ForcedBits |
uint32_t |
Write Protection Start Address 2 |
WPSTA2ForcedFlippedBits |
uint32_t |
Write Protection Start Address 2 |
WPSTA2ReadMask |
uint32_t |
Write Protection Start Address 2 |
WPSTA2ResetMask |
uint32_t |
Write Protection Start Address 2 |
WPSTA2ResetValue |
uint32_t |
Write Protection Start Address 2 |
WPSTA2WriteMask |
uint32_t |
Write Protection Start Address 2 |
WPSTO1ColdResetValue |
uint32_t |
Write Protection End Address 1 |
WPSTO1ForcedBits |
uint32_t |
Write Protection End Address 1 |
WPSTO1ForcedFlippedBits |
uint32_t |
Write Protection End Address 1 |
WPSTO1ReadMask |
uint32_t |
Write Protection End Address 1 |
WPSTO1ResetMask |
uint32_t |
Write Protection End Address 1 |
WPSTO1ResetValue |
uint32_t |
Write Protection End Address 1 |
WPSTO1WriteMask |
uint32_t |
Write Protection End Address 1 |
WPSTO2ColdResetValue |
uint32_t |
Write Protection End Address 2 |
WPSTO2ForcedBits |
uint32_t |
Write Protection End Address 2 |
WPSTO2ForcedFlippedBits |
uint32_t |
Write Protection End Address 2 |
WPSTO2ReadMask |
uint32_t |
Write Protection End Address 2 |
WPSTO2ResetMask |
uint32_t |
Write Protection End Address 2 |
WPSTO2ResetValue |
uint32_t |
Write Protection End Address 2 |
WPSTO2WriteMask |
uint32_t |
Write Protection End Address 2 |
ahbfailaddr |
uint32_t |
Fail address register |
ahbstat |
uint32_t |
Fail status register |
behaviour |
uint8_t |
Set to 1 for COLE mode |
cachectrl |
uint32_t |
Cache control register |
config.levelMask |
uint32_t |
Level triggered internal interrupts (mask) |
config.logInterrupts |
uint8_t |
Enable interrupt logging |
cpu |
temu_IfaceRef/ <unknown> |
CPU to control with powerdown |
dCache |
temu_IfaceRef/ <unknown> |
Data cache (optional) |
gpioBus |
temu_IfaceRef/ <unknown> |
GPIO bus (deprecated, use signal interface instead) |
gpioIrqLevel |
uint32_t |
|
gpioIrqMask |
uint32_t |
|
gpioIrqPolarity |
uint32_t |
|
gpiodir |
uint32_t |
I/O port direction register |
gpioinout |
uint32_t |
I/O port data register |
gpioirqcfg |
uint32_t |
I/O port interrupt register 1 |
gpioirqcfg2 |
uint32_t |
I/O port interrupt register 2 |
iCache |
temu_IfaceRef/ <unknown> |
Instruction cache (optional) |
infiniteUartSpeed |
uint32_t |
|
inputBits |
uint32_t |
Input signals |
irqControl |
temu_IfaceRef/ <unknown> |
Next level IRQ controller object (e.g. CPU) |
irqSignalStatus |
uint16_t |
Interrupt signal status (should be the same as pending in CPU) |
irqclear |
uint32_t |
Interrupt clear register |
irqforce |
uint32_t |
Interrupt force register |
irqmask |
uint32_t |
Interrupt mask and priority register |
irqpend |
uint32_t |
Interrupt pending register |
leoncfg |
uint32_t |
Product configuration register |
memcfg1 |
uint32_t |
Memory configuration register 1 |
memcfg2 |
uint32_t |
Memory configuration register 2 |
memcfg3 |
uint32_t |
Memory configuration register 3 |
memcfg4 |
uint32_t |
Memory configuration 4 (COLE) |
memcfg5 |
uint32_t |
Memory configuration 5 (COLE) |
mr |
uint32_t |
Map register (COLE) |
outSignals |
[temu_IfaceRef; 16]/ <unknown> |
Outgoing GPIO signals |
powerdown |
uint32_t |
Idle register |
presccntr |
uint32_t |
Prescaler counter register |
prescrld |
uint32_t |
Prescaler reload register |
timer1cntr |
uint32_t |
Timer 1 counter register |
timer1ctrl |
uint32_t |
Timer 1 control register |
timer1rld |
uint32_t |
Timer 1 reload register |
timer2cntr |
uint32_t |
Timer 2 counter register |
timer2ctrl |
uint32_t |
Timer 2 control register |
timer2rld |
uint32_t |
Timer 2 reload register |
uart1DatTxHold |
uint32_t |
UART1 data TX hold register |
uart1DatTxShift |
uint32_t |
UART 1 data TX shift |
uart1ctrl |
uint32_t |
UART 1 control register |
uart1datrx |
uint32_t |
UART 1 RX data register |
uart1scal |
uint32_t |
UART 1 scaler register |
uart1stat |
uint32_t |
UART 1 status register |
uart2DatTxHold |
uint32_t |
|
uart2DatTxShift |
uint32_t |
|
uart2ctrl |
uint32_t |
UART 2 control register |
uart2datrx |
uint32_t |
UART 2 RX data register |
uart2scal |
uint32_t |
UART 2 scaler register |
uart2stat |
uint32_t |
UART 2 status register |
uarta |
temu_IfaceRef/ <unknown> |
Serial port A |
uartb |
temu_IfaceRef/ <unknown> |
Serial port B |
watchdog |
uint32_t |
Watchdog register |
writeprot1 |
uint32_t |
Write protection register 1 |
writeprot2 |
uint32_t |
Write protection register 2 |
writeprotstart1 |
uint32_t |
Write protection start address 1 |
writeprotstart2 |
uint32_t |
Write protection start address 2 |
writeprotstop1 |
uint32_t |
Write protection end address 1 |
writeprotstop2 |
uint32_t |
Write protection end address 2 |
Interfaces
| Name | Type | Description |
|---|---|---|
DCacheCtrlIface |
temu::CacheCtrlIface |
D-cache to control |
DeviceIface |
DeviceIface |
|
GpioClientIface |
GpioClientIface |
|
ICacheCtrlIface |
temu::CacheCtrlIface |
I-cache to control |
InternalIrqIface |
IrqCtrlIface |
Internal IRQ controller (native LEON numbering), post your IRQs here. |
IrqClientIface |
IrqClientIface |
IRQ acknowledgement (from CPU) |
IrqIface |
IrqCtrlIface |
External IRQ controller, post your IRQs here. |
MemAccessIface |
MemAccessIface |
|
RegisterIface |
temu::RegisterIface |
Register introspection interface |
Registers |
temu::RegisterIface |
Auto-generated Register Interface Impl. |
ResetIface |
ResetIface |
|
SignalIface |
SignalIface |
Incomming signals |
UartAIface |
SerialIface |
UART A |
UartBIface |
SerialIface |
UART B |
Ports
| Prop | Iface | Description |
|---|---|---|
irqControl |
IrqClientIface |
Interrupt |
uarta |
UartAIface |
uart a |
uartb |
UartBIface |
uart b |
Registers
| Register support is currently experimental! |
Register Bank Regs
Register MCFG1
- Description
-
Memory Configuration Register 1
- Reset value
-
0x000000ff
- Warm reset mask
-
0x7ef80bff
| Field | Mask | Reset | Description |
|---|---|---|---|
pbrdy |
|
|
PROM area bus-ready enable |
abrdy |
|
|
Asynchronous bus ready |
iowdh |
|
|
I/O bus width |
iobrdy |
|
|
I/O area bus ready enable |
bexc |
|
|
Bus error enable for RAM, PROM and I/O access |
iows |
|
|
I/O waitstates |
ioen |
|
|
I/O area enable |
prwen |
|
|
PROM write enable |
prwdh |
|
|
PROM width |
prwws |
|
|
PROM write waitstates |
prrws |
|
|
PROM read waitstates |
Register MCFG2
- Description
-
Memory Configuration Register 2
- Reset value
-
0x7c400000
- Warm reset mask
-
0xfff87eff
| Field | Mask | Reset | Description |
|---|---|---|---|
sdrref |
|
|
SDRAM refresh |
trp |
|
|
SDRAM tRP timing |
trfc |
|
|
SDRAM tRFC timing |
sdrcas |
|
|
SDRAM CAS delay |
sdrbs |
|
|
SDRAM bank size |
sdrcls |
|
|
SDRAM column size |
sdrcmd |
|
|
SDRAM command |
se |
|
|
SDRAM enable |
si |
|
|
SRAM disable |
rambs |
|
|
SRAM bank size |
rambrdy |
|
|
SRAM area bus ready enable |
ramrmw |
|
|
Read-modify-write on the SRAM |
ramwdh |
|
|
SRAM bus width |
ramwws |
|
|
SRAM write waitstates |
ramrws |
|
|
SRAM read waitstates |
Register MCFG3
- Description
-
Memory Configuration Register 3
- Reset value
-
0xc8000000
- Warm reset mask
-
0xc8000c00
| Field | Mask | Reset | Description |
|---|---|---|---|
rfc |
|
|
Register file check bits |
me |
|
|
Memory EDAC |
srcrv |
|
|
SDRAM refresh counter reload value |
wb |
|
|
EDAC diagnostic write bypass |
rb |
|
|
EDAC diagnostic read |
re |
|
|
RAM EDAC enable |
pe |
|
|
PROM EDAC enable |
tcb |
|
|
Test checkbits |
Register FAILAR
- Description
-
Fail Address Register
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
hea |
|
|
Hardware error address |
Register FAILSR
- Description
-
Fail Status Register
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000100
| Field | Mask | Reset | Description |
|---|---|---|---|
eed |
|
|
EDAC-correctable error detected |
hed |
|
|
Hardware error detected |
het |
|
|
Hardware error type |
hem |
|
|
Hardware error module |
hes |
|
|
Hardware error size |
Register CCR
- Description
-
Cache Control Register
- Reset value
-
0xfd100000
- Warm reset mask
-
0xff99c00f
| Field | Mask | Reset | Description |
|---|---|---|---|
drepl |
|
|
Data cache replacement policy |
irepl |
|
|
Instruction cache replacement policy |
isets |
|
|
Instruction cache associativity |
dsets |
|
|
Data cache associativity |
ds |
|
|
Data cache snoop enable |
fd |
|
|
Flush data cache |
fi |
|
|
Flush instruction cache |
cpc |
|
|
Cache parity bits |
cptb |
|
|
Cache parity test bits |
ib |
|
|
Instruction burst fetch |
ip |
|
|
Instruction cache flush pending |
dp |
|
|
Data cache flush pending |
ite |
|
|
Instruction cache tag error counter |
ide |
|
|
Instruction cache data error counter |
dte |
|
|
Data cache tag error counter |
dde |
|
|
Data cache data error counter |
df |
|
|
Data cache freeze on interrupt |
if |
|
|
Instruction cache freeze on interrupt |
dcs |
|
|
Data cache state |
ics |
|
|
Instruction cache state |
Register IDLE
- Description
-
Idle Register
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
idle |
|
|
Idle mode trigger |
Register WPR1
- Description
-
Write Protection Register 1
- Reset value
-
0x00000000
- Warm reset mask
-
0x80000000
| Field | Mask | Reset | Description |
|---|---|---|---|
en |
|
|
Enable |
bp |
|
|
Block protect |
tag |
|
|
Address tag |
mask |
|
|
Address mask |
Register WPR2
- Description
-
Write Protection Register 2
- Reset value
-
0x00000000
- Warm reset mask
-
0x80000000
| Field | Mask | Reset | Description |
|---|---|---|---|
en |
|
|
Enable |
bp |
|
|
Block protect |
tag |
|
|
Address tag |
mask |
|
|
Address mask |
Register PCR
- Description
-
Product Configuration Register
- Reset value
-
0x7077bbd5
- Warm reset mask
-
0xffffffff
| Field | Mask | Reset | Description |
|---|---|---|---|
mmu |
|
|
Memory management unit |
dsu |
|
|
Debug support unit |
sdrctrl |
|
|
SDRAM controller |
wtpnt |
|
|
IU watchpoints |
imac |
|
|
UMAC/SMAC instructions |
nwin |
|
|
IU register file windows |
icsz |
|
|
Instruction cache set size |
ilsz |
|
|
Instruction cache line size |
dcsz |
|
|
Data cache set size |
dlsz |
|
|
Data cache line size |
divinst |
|
|
UDIV/SDIV instructions |
mulinst |
|
|
UMUL/SMUL instructions |
wdog |
|
|
Watchdog |
memstat |
|
|
Memory status and address failing register |
fpu |
|
|
FPU type |
pci |
|
|
PCI core type |
wprt |
|
|
Write protection |
Register TIMC1
- Description
-
Timer 1 Counter Register
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
cnt |
|
|
Timer 1 counter value |
Register TIMR1
- Description
-
Timer 1 Reload Register
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
rv |
|
|
Timer 1 reload value |
Register TIMCTR1
- Description
-
Timer 1 Control Register
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000005
| Field | Mask | Reset | Description |
|---|---|---|---|
ld |
|
|
Load counter |
rl |
|
|
Reload counter |
en |
|
|
Enable counter |
Register WDG
- Description
-
Watchdog Register
- Reset value
-
0xffffffff
- Warm reset mask
-
0xffffffff
| Field | Mask | Reset | Description |
|---|---|---|---|
cnt |
|
|
Watchdog counter value |
Register TIMC2
- Description
-
Timer 2 Counter Register
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
cnt |
|
|
Timer 2 counter value |
Register TIMR2
- Description
-
Timer 2 Reload Register
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
rv |
|
|
Timer 2 reload value |
Register TIMCTR2
- Description
-
Timer 2 Control Register
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000005
| Field | Mask | Reset | Description |
|---|---|---|---|
ld |
|
|
Load counter |
rl |
|
|
Reload counter |
en |
|
|
Enable counter |
Register SCAC
- Description
-
Prescaler Counter Register
- Reset value
-
0x00000000
- Warm reset mask
-
0x000003ff
| Field | Mask | Reset | Description |
|---|---|---|---|
cnt |
|
|
Prescaler counter value |
Register SCAR
- Description
-
Prescaler Reload Register
- Reset value
-
0x00000000
- Warm reset mask
-
0x000003ff
| Field | Mask | Reset | Description |
|---|---|---|---|
rv |
|
|
Prescaler reload value |
Register UAD1
- Description
-
UART 1 Data Register
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
rtd |
|
|
Received/transmit data on UART 1 |
Register UAS1
- Description
-
UART 1 Status Register
- Reset value
-
0x00000006
- Warm reset mask
-
0x0000007f
| Field | Mask | Reset | Description |
|---|---|---|---|
fe |
|
|
Framing error |
pe |
|
|
Parity error |
ov |
|
|
Overrun |
br |
|
|
Break received |
th |
|
|
Transmitter hold register empty |
ts |
|
|
Transmitter shift register empty |
dr |
|
|
Data ready |
Register UAC1
- Description
-
UART 1 Control Register
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000143
| Field | Mask | Reset | Description |
|---|---|---|---|
ec |
|
|
External clock |
lb |
|
|
Loop back |
fl |
|
|
Flow control |
pe |
|
|
Parity enable |
ps |
|
|
Parity select |
ti |
|
|
Transmitter interrupt enable |
ri |
|
|
Receiver interrupt enable |
te |
|
|
Transmitter enable |
re |
|
|
Receiver enable |
Register UASCA1
- Description
-
UART 1 Scaler Register
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
rv |
|
|
UART 1 scaler reload value |
Register UAD2
- Description
-
UART 2 Data Register
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
rtd |
|
|
Received/transmit data on UART 2 |
Register UAS2
- Description
-
UART 2 Status Register
- Reset value
-
0x00000006
- Warm reset mask
-
0x0000007f
| Field | Mask | Reset | Description |
|---|---|---|---|
fe |
|
|
Framing error |
pe |
|
|
Parity error |
ov |
|
|
Overrun |
br |
|
|
Break received |
th |
|
|
Transmitter hold register empty |
ts |
|
|
Transmitter shift register empty |
dr |
|
|
Data ready |
Register UAC2
- Description
-
UART 2 Control Register
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000143
| Field | Mask | Reset | Description |
|---|---|---|---|
ec |
|
|
External clock |
lb |
|
|
Loop back |
fl |
|
|
Flow control |
pe |
|
|
Parity enable |
ps |
|
|
Parity select |
ti |
|
|
Transmitter interrupt enable |
ri |
|
|
Receiver interrupt enable |
te |
|
|
Transmitter enable |
re |
|
|
Receiver enable |
Register UASCA2
- Description
-
UART 2 Scaler Register
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
rv |
|
|
UART 2 scaler reload value |
Register ITMP
- Description
-
Interrupt Mask and Priority Register
- Reset value
-
0x00000000
- Warm reset mask
-
0x0000ffff
| Field | Mask | Reset | Description |
|---|---|---|---|
ilevel |
|
|
Interrupt level |
imask |
|
|
Interrupt mask |
Register ITP
- Description
-
Interrupt Pending Register
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
ipend |
|
|
Interrupt pending |
Register ITF
- Description
-
Interrupt Force Register
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
iforce |
|
|
Interrupt force |
Register ITC
- Description
-
Interrupt Clear Register
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
iclear |
|
|
Interrupt clear |
Register IODAT
- Description
-
I/O Port Data Register
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
meddat |
|
|
D[15:8] bus value |
lowdat |
|
|
D[7:0] bus value |
piodat |
|
|
PIO[15:0] port value |
Register IODIR
- Description
-
I/O Port Direction Register
- Reset value
-
0x00000000
- Warm reset mask
-
0x0003ffff
| Field | Mask | Reset | Description |
|---|---|---|---|
meddir |
|
|
D[15:8] port direction |
lowdir |
|
|
D[7:0] port direction |
piodir |
|
|
PIO[15:0] port direction |
Register IOIT1
- Description
-
I/O Port Interrupt Register 1
- Reset value
-
0x00000000
- Warm reset mask
-
0x80808080
| Field | Mask | Reset | Description |
|---|---|---|---|
en3 |
|
|
Interrupt 3 enable |
le3 |
|
|
Interrupt 3 level/edge trigger |
pl3 |
|
|
Interrupt 3 polarity |
isel3 |
|
|
Interrupt 3 I/O port select |
en2 |
|
|
Interrupt 2 enable |
le2 |
|
|
Interrupt 2 level/edge trigger |
pl2 |
|
|
Interrupt 2 polarity |
isel2 |
|
|
Interrupt 2 I/O port select |
en1 |
|
|
Interrupt 1 enable |
le1 |
|
|
Interrupt 1 level/edge trigger |
pl1 |
|
|
Interrupt 1 polarity |
isel1 |
|
|
Interrupt 1 I/O port select |
en0 |
|
|
Interrupt 0 enable |
le0 |
|
|
Interrupt 0 level/edge trigger |
pl0 |
|
|
Interrupt 0 polarity |
isel0 |
|
|
Interrupt 0 I/O port select |
Register IOIT2
- Description
-
I/O Port Interrupt Register 2
- Reset value
-
0x00000000
- Warm reset mask
-
0x80808080
| Field | Mask | Reset | Description |
|---|---|---|---|
en7 |
|
|
Interrupt 7 enable |
le7 |
|
|
Interrupt 7 level/edge trigger |
pl7 |
|
|
Interrupt 7 polarity |
isel7 |
|
|
Interrupt 7 I/O port select |
en6 |
|
|
Interrupt 6 enable |
le6 |
|
|
Interrupt 6 level/edge trigger |
pl6 |
|
|
Interrupt 6 polarity |
isel6 |
|
|
Interrupt 6 I/O port select |
en5 |
|
|
Interrupt 5 enable |
le5 |
|
|
Interrupt 5 level/edge trigger |
pl5 |
|
|
Interrupt 5 polarity |
isel5 |
|
|
Interrupt 5 I/O port select |
en4 |
|
|
Interrupt 4 enable |
le4 |
|
|
Interrupt 4 level/edge trigger |
pl4 |
|
|
Interrupt 4 polarity |
isel4 |
|
|
Interrupt 4 I/O port select |
Register WPSTA1
- Description
-
Write Protection Start Address 1
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
start |
|
|
Start address |
bp |
|
|
Block protect |
Register WPSTO1
- Description
-
Write Protection End Address 1
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000003
| Field | Mask | Reset | Description |
|---|---|---|---|
end |
|
|
End address |
us |
|
|
User mode |
su |
|
|
Supervisor mode |