Migrating Ruby, Jade, and Opal to the Sapphire RV32 SoC

The Ruby, Jade, and Opal SoCs are end of life in the Efinity software v2022.1. The following sections provide the parameters you should set in the Sapphire RV32 SoC IP Configuration wizard to get the same functionality as Ruby, Jade, or Opal.

Ruby Configuration

Parameter Setting Address
SOC Core Number 1 –
Frequency Configurable –
Peripheral Clock No –
Cache Yes –
Custom Instruction No –
Linux Memory Management Unit No –
Floating-point unit No –
Atomic Extension No –
Cache/Memory Data Cache Way 1 –
Data Cache Size 4KB –
Instruction Cache Way 1 –
Instruction Cache Size 4KB –
External Memory Interface Yes –
AXI Interface Type AXI3 –
External Memory Data Width 128 –
External Memory Address Size 3.5GB –
On-Chip RAM Size Configurable 0xf9000000
Custom On-Chip RAM Application No –
Debug Soft Debug Tap Configurable –
FPGA Tap Port Configurable –
Target Board Configurable
Application Region Size – –
Application Stack Size – –
Application Debug Mode – –
UART UART0 Yes 0xf8010000
UART0 Interrupt ID 1
UART1 Yes 0xf8011000
UART1 Interrupt ID 2 –
UART2 No –
UART2 Interrupt ID – –
SPI SPI0 Yes 0xf8014000
SPI0 Interrupt ID 4 –
SPI1 Yes 0xf8015000
SPI1 Interrupt ID 5 –
SPI2 Yes 0xf8016000
SPI2 Interrupt ID 6 –
I2C I2C0 Yes 0xf8018000
I2C0 Interrupt ID 8 –
I2C1 Yes 0xf8019000
I2C1 Interrupt ID 9 –
I2C2 Yes 0xf801A0000
I2C2 Interrupt ID 10 –
GPIO GPIO0 Yes 0xf8000000
GPIO0 Width 16 –
GPIO0 Interrupt ID 12, 13 –
GPIO1 No –
GPIO1 Width – –
GPIO1 Interrupt ID – –
APB3 APB3 Slave Size 64KB –
APB0 Yes 0xf8800000
APB1 Yes 0xf8810000
APB2 No –
APB3 No –
APB4 No –
AXI4 AXI Master Yes 0xfa000000
AXI Master Size 16MB –
AXI Slave 0 Yes –
AXI Slave 0 Data Width 32 –
AXI Slave 1 – –
AXI Slave 1 Data Width – –
User Interrupt User Interrupt A Yes –
User Interrupt A ID 25 –
User Interrupt B No –
User Interrupt B ID – –
User Interrupt C No –
User Interrupt C ID – –
User Interrupt D No –
User Interrupt D ID – –
User Interrupt E No –
User Interrupt E ID – –
User Interrupt F No –
User Interrupt F ID – –
User Interrupt G No –
User Interrupt G ID – –
User Interrupt H No –
User Interrupt H ID – –
User Timer User Timer 0 No –
User Timer 0 Counter Width – –
User Timer 0 Prescaler Width – –
User Timer 0 Interrupt ID – –
User Timer 1 No –
User Timer 1 Counter Width – –
User Timer 1 Prescaler Width – –
User Timer 1 Interrupt ID – –
User Timer 2 No –
User Timer 2 Counter Width – –
User Timer 2 Prescaler Width – –
User Timer 2 Interrupt ID – –

Jade Configuration

