información general | |
---|---|
Lanzado | 1997 ( 1997 ) |
Comercializado por | Airbus Defensa y Espacio |
Diseñado por | Sun Microsystems (adquirida por Oracle Corporation ) ( conjunto de instrucciones , diseño original [ aclaración necesaria ] ) Agencia Espacial Europea (ESA) Gaisler Research (procesador, derivado del diseño [ aclaración necesaria ] ) |
Fabricante común |
|
Actuación | |
Frecuencia máxima 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 |
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. Las versiones posteriores han sido diseñadas por Gaisler Research , bajo una variedad de propietarios. Se describe en lenguaje de descripción de hardware VHSIC ( VHDL ) sintetizable. LEON tiene un modelo de licencia dual: una licencia pública general reducida de GNU (LGPL) y una licencia pública general de GNU (GPL) de software libre y de código abierto (FOSS) que se puede usar sin tarifa de licencia, o una licencia propietaria que se puede comprar 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 sistema en un chip (SOC) tanto en entornos de investigación como comerciales. [5]
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 satisfacer los requisitos futuros de rendimiento, compatibilidad de software y bajo coste del sistema. Otro objetivo era poder fabricar en un proceso de semiconductores sensibles tolerantes a perturbaciones de un solo evento (SEU). Para mantener el funcionamiento correcto en presencia de SEU, se necesitaban amplias funciones de detección y gestión de errores. Los objetivos han sido detectar y tolerar un error en cualquier registro sin intervención de software, y suprimir los efectos de los errores transitorios de un solo evento (SET) en la lógica combinacional.
La familia LEON incluye el primer diseño de lenguaje de descripción de hardware (VHDL) LEON1 VHSIC 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 VHDL LEON2 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 Frontgrade (anteriormente Aeroflex y Cobham ), desarrolló el tercer diseño LEON3 y ha anunciado la disponibilidad del LEON de cuarta generación, el procesador LEON4. [7]
Un procesador LEON se puede implementar en lógica programable , como una matriz de puertas programables en campo (FPGA), o fabricarse en un circuito integrado específico de la aplicación (ASIC). Esta sección y las subsecciones posteriores se centran en los procesadores LEON como núcleos de IP blandos y resumen las características principales de cada versión de procesador y la infraestructura con la que se empaqueta el procesador, denominada distribución LEON .
Todos los procesadores de la serie LEON utilizan el ISA SPARC V8 de conjunto de instrucciones reducidas (RISC). LEON2(-FT) tiene una secuencia de cinco etapas , mientras que las versiones posteriores tienen una secuencia 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 ampliar 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]
Los núcleos LEON3, LEON3FT y LEON4 se utilizan normalmente junto con la biblioteca IP de 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 destinos 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 (PnP) al bus de arquitectura de bus de microcontrolador avanzado (AMBA) en chip . Los núcleos IP disponibles en GRLIB también incluyen: [9]
La documentación del flujo de diseño para el LEON en FPGA está disponible a través del fabricante [10] y de recursos de terceros. [11]
El término LEON2/LEON2-FT suele referirse 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. En el caso de LEON3 y LEON4, el nombre suele referirse únicamente al núcleo del procesador, mientras que LEON/GRLIB se utiliza para referirse al diseño completo de sistema en chip.
LEON2 tiene las siguientes características:
El procesador LEON2-FT es la versión tolerante a fallos (FT) de un solo evento del procesador LEON2. Los flip-flops están protegidos por redundancia modular triple y todas las memorias internas y externas están protegidas por EDAC o bits de paridad . Se aplican restricciones de licencia especiales a esta propiedad intelectual (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]
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 sistemas 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 pagar una 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. El LEON3 incluye compatibilidad con SMP y un pipeline de siete etapas, mientras que el LEON2 no admite SMP y tiene un pipeline de cinco etapas.
El LEON3FT es una versión tolerante a fallas 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 un solo evento (SEU) en todas las memorias RAM integradas. El procesador LEON3FT admite la mayoría de las funciones del procesador LEON3 estándar y agrega las siguientes características:
Las siguientes características del procesador LEON3 estándar no son compatibles con LEON3FT
El núcleo LEON3FT se distribuye junto con una versión FT especial de la biblioteca IP GRLIP. Solo es posible la distribución mediante listas de conexiones.
Se propuso una implementación de FPGA llamada LEON3FT-RTAX para aplicaciones espaciales críticas, [16] pero se ha descontinuado.
En enero de 2010 se lanzó la cuarta versión del procesador LEON. [7] Esta versión tiene las siguientes características nuevas:
En desarrollo. [17]
Los sistemas operativos en tiempo real que soportan el núcleo LEON son actualmente RTLinux , PikeOS , eCos , RTEMS , Nucleus, ThreadX , OpenComRTOS , VxWorks (un port de Gaisler Research), LynxOS (también un port de Gaisler Research), POK [18] (una implementación libre de ARINC653 publicada bajo la licencia BSD) y ORK+, [19] un kernel en tiempo real de código abierto para aplicaciones en tiempo real de alta integridad con el perfil Ravenscar , Embox [20] un sistema operativo en tiempo real configurable de código abierto que permite usar software Linux sin Linux.
150 MHz en FPGA y 1500 MHz en ASIC de 32 nm.