stringtranslate.com

Niños II

Nios II es una arquitectura de procesador integrado de 32 bits diseñada específicamente para la familia Altera de circuitos integrados de matriz de puertas programables en campo (FPGA) . Nios II incorpora muchas mejoras con respecto a la arquitectura Nios original, lo que lo hace más adecuado para una gama más amplia de aplicaciones informáticas integradas, desde procesamiento de señales digitales (DSP) hasta control de sistemas.

Nios II es el sucesor del primer procesador integrado configurable de 16 bits de Altera, Nios , presentado en 2000. [1]

Características clave

Al igual que el Nios original, la arquitectura Nios II es una arquitectura de núcleo blando RISC que se implementa completamente en la lógica programable y los bloques de memoria de los FPGA de Altera. A diferencia de su predecesor, es un diseño completo de 32 bits :

La naturaleza de núcleo blando del procesador Nios II permite al diseñador del sistema especificar y generar un núcleo Nios II personalizado, adaptado a los requisitos específicos de su aplicación. Los diseñadores de sistemas pueden ampliar la funcionalidad básica del Nios II, por ejemplo, agregando una unidad de administración de memoria predefinida o definiendo instrucciones y periféricos personalizados.

Instrucciones personalizadas

De manera similar a las instrucciones nativas de Nios II, las instrucciones definidas por el usuario aceptan valores de hasta dos registros de origen de 32 bits y, opcionalmente, escriben un resultado en un registro de destino de 32 bits. Al utilizar instrucciones personalizadas , los diseñadores del sistema pueden ajustar el hardware del sistema para cumplir con los objetivos de rendimiento y también el diseñador puede manejar fácilmente la instrucción como una macro en C.

Periféricos personalizados

Para sistemas críticos para el rendimiento que emplean la mayoría de los ciclos de CPU ejecutando una sección específica de código, un periférico definido por el usuario puede potencialmente descargar parte o toda la ejecución de un algoritmo de software a la lógica de hardware definida por el usuario , mejorando la eficiencia energética o el rendimiento de la aplicación. .

Unidad de gestión de memoria

Introducida con Quartus 8.0, la MMU opcional permite a Nios II ejecutar sistemas operativos que requieren paginación y protección basada en hardware, como el kernel de Linux. Sin una MMU, Nios está restringido a sistemas operativos que utilizan una protección simplificada y un modelo de memoria virtual: por ejemplo, µClinux y FreeRTOS .

Unidad de protección de memoria

Introducida con Quartus 8.0, la MPU opcional proporciona protección de memoria similar a la proporcionada por una MMU pero con un modelo de programación más simple y sin la sobrecarga de rendimiento asociada con una MMU.

Familia de CPU Nios II

Nios II classic se ofrece en 3 configuraciones diferentes: Nios II/f (rápido), Nios II/s (estándar) y Nios II/e (económico). Nios II gen2 se ofrece en 2 configuraciones diferentes: Nios II/f (rápido) y Nios II/e (económico).

Nios II/f

El núcleo Nios II/f está diseñado para ofrecer el máximo rendimiento a expensas del tamaño del núcleo. Las características de Nios II/f incluyen:

Niños II/s

El núcleo de Nios II/s está diseñado para mantener un equilibrio entre rendimiento y costo. Esta implementación principal ya no es compatible con Altera Quartus II v.17 y posteriores. Las características de Nios II/s incluyen:

Niños II/e

El núcleo Nios II/e está diseñado para la utilización lógica más pequeña posible de FPGA. Esto es especialmente eficiente para aplicaciones FPGA Cyclone II de bajo costo. Las características de Nios II/e incluyen:

Interfaz de tejido del conmutador Avalon

Nios II utiliza la estructura del conmutador Avalon como interfaz para sus periféricos integrados. En comparación con un bus tradicional en un sistema basado en procesador, que permite que solo un maestro de bus acceda al bus a la vez, la estructura del conmutador Avalon, que utiliza un esquema de arbitraje del lado esclavo, permite que varios maestros operen simultáneamente.

Procesos de desarrollo

El desarrollo de Nios II consta de dos pasos separados: generación de hardware y creación de software.

El desarrollo se aloja dentro de una aplicación de Altera llamada Embedded Design Suite (EDS). El EDS contiene un entorno de desarrollo integrado completo para gestionar tanto el hardware como el software en dos pasos separados:

Proceso de generación de hardware

Los diseñadores de hardware de Nios II utilizan la herramienta de integración del sistema Qsys, un componente del paquete Quartus-II, para configurar y generar un sistema Nios. La interfaz gráfica de usuario (GUI) de configuración permite a los usuarios elegir el conjunto de funciones del Nios-II y agregar periféricos y bloques de E/S (temporizadores, controladores de memoria, interfaz serie, etc.) al sistema integrado. Cuando se completa la especificación del hardware, Quartus-II realiza la síntesis, ubicación y ruta para implementar todo el sistema en el objetivo FPGA seleccionado.
Qsys está reemplazando al antiguo SOPC (System-on-a-Programmable-Chip) Builder, que también podría usarse para construir un sistema Nios II, y se recomienda para nuevos proyectos. [2]

Proceso de creación de software

Un paquete separado, llamado Embedded Design Suite (EDS), gestiona el desarrollo del software. Basado en Eclipse IDE, el EDS incluye un compilador C/C++ (basado en la cadena de herramientas GNU ), un depurador y un simulador de conjunto de instrucciones. EDS permite a los programadores probar su aplicación en simulación o descargar y ejecutar su aplicación compilada en el host FPGA real.

Debido a que la cadena de desarrollo de C/C++ se basa en GCC, la gran mayoría del software de código abierto para Linux se compila y ejecuta con modificaciones mínimas o nulas. También se han portado sistemas operativos de terceros a Nios II. Estos incluyen Micrium MicroC/OS-II , eCos , Segger Microcontroller embOS, ChibiOS/RT , μCLinux y FreeRTOS .

Licencia

Nios II es comparable a MicroBlaze , una CPU softcore competidora para la familia Xilinx de FPGA. A diferencia de MicroBlaze, Nios II tiene licencia para ASIC de celda estándar a través de un proveedor de IP externo, Synopsys Designware. A través de la licencia Designware, los diseñadores pueden portar diseños basados ​​en Nios desde una plataforma FPGA a un dispositivo ASIC de producción en masa.

Ver también

Referencias

  1. ^ Altera. "Antecedentes del procesador integrado Nios II" (PDF) .
  2. ^ "Cinco razones para cambiar de SOPC Builder a Qsys". Altera . Consultado el 16 de marzo de 2012 .

enlaces externos