Customizing the Sapphire RV64 SoC
You customize the Sapphire RV64 SoC using the IP Configuration wizard. The parameters are arranged on tabs so you can click through them more easily.
| Parameter | Option | Description |
|---|---|---|
| Number of cores | 1 - 4 | Enter the number of CPU cores. Default: 1 |
| Atomic Extension | On, off | Choose whether to enable atomic extension instruction support. |
| Compressed Extension | On, off | Choose whether to enable compressed instruction support. |
| Floating-point Extension | F-Extension only, F and D-Extension | Choose whether to enable single or double precision for the FPU. |
| Bit Manipulation Extension | On, off | Choose whether to enable bit manipulation instruction support. |
| Cache Block Management Extension | On, off | Choose whether to enable cache management instruction support |
| Parameter | Option | Description |
|---|---|---|
| Branch Prediction | On, off | Choose whether to enable branch predictor with BTB, RAS and Gshare. |
| Hardware Prefetcher | On, off | Choose whether to enable hardware prefetcher with RPT algorithm. |
| Software Prefetcher | On, off | Choose whether to enable software prefetcher. |
| Supervisor Mode | On, off | Choose whether to enable supervisor mode with SV39 MMU. |
| Physical Memory Protection | On, off | Choose whether to enable physical memory protection. |
| Custom Instruction | On, off | Choose whether to enable custom instruction |
| Parameter | Option | Description |
| L1 Data and Instruction Cache way | 1, 2, 4 or 8 | Choose the L1 data and instruction cache way number (4KB per way). |
| L2 Cache | On, off | Choose whether to enable L2 cache. |
| L2 Cache Size | 64KB, 128KB, 256KB and 512KB | Choose the L2 cache size. |
| On-Chip RAM Size | 4 KB, 8 KB, 16 KB, 24 KB, 32 KB, 48 KB, 64 KB, 80 KB, 96 KB, 128 KB, 144 KB, 160 KB, 192 KB, 224 KB, 256 KB, 384 KB, 512 KB | Choose the size of the internal BRAM. Default: 4 KB |
| External Memory Interface | On, off | Instantiate the external memory interface. Default:
On Off: The external memory interface is not
used. |
| AXI Interface Type | AXI3, AXI4 | Use an AXI4 full duplex interface. Default: AXI4 AXI3:
Use an AXI3 half duplex interface. |
| External Memory Data Width | 32, 64, 128, 256, 512 | Choose the data width for the AXI interface. Default:
256 |
| External Memory AXI ID Width | 6, 8 | Choose the width of AXI ID. |
| External Memory Address Size | 4 MB, 8 MB, 16 MB, 32 MB, 64 MB, 128 MB, 256 MB, 0.5 GB, 1 GB, 1.5 GB, 2 GB, 2.5 GB, 3 GB, 3.5 GB,4.0 GB, 4.5 GB, 5.0 GB, 5.5 GB, 6.0 GB, 6.5 GB, 7.0 GB, 7.5 GB, 8.0 GB | Choose the address size for the AXI interface. Default: 1
GB |
| Parameter | Option | Description |
|---|---|---|
| Frequency (MHz) | 20 - 400 | Enter the frequency in MHz. Default: 200 |
| Peripheral Clock | On, off | Choose whether you want to run a dedicated clock for the APB3 slaves (SPI, I2C, GPIO, UART, and user timer) and AXI4 master A. |
| Peripheral Clock Frequency (MHz) | 20 - 200 | Enter the peripheral clock frequency in MHz. |
| Parameter | Option | Description |
|---|---|---|
| FPGA Tap Port | 1, 2, 3, 4 | Choose which Tap port you want to target with the OpenOCD Debugger. This option is only applicable when you are using the JTAG User Tap interface block to communicate with the OpenOCD Debugger. |
| Hardware Breakpoint | Disabled, 1 - 4 | Number of hardware breakpoints. This hardware breakpoint is a program type breakpoint. |
| Performance Counter | Disabled, 1 - 9 | Number of performance counter. |
| Co-Debug | On, off | Choose whether co-debug mode to share the tap with FPGA Debugger. |
| Target Board/Cable/Module | Trion T120 BGA324 Development Board Trion T120 BGA576 Development
Board Trion T20 BGA256 Development
Board Xyloni Titanium Ti60 F225
Development Board Titanium Ti180 J484
Development Board Titanium
Ti375
N1156 Titanium
Ti375
C529 Topaz
Tz170 J484 C232HM-DDHSL-0 (Soft
debug) FTDI Module FT2232H (Soft debug) FTDI
Module FT4232 (Soft debug) ISX-DLC_EF001 Programming Cable
Custom |
Choose which board you want to target with OpenOCD. Choose
Custom to target your own
board. |
| Application Region Size | 1 KB, 2 KB, 4 KB, 8 KB, 16 KB, 32 KB, 64 KB, 128 KB, 256 KB, 512 KB, 1 MB, 2 MB, 4 MB, 8 MB, 16 MB, 32 MB, 64 MB, 128 MB, 256 MB | Modify the linker script to outline the region for the user application. This option is only applicable for SoCs with external memory. For SoCs with internal memory, the region size is determined by the on-chip RAM size. |
| Application Heap Size | 256 B, 512 B, 1 KB, 2 KB, 4 KB, 8 KB, 16 KB, 32 KB, 64 KB, 128 KB, 256 KB, 512 KB, 1 MB, 2 MB, 4 MB, 8 MB, 16 MB, 32 MB, 64 MB, 128 MB | Modify the linker script to specify the application heap size. The size is limited to a maximum of 60% of region size. |
| Application Stack Size | 256 B, 512 B, 1 KB, 2 KB, 4 KB, 8 KB, 16 KB, 32 KB, 64 KB, 128 KB, 256 KB, 512 KB, 1 MB, 2 MB, 4 MB, 8 MB, 16 MB, 32 MB, 64 MB, 128 MB | Modify the linker script to specify the application stack size. The size is limited to a maximum of 60% of region size. |
| FreeRTOS Region Size | 1 KB, 2 KB, 4 KB, 8 KB, 16 KB, 32 KB, 64 KB, 128 KB, 256 KB, 512 KB, 1 MB, 2 MB, 4 MB, 8 MB, 16 MB, 32 MB, 64 MB, 128 MB, 256 MB | Modify the linker script to outline the region for the FreeRTOS. This option is only applicable for SoCs with external memory. For SoCs with internal memory, the region size is determined by the on-chip RAM size. |
| FreeRTOS Heap Size | 256 B, 512 B, 1 KB, 2 KB, 4 KB, 8 KB, 16 KB, 32 KB, 64 KB, 128 KB, 256 KB, 512 KB, 1 MB, 2 MB, 4 MB, 8 MB, 16 MB, 32 MB, 64 MB, 128 MB | Modify the linker script to specify the FreeRTOS heap size. The size is limited to a maximum of 60% of region size. |
| FreeRTOS Stack Size | 256 B, 512 B, 1 KB, 2 KB, 4 KB, 8 KB, 16 KB, 32 KB, 64 KB, 128 KB, 256 KB, 512 KB, 1 MB, 2 MB, 4 MB, 8 MB, 16 MB, 32 MB, 64 MB, 128 MB | Modify the linker script to specify the FreeRTOS stack size. The size is limited to a maximum of 60% of region size. |
| Parameter | Option | Description |
| Number of APB3 | Disable, 1-5 | Choose number of instantiations of APB3 slaves. |
| APB3 Slave Address Size | 4 KB, 8 KB, 16 KB, 32 KB, 64 KB, 128 KB, 256 KB, 512 KB, 1MB | Choose the APB slave size. This setting applies to all APB
slaves. Default: 64 KB |
| AXI Master A | On, Off | On: Instantiate the interface. Off: Do not use the
interface. |
| AXI Master A Address Size | 1 KB, 2 KB, 4 KB, 8 KB, 16 KB, 32 KB, 64 KB, 128 KB, 256 KB, 512 KB, 1 MB, 2 MB, 4 MB, 8 MB, 16 MB, 32 MB, 64 MB, 128 MB, 256 MB | Choose the size of the AXI Master A. |
| AXI Master B | On, Off | On: Instantiate the interface. Off: Do not use the
interface. |
| AXI Master B Address Size | 1 MB, 2 MB, 4 MB, 8 MB, 16 MB, 32 MB, 64 MB, 128 MB, 256 MB, 512 MB, 1 GB, 2 GB, 4 GB, 8 GB, 16 GB, 32 GB, 64 GB | Choose the size of the AXI Master B. |
| AXI Master B Data Width | 32, 64, 128, 256, 512 | Choose the data width of the AXI Master B. |
| AXI Slave n | On, off | On: Instantiate the interface. Off: Do not use the
interface. |
| AXI Slave n Data Width | 32, 64, 128, 256, 512 | Choose the width of the AXI Slave. The AXI Slave width must not
be larger than the external memory data width. |
| Parameter | Options | Description |
|---|---|---|
| GPIO n | On, off | On: Instantiate the interface. Off: Do not use the
interface. |
| GPIO n Bit Width | 1, 2, 4, 8, 16, 32 | Choose the number of pins for the GPIO. Default: 4 (GPIO 0), 8
(GPIO 1) |
| Parameter | Options | Description |
|---|---|---|
| UART n | On, off | On: Instantiate the interface. Off: Do not use the
interface. |
| UART n FIFO Depth | 64, 128, 256 | Specify the depth of UART’s FIFO. |
| Parameter | Options | Description |
|---|---|---|
| I2C | Disabled, 1 - 5 | Choose the number for the I2C. |
| Parameter | Options | Description |
|---|---|---|
| SPI n | On, off | On: Instantiate the interface. Off: Do not use the
interface. |
| SPI n Data Width | 8 - 16 | Configure the data width for the SPI interface. Note: Only applicable for SPI 1 and SPI
2. |
| SPI n Chip Select Width | 1 - 8 | Choose the number of Chip select required for the SPI interface. |
| SPI n FIFO Depth | 64, 128, 256, 512, 1024, 2048 | Specify the depth of SPI’s FIFO. |
| Parameter | Options | Description |
|---|---|---|
| User Interrupt | Disabled, 1 - 8 | Choose the number of the user interrupt. |
| Parameter | Options | Description |
|---|---|---|
| User Timer n | On, off | On: Instantiate the interface. Off: Do not use the
interface. |
| User Timer n Counter Width | 12, 16, 32 | Choose the counter bit width. Default: 12 |
| User Timer n Prescaler Width | 8, 16 | Choose the prescaler bit width. Default: 8 |
| Parameter | Option | Description |
|---|---|---|
| Watchdog Timer | On, Off | On: Instantiate the interface. Off: Do not use the
interface. |
| Watchdog Timer Prescaler Width | 8, 16, 24, 32 | Choose the prescaler bit width. Default: 24 |
| Watchdog Timer Counter Width | 16, 24, 32 | Choose the counter bit width. Default: 16 |