LEON (del español : león ) es un núcleo de microprocesador de unidad central de procesamiento (CPU) de 32 bits tolerante a la radiación que implementa la arquitectura del conjunto de instrucciones (ISA) SPARC V8 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), sin ninguna participación de Sun. Versiones posteriores han sido diseñadas por Gaisler Research , bajo diversos propietarios. Se describe en el lenguaje de descripción de hardware VHSIC sintetizable ( VHDL ). LEON tiene un modelo de licencia dual: una licencia de software libre y de código abierto (FOSS) GNU Lesser General Public License (LGPL) y GNU General Public License (GPL) que se puede usar sin costo de licencia, o una licencia propietaria que se puede adquirir para su integración en un producto propietario. [ 3 ] [ 4 ] El núcleo es configurable a través de genéricos VHDL y se utiliza en diseños de sistemas en un chip (SOC) tanto en entornos de investigación como comerciales. [ 5 ]
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 fabricarlo en un proceso de semiconductores sensible tolerante a errores 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 intervención de software, y suprimir los efectos de errores transitorios de evento único (SET) en lógica combinacional.
La familia LEON incluye el primer diseño LEON1 VHSIC en lenguaje de descripción de hardware (VHDL), que se utilizó en el chip de prueba LEONExpress, desarrollado con tecnología de 0,25 μm para demostrar el concepto de tolerancia a fallos. El segundo diseño LEON2 VHDL se utilizó en el procesador AT697 de Atmel (F) y en varios sistemas en chip. Estas dos implementaciones de LEON fueron desarrolladas por la ESA. Gaisler Research, ahora parte de Frontgrade (anteriormente Aeroflex y Cobham ), desarrolló el tercer diseño LEON3 y ha anunciado la disponibilidad de la cuarta generación de LEON, el procesador LEON4. [ 7 ]
Modelos y distribuciones de procesadores LEON
Un procesador LEON puede implementarse en lógica programable, como una matriz de puertas programables en campo (FPGA), o fabricarse como un circuito integrado de aplicación específica (ASIC). Esta sección y las subsecciones subsiguientes se centran en los procesadores LEON como núcleos IP flexibles y resumen las características principales de cada versión del procesador y la infraestructura con la que se empaqueta, denominada distribución LEON .
Todos los procesadores de la serie LEON utilizan la arquitectura RISC ( conjunto de instrucciones reducido ) SPARC V8. LEON2(-FT) cuenta con una arquitectura de cinco etapas , mientras que las versiones posteriores incorporan una de siete etapas. LEON2 y LEON2-FT se distribuyen como un sistema en chip que puede modificarse mediante una herramienta de configuración gráfica. Si bien el diseño de LEON2(-FT) puede ampliarse y reutilizarse en otros diseños, su estructura no prioriza la reutilización de componentes como bloques de construcción ni permite a los diseñadores incorporar fácilmente nuevos núcleos IP.
La distribución estándar LEON2(-FT) incluye los siguientes núcleos de soporte: [ 8 ]
- Controlador de interrupciones
- Unidad de soporte de depuración con búfer de rastreo
- Dos temporizadores de 24 bits
- Dos transmisores-receptores asíncronos universales (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 puede utilizarse en varias tecnologías de destino, GRLIB contiene varios diseños de plantilla, tanto para placas de desarrollo FPGA como para destinos ASIC que pueden modificarse mediante una herramienta de configuración gráfica similar a la de la distribución LEON2. El paquete LEON/GRLIB contiene un mayor número de núcleos en comparación con las distribuciones LEON2 y también incluye una extensión plug and play (PnP) para el bus AMBA ( Advanced Microcontroller Bus Architecture ) integrado en el chip . Los núcleos IP disponibles en GRLIB también incluyen: [ 9 ]
- Controlador de memoria de acceso aleatorio dinámico síncrono (SDRAM) PC133 de 32 bits
- Puente de interconexión de componentes periféricos (PCI) de 32 bits con acceso directo a memoria (DMA).
- Dirección de control de acceso al medio Ethernet de 10/100/1000 Mbit ( dirección MAC )
- Controlador de memoria de solo lectura programable (PROM) de 8/16/32 bits y memoria de acceso aleatorio estática (SRAM).
- Controladores DDR/DDR2 de 16/32/64 bits
- Controladores de host y de dispositivo del Bus Serie Universal ( USB ) 2.0
- controlador de red de área de controlador (CAN)
- Controlador JTAG TAP
- Controlador de interfaz periférica serie (SPI)
- Controlador de circuitos integrados interconectados ( I²C )
- Transmisor-receptor asíncrono universal (UART) con primero en entrar, primero en salir ( FIFO ).
- Unidad de temporizador modular
- Controlador de interrupciones
- 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 LEON en FPGA está disponible en el fabricante [ 10 ] y en recursos de terceros. [ 11 ]
Terminología
El término LEON2/LEON2-FT suele referirse al sistema en chip LEON2, que incluye 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 vinculados a un conjunto estándar de periféricos. En el caso de LEON3 y LEON4, el nombre generalmente se refiere solo al núcleo del procesador, mientras que LEON/GRLIB se utiliza para referirse al sistema en chip completo.
núcleo del procesador LEON2
LEON2 tiene las siguientes características:
- La licencia GNU LGPL permite un alto grado de libertad de intervención sobre el código fuente disponible gratuitamente.
- 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 segmentado.
- Se trata de un proyecto VHDL de tamaño considerable (unos 90 archivos, para la distribución completa de LEON2, incluidos los núcleos IP periféricos).
núcleo del procesador LEON2-FT
The LEON2-FT processor is the single-event upsetfault tolerant (FT) version of the LEON2 processor. Flip-flops are protected by triple modular redundancy and all internal and external memories are protected by EDAC or parity bits. Special licence restrictions apply to this IP (distributed by the European Space Agency[8]). Among other satellites, the processor was used in ESA's Intermediate eXperimental Vehicle (IXV) in 2015[14] and China's Chang'e 4 lunar lander.[15]
LEON3 processor core
The LEON3 is a synthesisable VHDL model of a 32-bit processor compliant with the SPARC V8 architecture. The model is highly configurable, and particularly suitable for system-on-a-chip (SoC) designs. The full source code is available under the GNU GPL license, allowing use for any purpose without licensing fee. LEON3 is also available under a proprietary license, allowing it to be used in proprietary applications.
There are several differences between the two LEON2 processor models and the LEON3. LEON3 includes SMP support and a seven-stage pipeline, while LEON2 does not support SMP and has a five-stage pipeline.
LEON3FT processor core
The LEON3FT is a fault-tolerant version of the standard LEON3 SPARC V8 Processor. It has been designed for operation in the harsh space environment, and includes functionality to detect and correct single-event upset (SEU) errors in all on-chip RAM memories. The LEON3FT processor supports most of the functionality in the standard LEON3 processor, and adds the following features:
- Register file SEU error-correction of up to 4 errors per 32-bit word
- Cache memory error-correction of up to 4 errors per tag or 32-bit word
- Autonomous and software transparent error handling
- No timing impact due to error detection or correction
The following features of the standard LEON3 processor are not supported by LEON3FT
- Local scratchpad RAM (neither for instruction nor for data)
- Cache locking
- LRR (least recently replaced) cache replacement algorithm
The LEON3FT core is distributed together with a special FT version of the GRLIP IP library. Only netlist distribution is possible.
An FPGA implementation called LEON3FT-RTAX was proposed for critical space applications.,[16] but it has been discontinued.
LEON4 processor core
In January 2010, the fourth version of the LEON processor was released.[7] This release has the following new features:
- Se agregó la predicción de bifurcaciones estáticas al pipeline.
- Caché de nivel 2 opcional
- Ruta de 64 o 128 bits a la interfaz AMBA AHB
- Mayor rendimiento posible (según el fabricante: 1,7 DMIPS /MHz frente a los 1,4 DMIPS/MHz del LEON3).
- Radi endurecido. [ 1 ]
núcleo del procesador LEON5
Soporte del sistema operativo 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 (un puerto de Gaisler Research), LynxOS (también un puerto de Gaisler Research), POK [ 17 ] (una implementación gratuita de ARINC653 publicada bajo la licencia BSD) y ORK+, [ 18 ] un kernel en tiempo real de código abierto para aplicaciones en tiempo real de alta integridad con el perfil Ravenscar , Embox [ 19 ] un sistema operativo en tiempo real configurable de código abierto que permite usar software Linux sin Linux.
Véase también
Referencias
- 1 2 "Placa de evaluación del 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.
- ↑ Clarke, Peter (2000-03-06). "La Agencia Espacial Europea lanza un núcleo gratuito similar a SPARC" . EE Times .
- ↑ Clarke, Peter (24 de febrero de 2005). "Desarrollador de procesadores SPARC gratuitos se vuelve "comercial"" . EE Times .
- ↑ Staunton, Declan. "Uso exitoso de un procesador de código abierto en un ASIC comercial" . Diseño y reutilización .
- ↑ Andersson, J.; Gaisler, J.; Weigand, R. (2010). Microprocesador multipropósito de próxima generación (PDF) . DAta Systems In Aerospace 2010 (DASIA2010) . Recuperado el 17 de marzo de 2020 .
- 1 2 "Aeroflex Gaisler anuncia el procesador LEON de próxima generación" (Comunicado de prensa). Aeroflex Gaisler. 27 de enero de 2010.
- 1 2 "LEON2-FT" . Agencia Espacial Europea .
- ↑ "Biblioteca de propiedad intelectual GRLIB" . Cobham Gaisler . Consultado el 17 de marzo de 2020 .
- ↑ "Manual de usuario de la biblioteca de propiedad intelectual GRLIB" (PDF) . Cobham Gaisler . Noviembre de 2019.
- ↑ Buttelmann, Lutz. "Cómo configurar la simulación VHDL de LEON3 con Modelsim" (PDF) . Archivado del original (PDF) el 4 de marzo de 2016.
- ↑ "Desarrollo de sistemas en chip (SOC)" . Microelectrónica de la ESA .
- ↑ "Procesador Leon3" . Gaisler Research . Archivado del original el 28 de junio de 2007.
- ↑ "LEON: el chip espacial que construyó Europa" . SpaceDaily . 10 de enero de 2013.
- ↑ "Aterrizaje Chang'e-4" . Agencia Espacial Europea . Consultado el 18 de julio de 2019 .
- ↑ "Procesador tolerante a fallos LEON3FT-RTAX" . Frontgrade Gaisler . Consultado el 1 de junio de 2023 .
- ↑ "POK, un núcleo en tiempo real para sistemas embebidos seguros" .
- ↑ "ORK+" . Grupo STRAST . Archivado del original el 7 de abril de 2022. Consultado el 13 de noviembre de 2014 .
- ↑ "Embox | Sistema operativo en tiempo real" .
Enlaces externos
- Cobham Gaisler
- GR740 : El microprocesador de próxima generación (NGMP) de la ESA
- Cobham: Soluciones resistentes a la radiación y componentes de alta fiabilidad. Archivado el 3 de marzo de 2021 en Wayback Machine.
- Tutorial de LEON3
- GNU/Linux en la arquitectura SPARC con puerto original en LEON
- microprocesadores integrados
- Agencia Espacial Europea
- Microprocesadores resistentes a la radiación
- Microprocesadores abiertos
- microprocesadores blandos
- Microprocesadores SPARC