LEON (del español : león que significa león ) es un núcleo de microprocesador de CPU de 32 bits tolerante a la radiación que implementa la arquitectura de conjunto de instrucciones SPARC V8 (ISA) desarrollada por Sun Microsystems . Fue diseñado originalmente por el Centro Europeo de Investigación y Tecnología Espacial (ESTEC), parte de la Agencia Espacial Europea (ESA), y después de una corta vida útil en Gaisler Research (Sun no participó en el diseño del procesador). Se describe en VHDL sintetizable . LEON tiene un modelo de licencia dual: una LGPL / Licencia GPL FLOSS que se puede usar sin tarifa de licencia, o una licencia propietaria que se puede comprar para la integración en un producto propietario. [3] [4] El núcleo se puede configurar mediante genéricos VHDL y se utiliza en diseños de sistema en un chip (SOC) tanto en entornos de investigación como comerciales. [5]
Información general | |
---|---|
Lanzado | 1997 |
Comercializado por | Airbus Defence and Space |
Diseñada por | Sun Microsystems (adquirida por Oracle Corporation ) ( conjunto de instrucciones , diseño original [ aclaración necesaria ] ) Agencia Espacial Europea (ESA) Gaisler Investigación (procesador, diseñar derivado [ aclaración necesaria ] ) |
Fabricante (s) común (es) |
|
Actuación | |
Max. Frecuencia de reloj de la CPU | 150 MHz [1] a 1500 MHz [2] |
Arquitectura y clasificación | |
Conjunto de instrucciones | SPARC V8 |
Especificaciones físicas | |
Núcleos |
|
Historia | |
Predecesor | ERC32 |
Historia
El proyecto LEON fue iniciado por la Agencia Espacial Europea (ESA) a finales de 1997 para estudiar y desarrollar un procesador de alto rendimiento para su uso en proyectos espaciales europeos. [6] Los objetivos del proyecto eran proporcionar un diseño de procesador abierto, portátil y no propietario, capaz de cumplir con los requisitos futuros de rendimiento, compatibilidad de software y bajo costo del sistema. Otro objetivo era poder fabricar en un proceso de semiconductores sensibles tolerante al trastorno de evento único (SEU). Para mantener el funcionamiento correcto en presencia de SEU, se necesitaban amplias funciones de detección y manejo de errores. Los objetivos han sido detectar y tolerar un error en cualquier registro sin la intervención del software y suprimir los efectos de los errores transitorios de evento único (SET) en la lógica combinacional.
La familia LEON incluye el primer diseño LEON1 VHSIC Hardware Description Language (VHDL) que se utilizó en el chip de prueba LEONExpress desarrollado en tecnología de 0,25 μm para probar el concepto de tolerancia a fallos. El segundo diseño LEON2 VHDL se utilizó en el dispositivo procesador AT697 de Atmel (F) y varios dispositivos de sistema en chip. Estas dos implementaciones LEON fueron desarrolladas por la ESA. Gaisler Research, ahora parte de Cobham (antes Aeroflex Gaisler), desarrolló el tercer diseño LEON3 y ha anunciado la disponibilidad de la cuarta generación LEON, el procesador LEON4. [7]
Modelos y distribuciones de procesadores LEON
Un procesador LEON puede implementarse en lógica programable como un FPGA o fabricarse en un ASIC . Esta sección y las subsecciones posteriores se centran en los procesadores LEON como núcleos IP suaves y resumen las características principales de cada versión de procesador y la infraestructura con la que se empaqueta el procesador, lo que se conoce como distribución LEON .
Todos los procesadores de la serie LEON utilizan el conjunto de instrucciones SPARC V8 RISC. LEON2 (-FT) tiene una tubería de cinco etapas , mientras que las versiones posteriores tienen una tubería de siete etapas. LEON2 y LEON2-FT se distribuyen como un diseño de sistema en chip que se puede modificar mediante una herramienta de configuración gráfica. Si bien el diseño LEON2 (-FT) se puede extender y reutilizar en otros diseños, su estructura no enfatiza la reutilización de partes del diseño como bloques de construcción ni permite a los diseñadores incorporar fácilmente nuevos núcleos IP en el diseño.
La distribución estándar LEON2 (-FT) incluye los siguientes núcleos de soporte: [8]
- Controlador de interrupción
- Unidad de soporte de depuración con búfer de seguimiento
- Dos temporizadores de 24 bits
- Dos UART
- Puerto de E / S de 16 bits
- Controlador de memoria .
Los núcleos LEON3, LEON3FT y LEON4 se utilizan normalmente junto con la biblioteca IP GRLIB. Mientras que las distribuciones LEON2 contienen un diseño que se puede utilizar en varias tecnologías de destino, GRLIB contiene varios diseños de plantilla, tanto para placas de desarrollo FPGA como para objetivos ASIC que se pueden modificar utilizando una herramienta de configuración gráfica similar a la de la distribución LEON2. El paquete LEON / GRLIB contiene una mayor cantidad de núcleos en comparación con las distribuciones LEON2 y también incluye una extensión plug and play para el bus AMBA en el chip . Los núcleos IP disponibles en GRLIB también incluyen: [9]
- Controlador SDRAM PC133 de 32 bits
- Puente PCI de 32 bits con DMA
- MAC Ethernet de 10/100/1000 Mbit
- Controlador PROM y SRAM de 8/16/32 bits
- Controladores DDR / DDR2 de 16/32/64 bits
- Controladores de dispositivo y host USB 2.0
- Controlador CAN
- Controlador TAP
- Controlador SPI
- Controlador I2C
- UART con FIFO
- Unidad de temporizador modular
- Controlador de interrupción
- Puerto de E / S de propósito general (GPIO) de 32 bits
Flujo de diseño de FPGA
La documentación del flujo de diseño para el LEON en FPGA está disponible del fabricante [10] y de recursos de terceros. [11]
Terminología
El término LEON2 / LEON2-FT a menudo se refiere al diseño de sistema en chip LEON2, que es el núcleo del procesador LEON2 junto con el conjunto estándar de periféricos disponibles en la distribución LEON2 (-FT). Los procesadores posteriores de la serie LEON se utilizan en una amplia gama de diseños y, por lo tanto, no están tan estrechamente acoplados con un conjunto estándar de periféricos. Con LEON3 y LEON4, el nombre generalmente se refiere solo al núcleo del procesador, mientras que LEON / GRLIB se usa para referirse al diseño completo del sistema en chip.
Núcleo del procesador LEON2
LEON2 tiene las siguientes características:
- La licencia GNU LGPL permite un alto grado de libertad de la intervención en el código fuente disponible libremente.
- La configurabilidad es una característica clave del proyecto, [12] y se logra mediante el uso de genéricos VHDL. [13]
- Ofrece todas las funciones básicas de un procesador en orden canalizado.
- Es un proyecto VHDL de bastante tamaño (alrededor de 90 archivos, para la distribución completa de LEON2, incluidos los núcleos IP periféricos)
Núcleo del procesador LEON2-FT
El procesador LEON2-FT es la versión tolerante a fallas (FT) de evento único del procesador LEON2. Los flip-flops están protegidos por triple redundancia modular y todas las memorias internas y externas están protegidas por EDAC o bits de paridad . Se aplican restricciones de licencia especiales a esta IP (distribuida por la Agencia Espacial Europea [8] ). Entre otros satélites, el procesador se utilizó en el Vehículo Experimental Intermedio (IXV) de la ESA en 2015 [14] y en el módulo de aterrizaje lunar Chang'e 4 de China . [15]
Núcleo del procesador LEON3
El LEON3 es un modelo VHDL sintetizable de un procesador de 32 bits compatible con la arquitectura SPARC V8. El modelo es altamente configurable y particularmente adecuado para diseños de sistema en un chip ( SoC ). El código fuente completo está disponible bajo la licencia GNU GPL, lo que permite su uso para cualquier propósito sin tarifa de licencia. LEON3 también está disponible bajo una licencia propietaria, lo que permite su uso en aplicaciones propietarias.
Existen varias diferencias entre los dos modelos de procesador LEON2 y el LEON3. LEON3 incluye soporte SMP y una tubería de siete etapas, mientras que LEON2 no es compatible con SMP y tiene una tubería de cinco etapas.
Núcleo del procesador LEON3FT
El LEON3FT es una versión tolerante a fallos del procesador LEON3 SPARC V8 estándar. Ha sido diseñado para funcionar en entornos espaciales hostiles e incluye funcionalidad para detectar y corregir errores de alteración de evento único (SEU) en todas las memorias RAM en chip. El procesador LEON3FT admite la mayor parte de la funcionalidad del procesador LEON3 estándar y agrega las siguientes características:
- Archivo de registro SEU corrección de errores de hasta 4 errores por palabra de 32 bits
- Corrección de errores de la memoria caché de hasta 4 errores por etiqueta o palabra de 32 bits
- Manejo de errores autónomo y transparente por software
- Sin impacto de tiempo debido a la detección o corrección de errores
Las siguientes características del procesador LEON3 estándar no son compatibles con LEON3FT
- RAM del scratchpad local (ni para instrucciones ni para datos)
- Bloqueo de caché
- Algoritmo de reemplazo de caché LRR (reemplazado menos recientemente)
El núcleo LEON3FT se distribuye junto con una versión FT especial de la biblioteca IP GRLIP. Solo es posible la distribución de netlist.
Se propone una implementación FPGA llamada LEON3FT-RTAX para aplicaciones espaciales críticas. [dieciséis]
Núcleo del procesador LEON4
En enero de 2010, se lanzó la cuarta versión del procesador LEON. [7] Esta versión tiene las siguientes características nuevas:
- Predicción de rama estática agregada a la canalización
- Caché de nivel 2 opcional
- Ruta de 64 bits o 128 bits a la interfaz AMBA AHB
- Mayor rendimiento posible (declarado por el fabricante: 1,7 DMIPS / MHz en lugar de 1,4 DMIPS / MHz de LEON3)
- Rad se endureció. [1]
Núcleo del procesador LEON5
En desarrollo. [17]
Soporte de SO en tiempo real
Los sistemas operativos en tiempo real que admiten el núcleo LEON son actualmente RTLinux , PikeOS , eCos , RTEMS , Nucleus, ThreadX , OpenComRTOS , VxWorks (según un puerto de Gaisler Research), LynxOS (también por un puerto de Gaisler Research), POK [18] (una implementación ARINC653 gratuita lanzada bajo la licencia BSD) y ORK +, [19] un kernel de código abierto en tiempo real para aplicaciones en tiempo real de alta integridad con el perfil Ravenscar , Embox [20] un código abierto configurable SO en tiempo real que permite usar software Linux sin Linux.
Ver también
- OpenSPARC
- S1 Core
- OpenRISC
- ERC32
- FeiTeng-1000
- Microprocesador suave
- Módulo de aterrizaje Schiaparelli EDM
Referencias
- ^ a b "Placa de evaluación de microprocesador de próxima generación LEON4 de cuatro núcleos GR-CPCI-LEON4-N2X" (PDF) . Aeroflex Gaisler AB.
- ^ "Procesador LEON4" . Cobham Gaisler Plc . Consultado el 12 de enero de 2021 .
Hasta 150 MHz en FPGA y 1500 MHz en ASIC de 32 nm
- ^ Peter Clarke (6 de marzo de 2000). "La Agencia Espacial Europea lanza un núcleo gratuito similar a Sparc" . EE Times .
- ^ Peter Clarke (24 de febrero de 2005). "El desarrollador del procesador Free Sparc se vuelve" comercial " " . EE Times .
- ^ Declan Staunton. "Uso exitoso de un procesador de código abierto en un ASIC comercial" . Diseño y reutilización .
- ^ J. Andersson; J. Gaisler; R. Weigand (2010). Microprocesador multipropósito de próxima generación (PDF) . Sistemas de datos en el sector aeroespacial 2010 (DASIA2010) . Consultado el 17 de marzo de 2020 .
- ^ a b "Aeroflex Gaisler anuncia el procesador LEON de próxima generación" (Comunicado de prensa). Aeroflex Gaisler. 2010-01-27.
- ^ a b "LEON2-FT" . Agencia Espacial Europea .
- ^ "Biblioteca de IP GRLIB" . Cobham Gaisler . Consultado el 17 de marzo de 2020 .
- ^ "Manual del usuario de la biblioteca GRLIB IP" (PDF) . Cobham Gaisler . Noviembre de 2019.
- ^ Lutz Buttelmann. "Cómo configurar la simulación LEON3 VHDL con Modelsim" (PDF) . Archivado desde el original (PDF) el 4 de marzo de 2016.
- ^ "Desarrollo de System-On-Chip (SOC)" . ESA Microelectrónica .
- ^ "Procesador Leon3" . Investigación de Gaisler . Archivado desde el original el 28 de junio de 2007.
- ^ "LEON: el chip espacial que construyó Europa" . SpaceDaily . 2013-01-10.
- ^ "Módulo de aterrizaje Chang'e-4" . Agencia Espacial Europea . Consultado el 18 de julio de 2019 .
- ^ "Procesador tolerante a fallas LEON3FT-RTAX" . Cobham Gaisler .
- ^ "LEON5" . www.gaisler.com .
- ^ "POK, un kernel en tiempo real para sistemas embebidos seguros" .
- ^ "ORK +" . Grupo STRAST .
- ^ "Embox | Sistema operativo en tiempo real" .
enlaces externos
- Cobham Gaisler
- GR740 : el microprocesador de próxima generación de la ESA (NGMP)
- Cobham: soluciones endurecidas por radiación y componentes de alta fiabilidad
- Tutorial LEON3
- GNU / Linux en la arquitectura SPARC con puerto original en LEON
- SPARC: Código abierto en Curlie