Efinix Sapphire RV64: núcleos RISC-V soft configurables con DDR3, LPDDR4x y HyperRAM para FPGA

Efinix ha presentado el Sapphire RV64, un SoC de procesador RISC-V de 64 bits soft-core (implementado en la propia lógica de la FPGA) y configurable, diseñado para sus FPGA Titanium y Trion. Está basado en el núcleo VexiiRiscv y puede configurarse con entre uno y cuatro núcleos RISC-V que funcionan a hasta 400 MHz.

El Sapphire RV64 incorpora una tubería (pipeline) de siete etapas, cachés L1 configurables, una caché L2 opcional de 64 a 512 KB y entre 4 y 512 KB de RAM integrada. Admite DDR3, LPDDR4x y HyperRAM con interfaces AXI de hasta 512 bits y memoria externa desde 4 MB hasta 8 GB. Otras características incluyen una FPU opcional, predictor de saltos, prefetch de instrucciones y de datos, MMU SV39, hasta 32 GPIO, cinco buses I²C, tres SPI, tres UART, temporizadores, watchdog y hasta ocho interrupciones de usuario.

Diagrama de bloques del SoC Sapphire RV64: los núcleos VexiiRiscv, las cachés y los periféricos se implementan en la FPGA

Especificaciones del SoC Efinix Sapphire RV64:

  • CPU
    • De 1 a 4 núcleos VexiiRiscv de 64 bits con tubería de 7 etapas (búsqueda, alineación/descompresión, decodificación, emisión, ejecución, memoria y escritura)
    • Frecuencia de reloj del sistema configurable de 20 MHz a 400 MHz
    • Compatible con las extensiones RV64IMACFD_Zba_Zbc_Zbs (incluye coma flotante de simple y doble precisión, atómicas, comprimidas, manipulación de bits y gestión de bloques de caché)
    • Unidad de gestión de memoria (MMU) SV39 opcional para soporte de Linux
    • Unidad opcional de protección de memoria física (PMP) con granularidad de 4 KB
    • Caché L1: caché multivia de instrucciones y datos configurable (hasta 8 vías, 4 KB por vía)
    • Caché L2: caché L2 compartida opcional de 8 vías, de 64 KB a 512 KB
  • Memoria
    • RAM integrada: de 4 KB a 512 KB con gestor de arranque (boot loader) incorporado para SPI flash
    • Memoria externa (mediante interfaz AXI3 semidúplex o AXI4 dúplex completo)
      • DDR3 hasta 400 MHz / 800 Mbps
      • LPDDR4x hasta 1.600 MHz / 3.200 Mbps
      • HyperRAM hasta 250 MHz / 500 Mbps
      • Soporta de 4 MB a 8 GB
  • E/S
    • Hasta 32 GPIO
    • Hasta 5 maestros I2C y hasta 3 maestros SPI
    • Hasta 3 UART (a 115.200 baudios)
    • 1 canal maestro AXI4 y hasta 5 interfaces esclavas APB3 para periféricos de usuario personalizados
  • Depuración
    • Depuración RISC-V estándar
    • Hasta 4 puntos de interrupción (breakpoints) por hardware
    • Hasta 4 contadores de rendimiento (la guía de usuario también menciona de 1 a 9)
    • Depuración conjunta opcional con el depurador de la FPGA
  • Varios
    • Hasta 8 interrupciones de usuario
    • 3 temporizadores de usuario
    • Temporizador watchdog
    • Predictor de saltos dinámico
    • Prefetch por software y por hardware
    • Interfaz de instrucciones personalizadas con 1.024 identificadores
  • Consumo: varía en función de la FPGA, la velocidad de reloj y las funciones habilitadas
Flujo de desarrollo de software y hardware del SoC Efinix Sapphire RV64
Flujo de desarrollo de software y hardware del SoC Efinix Sapphire RV64

El Efinity IP Manager permite configurar el SoC y generar un núcleo IP personalizado. Para el firmware, el IDE Efinity RISC-V Embedded Software ofrece un entorno basado en Eclipse para el desarrollo y la depuración en C/C++.

IDE de software embebido Efinity RISC-V
IDE de software embebido Efinity RISC-V

En función de la configuración, el SoC puede arrancar desde un dispositivo SPI flash directamente en la RAM integrada o copiar una aplicación de usuario más grande a la memoria externa antes de ejecutarla. Las configuraciones multinúcleo utilizan multiprocesamiento simétrico (SMP), repartiendo la carga de trabajo entre todos los procesadores para mejorar el rendimiento global del sistema.

Utilización de recursos y rendimiento del Titanium Ti375 C529
Utilización de recursos y rendimiento del Titanium Ti375 C529
Utilización de recursos y rendimiento del Topaz Tz170 J484
Utilización de recursos y rendimiento del Topaz Tz170 J484
Utilización de recursos y rendimiento del Trion T120 F324
Utilización de recursos y rendimiento del Trion T120 F324

Ya escribimos sobre los primeros SoC RISC-V soft de Efinix para FPGA Trion, los núcleos Ruby, Jade y Opal, diseños de 32 bits basados en VexRiscv. Después, la compañía llevó la idea al silicio: Titanium introdujo un bloque RISC-V de 32 bits y cuatro núcleos basado en el núcleo soft Sapphire, y la familia Topaz incorporó un bloque similar en una FPGA de 16 nm de menor coste. También presentaron el kit de desarrollo Topaz Tz170b y la más reciente Titanium Edge, las placas y chips sobre los que corren esos núcleos. El Sapphire RV64 es el relevo en forma de soft-core: 64 bits, todavía implementado en la lógica de la FPGA y orientado a diseños que han superado las capacidades de aquellos núcleos de 32 bits.

El SoC Sapphire RV64 está disponible en el Efinity IP Manager para todas las FPGA Titanium y Topaz, y para los dispositivos Trion desde el T20 en adelante. Requiere Efinity 2026.1 o posterior, y Efinix ofrece licencias gratuitas del software Efinity. Hay más detalles disponibles en la página de soporte (con enlaces a una hoja de datos y una guía de usuario) y en la nota de prensa.

Traducido del artículo en inglés «Efinix Sapphire RV64 SoC – Configurable RISC-V soft-cores with DDR3, LPDDR4x, and HyperRAM for Efinix FPGAs» de Debashis Das.