Parameter Setting Address
SOC Core Number 1 –
Frequency Configurable –
Peripheral Clock No –
Cache Yes –
Custom Instruction No –
Linux Memory Management Unit No –
Floating-point unit No –
Atomic Extension No –
Cache/Memory Data Cache Way 1 –
Data Cache Size 4KB –
Instruction Cache Way 1 –
Instruction Cache Size 4KB –
External Memory Interface No –
AXI Interface Type – –
External Memory Data Width – –
External Memory Address Size – –
On-Chip RAM Size Configurable 0xf9000000
Custom On-Chip RAM Application No –
Debug Soft Debug Tap Configurable –
FPGA Tap Port Configurable –
Target Board Configurable –
Application Region Size – –
Application Stack Size – –
Application Debug Mode – –
UART UART0 Yes 0xf8010000
UART0 Interrupt ID 1 –
UART1 No –
UART1 Interrupt ID – –
UART2 No –
UART2 Interrupt ID – –
SPI SPI0 Yes 0xf8014000
SPI0 Interrupt ID 4 –
SPI1 Yes 0xf8015000
SPI1 Interrupt ID 5 –
SPI2 – –
SPI2 Interrupt ID – –
I2C I2C0 Yes 0xf8018000
I2C0 Interrupt ID 8 –
I2C1 Yes 0xf8019000
I2C1 Interrupt ID 9 –
I2C2 No –
I2C2 Interrupt ID – –
GPIO GPIO0 Yes 0xf8000000
GPIO0 Width 16 –
GPIO0 Interrupt ID 12, 13 –
GPIO1 No –
GPIO1 Width – –
GPIO1 Interrupt ID – –
APB3 APB3 Slave Size 64KB –
APB0 Yes 0xf8800000
APB1 No –
APB2 No –
APB3 No –
APB4 No –
AXI4 AXI Master No –
AXI Master Size – –
AXI Slave 0 – –
AXI Slave 0 Data Width – –
AXI Slave 1 – –
AXI Slave 1 Data Width – –
User Interrupt User Interrupt A Yes –
User Interrupt A ID 25 –
User Interrupt B No –
User Interrupt B ID – –
User Interrupt C No –
User Interrupt C ID – –
User Interrupt D No –
User Interrupt D ID – –
User Interrupt E No –
User Interrupt E ID – –
User Interrupt F No –
User Interrupt F ID – –
User Interrupt G No –
User Interrupt G ID – –
User Interrupt H No –
User Interrupt H ID – –
User Timer User Timer 0 No –
User Timer 0 Counter Width – –
User Timer 0 Prescaler Width – –
User Timer 0 Interrupt ID – –
User Timer 1 No –
User Timer 1 Counter Width – –
User Timer 1 Prescaler Width – –
User Timer 1 Interrupt ID – –
User Timer 2 No –
User Timer 2 Counter Width – –
User Timer 2 Prescaler Width – –
User Timer 2 Interrupt ID – –

Opal Configuration

Parameter Setting Address
SOC Core Number 1 –
Frequency Configurable –
Peripheral Clock No –
Cache No –
Custom Instruction – –
Linux Memory Management Unit – –
Floating-point unit – –
Atomic Extension – –
Cache/Memory Data Cache Way – –
Data Cache Size – –
Instruction Cache Way – –
Instruction Cache Size – –
External Memory Interface No –
AXI Interface Type – –
External Memory Data Width – –
External Memory Address Size – –
On-Chip RAM Size Configurable 0xf9000000
Custom On-Chip RAM Application No –
Debug Soft Debug Tap Configurable –
FPGA Tap Port Configurable –
Target Board Configurable –
Application Region Size – –
Application Stack Size – –
Application Debug Mode – –
UART UART0 Yes 0xf8010000
UART0 Interrupt ID 1 –
UART1 No –
UART1 Interrupt ID – –
UART2 No –
UART2 Interrupt ID – –
SPI SPI0 Yes 0xf8014000
SPI0 Interrupt ID 4 –
SPI1 No –
SPI1 Interrupt ID – –
SPI2 – –
SPI2 Interrupt ID – –
I2C I2C0 Yes 0xf8018000
I2C0 Interrupt ID 8 –
I2C1 No –
I2C1 Interrupt ID – –
I2C2 No –
I2C2 Interrupt ID – –
GPIO GPIO0 Yes 0xf8000000
GPIO0 Width 8 –
GPIO0 Interrupt ID 12, 13 –
GPIO1 No –
GPIO1 Width – –
GPIO1 Interrupt ID – –
APB3 APB3 Slave Size 64KB –
APB0 Yes 0xf8800000
APB1 No –
APB2 No –
APB3 No –
APB4 No –
AXI4 AXI Master No –
AXI Master Size – –
AXI Slave 0 – –
AXI Slave 0 Data Width – –
AXI Slave 1 – –
AXI Slave 1 Data Width – –
User Interrupt User Interrupt A Yes –
User Interrupt A ID 25 –
User Interrupt B No –
User Interrupt B ID – –
User Interrupt C No –
User Interrupt C ID – –
User Interrupt D No –
User Interrupt D ID – –
User Interrupt E No –
User Interrupt E ID – –
User Interrupt F No –
User Interrupt F ID – –
User Interrupt G No –
User Interrupt G ID – –
User Interrupt H No –
User Interrupt H ID – –

Table 1. Opal Configuration (Continue)
Parameter Setting Address
User Timer User Timer 0 No –
User Timer 0 Counter Width – –
User Timer 0 Prescaler Width – –
User Timer 0 Interrupt ID – –
User Timer 1 No –
User Timer 1 Counter Width – –
User Timer 1 Prescaler Width – –
User Timer 1 Interrupt ID – –
User Timer 2 No –
User Timer 2 Counter Width – –
User Timer 2 Prescaler Width – –
User Timer 2 Interrupt ID – –