El kit de desarrollo de FPGA para Cyclone V SoC permite el diseño de software

Publicado por

Cyclone® V SoC de Altera es una red de compuertas programables en campo (FPGA) con un procesador ARM® integrado que permite el diseño flexible de hardware periférico. El procesador ARM Cortex-A9® MPCore™ de 925 MHz tiene la opción de núcleo único o doble.

El procesador ARM no solo brinda un rendimiento y una eficiencia energética increíbles, sino que también brinda gráficos 2D o 3D de avanzada y aceleración del procesamiento de señales mediante el motor de medios de instrucción única y datos múltiples (SIMD) ARM NEON™. Puede comenzar a diseñar fácilmente con Cyclone V SoC aprovechando la documentación completa, el apoyo fuerte de la comunidad, los kits de desarrollo con muchas características y una gran variedad de ejemplos de diseño disponibles.

 

Imagen 1: Arquitectura de Cyclone V SoC de Altera


Las FPGA pueden ser intimidantes para los diseñadores de software. Por lo tanto, es necesario tener una plataforma confiable, buenas herramientas de desarrollo y un soporte fuerte para el sistema operativo para facilitar el proceso de diseño. Los diseñadores de software necesitan acceso a periféricos del sistema y ancho de banda de memoria sin el inconveniente de las iteraciones de hardware. Sin embargo, siempre hay un elemento de hardware específico de la aplicación que se debe adaptar, y el desafío es encontrar una solución de sistema que brinde ambos. Las FPGA de Cyclone V SoC están preparadas para cumplir con ambos requisitos y tienen un ecosistema desarrollado específicamente para brindar lo mejor de ambos mundos.

Comience de inmediato con un kit de desarrollo

Los diseñadores de software pueden comenzar a trabajar de inmediato usando un kit para Atlas-SoC, un kit de desarrollo para Cyclone V SX SoC, un kit para Arrow Electronics SoC o demás placas disponibles y basar la arquitectura subyacente en uno de los ejemplos de diseño funcionales. Estas placas incorporan un conjunto común de componentes periféricos necesarios para la mayoría de los diseños, lo cual permite un acceso inmediato a una gran cantidad de hardware digital de alta velocidad probado, incluidos transceptores de bus de alta velocidad, dispositivos de memoria DDR2/DDR3, Ethernet, USB, tarjetas SD e interfaz LCD.

Los diseños lógicos de FPGA personalizados se conectan con el sistema de procesamiento rígido (HPS) de Cyclone V SoC mediante un bus estandarizado que permite una interacción simple entre las particiones de las FPGA y del HPS. Se puede acceder a la E/S mediante la interfaz de programación de aplicaciones (API) de E/S de propósito general (GPIO) y se pueden obtener niveles elevados de abstracción entre las FPGA personalizadas y el HPS usando transferencias memoria a memoria de acceso directo a memoria (DMA). Esto se logra mediante un DMA de HPS al cual se accede a través de una API de DMA o mediante un módulo inteligente de FPGA con su propio DMA integrado o un módulo de DMA iniciado en el diseño de herramienta de integración de sistemas QSYS de Altera.

 

Imagen 2: Kit para Atlas-SoC

El kit para Atlas-SoC brinda una ventaja adicional integrando un cabezal de interfaz de Arduino, lo cual inmediatamente abre el camino al uso de una variedad de placas de expansión llamadas escudos. Los escudos brindan una capacidad de prototipo directa para varios periféricos, incluidos sensores, controladores de motores y servomotores, Wi-Fi 802.11 b/g, Bluetooth y GPS. Hay disponibles escudos de conversión para niveles de tensión incompatibles.

 Imagen 3: Tarjetas de expansión tipo escudo y HSMC de Arduino

El kit para Arrow SoC y el kit de desarrollo para Cyclone V SX SoC incorporan interfaces de tarjetas mezzanine de alta velocidad (HSMC), lo cual permite usar muchas tarjetas secundarias de alto rendimiento, incluidos sensores de imagen, convertidores analógico-digitales de alta velocidad e interfaces SDI PHY.

 

Imagen 4: Kit de desarrollo para Cyclone V SX SoC y kit para Arrow SoC  



Herramientas de diseño para optimización de diseños

La compilación de imágenes de hardware puede estar dirigida completamente por archivos Make, con un ejemplo alojado en GitHub. El producto Embedded Design Suite (EDS) para SoC de Altera es un entorno de desarrollo completo, documentado en detalle en la guía para el usuario de este producto. El producto EDS de SoC aprovecha la capacidad del kit de herramientas ARM Development Studio 5 (DS-5TM) Altera Edition y acelera el desarrollo de códigos usando una variedad de programas de utilidad y software de tiempo de ejecución predefinido con ejemplos de Linux. Se encuentra disponible una versión gratuita de la cadena de herramientas completa para descargar.

OpenCL se está convirtiendo en un estándar cada vez más popular para la programación de dispositivos paralelos heterogéneos. Es el estándar perfecto para mantener un nivel mayor de abstracción a la vez que se emplea el poder de procesamiento paralelo del motor de medios integrado en el SoC, los procesadores duales y la posible aceleración de las FPGA. La Guía de introducción del SDK de Altera para OpenCL de Cyclone V SoC lo ayuda a configurar y usar el SDK de Altera para OpenCL. Debido a que el rendimiento en tiempo real es fundamental para muchos diseños integrados, se ofrece un ejemplo de diseño para la generación de perfiles de ejecución de códigos en tiempo real.

Soporte sólida para sistemas operativos

Cyclone V SoC y los kits de desarrollo asociados tienen soporte integral para diferentes ecosistemas de sistemas operativos, los cuales se enumeran a continuación:

 

- Linux es el sistema operativo de propósito general de uso más común en SoC basados en ARM. Cyclone V SoC no es diferente; ya que tanto Altera como una gran comunidad de usuarios ofrecen soporte integral para este producto. Hay disponibles archivos binarios pregenerados para Linux con instrucciones paso a paso sobre cómo usarlos. Si se requiere un más personalización, el proceso total de reconstrucción está documentado en el proyecto comunitario de código abierto de Altera Yocto.
- Android está disponible en diferentes fuentes, incluidos kits de demostraciones, y en varias versiones, como Ice Cream Sandwich.
- FreeRTOS está disponible para el procesador Cortex-A9 de Cyclone V SoC con instrucciones de construcción detalladas y ejemplos. Se encuentran disponibles instrucciones detalladas para instalar Android y varias aplicaciones de muestra que demuestran las API, incluidos gráficos y animaciones 3D.
- VxWorks tiene un BSP de Wind River para el kit de desarrollo de Cyclone V SX SoC.
- Threadx de Express Logics.
- eCoSPro de eCosCentric.

Es más que un procesador: es un procesador con futuro.

Cyclone V SoC es más que solo otro SoC basado en ARM. Si bien ofrece los mismos beneficios para el desarrollo de software en cuanto a herramientas, aplicaciones, sistemas operativos y soporte que los dispositivos con habilitación diferente de FPGA, sus fortalezas son la integración, la aceleración, la personalización y la actualización.


Integración
La mayoría de las aplicaciones integradas requieren hardware específico de la aplicación. Muchos diseños requieren microcontroladores especializados para administrar las interfaces o procesar las señales a fin de alivianar la carga del sistema operativo. Mediante Qsys, los diseños de Cyclone V SoC pueden incorporar microprocesadores softcore, como el procesador Nios® II, que se pueden comunicar con la memoria del sistema mediante la interfaz del HPS. El microprocesador softcore personalizable permite que los controladores periféricos y el procesamiento de señales se integren sin dispositivos adicionales.
Aceleración
La lógica personalizable potencia el sistema con una enorme capacidad de procesamiento específica de la aplicación. Permite que los algoritmos se codifiquen de forma rígida y actúen como aceleradores e, incluso, como coprocesadores del procesador ARM. Las operaciones intensivas que serían poco prácticas de implementar en un procesador ARM, como conversiones abajo/arriba de receptor de alta velocidad, módems, códecs, codificadores y decodificadores, se pueden implementar de forma más eficiente con un hardware personalizado que con un software. La lógica de las FPGA incorpora cientos de módulos matemáticos de procesamiento de señales digitales (DSP) de propósito particular y pequeños bloques de memoria. Estos se pueden usar junto con elementos de lógica para implementar de forma eficiente y simultánea algoritmos específicos y lograr niveles de rendimiento que no podrían lograr los microprocesadores de instrucción secuencial.
Personalización
Si bien el HPS de Cyclone V SoC tiene un conjunto capaz y altamente flexible de elementos periféricos y E/S, la FPGA integrada permite que el diseño incorpore interfaces periféricas adicionales. A medida que cambian los requisitos del producto, el hardware personalizable puede modificarse junto con el software, lo cual permite la inclusión de características nuevas. Como la E/S del dispositivo tiene una mayor flexibilidad, es probable que se pueda reusar el mismo microprocesador en múltiples productos.
Actualización
El diseño del hardware de los productos se puede actualizar, junto con la actualización del software. Esto permite que se programen algoritmos de hardware complejos para actualizar el conjunto de características y corregir errores. Además, permite incluir mejoras de la aceleración y el procesamiento en paralelo del hardware en un diseño durante su vida útil, lo cual permite hacer iteraciones para mejorar la eficiencia y el rendimiento. Esto ofrece una grado de “preparación para el futuro” y permite que se adopte una estrategia de entrega más agresiva para los diseños de hardware complejos.

Ejemplo simple del flujo de diseño

Primer paso: Establecer la plataforma de creación de prototipos adecuada

Evalúe qué kit de desarrollo cumple con sus necesidades de programación según los periféricos y los elementos de lógica del dispositivo. Si se necesitan placas de expansión, compruebe la compatibilidad de E/S, incluida la tensión. Es común que un proyecto de desarrollo rápido emplee placas de expansión que se pueden usar con el kit de desarrollo para cualquier requisito periférico especial. Mientras se desarrolla el hardware por separado, el equipo de software puede usar una combinación de kits de desarrollo y de placas de expansión para hacer un prototipo del grueso del diseño de software. Con la documentación y los diseños abiertos disponibles para los kits, los diseñadores de software pueden reusar los elementos apropiados del diseño para reducir los riesgos.

Segundo paso: Acordar una arquitectura de sistema de FPGA

Establezca la arquitectura del procesador de FPGA subyacente con el diseñador de hardware. Encuentre un ejemplo de diseño que se ajuste a sus requisitos y cambie la configuración de Qsys para incorporar periféricos, memorias e interfaces adicionales. Es un buen momento para acordar los protocolos de las interfaces de hardware. El diseñador de hardware posiblemente pueda dar prioridad al desarrollo de esta interfaz con el código de prueba asociado compilado condicionalmente para permitir que la interfaz se diseñe y se pruebe antes de que se complete el diseño de hardware.

Tercer paso: Modificar un ejemplo de diseño adecuado

Encuentre el ejemplo de diseño que más se parezca a lo que desearía hacer en el área de software. Elija un ejemplo de diseño basado en el sistema operativo seleccionado e incluya elementos nuevos por etapas. Evalúe la posibilidad de brindar un conjunto simple de software de prueba para ayudar al diseñador de hardware a desarrollar su parte del diseño como prioridad. Hacer esto permitirá una integración más rápida en una etapa posterior. No pase directo al hardware real una vez que este esté disponible; antes de intentarlo, obtenga un grado alto de estabilidad del software. No hay nada peor que depurar el hardware y el software simultáneamente.

Cuarto paso: Hacer el proyecto

Asegúrese de que alguien sea responsable de la implementación de un proyecto completo para el software y el hardware combinados. Generalmente, esta etapa se pasa por alto, pero es una parte vital del control del proceso de creación y revisión. Además, elimina la dependencia de los IDE de herramienta y de sus GUI, lo cual permite la generación en segundo plano sin intervención manual que puede generar errores en la compilación.

 

 Imagen 5: Un sistema con HPS en Qsys (ver más grande)

 

Pruébelo

Altera creó una FPGA de SoC pensando tanto en los diseñadores de software como de hardware. Este es un emocionante paso en el mundo de integración aumentada y dispositivos inteligentes. Los dispositivos Cyclone V SoC borran los límites tradicionales entre hardware y software y permiten una implementación más potente y eficiente, a la vez que evitan los enfrentamientos entre estos dos componentes. La herramienta de integración de sistemas Qsys de Altera es ideal para establecer un contrato a nivel de sistema entre las áreas de software y hardware. La partición HPS/FGPA permite diferentes tareas de desarrollo y requiere de poca relación tecnológica entre las dos áreas. Se trata de una tecnología ingeniosa, emocionante y habilitante con soporte sólido, ecosistemas de desarrollo robustos y muchos ejemplos de diseño para usar como base. Los diseñadores pueden comenzar a trabajar de inmediato basando su arquitectura en uno de los muchos kits de desarrollo que se ofrecen y usar las variadas opciones de placas de extensión. Diseñar con SoC nunca ha sido tan fácil. Consulte a un representante de Altera para que lo guíe en este proceso y le indique el paso siguiente.



Últimas noticias

Lo sentimos, pero su selección de filtros no devolvió resultados.

Hemos actualizado nuestra política de privacidad. Por favor tome un momento para revisar estos cambios. Al hacer clic en Acepto, usted está de acuerdo con la Politica de Privacidad de Arrow Electronics y sus condiciones de uso.

Nuestro sitio Web coloca cookies en su dispositivo para mejorar su experiencia y nuestro sitio. Lea más sobre las cookies que utilizamos y cómo desactivarlas aquió. Es posible que se utilicen las cookies y tecnologías de seguimiento con fines de marketing.
Al hacer clic en "Aceptar", usted está consintiendo la colocación de cookies en su dispositivo y el uso de tecnologías de seguimiento. Haga clic en "Leer más" a continuación para obtener más información e instrucciones sobre cómo desactivar las cookies y tecnologías de seguimiento. Si bien la aceptación de cookies y tecnologías de seguimiento es voluntaria, la desactivación de estos puede resultar en que el sitio web no funcione correctamente, y es posible que ciertos anuncios sean menos relevantes para usted.
Respetamos su privacidad. Lea nuestra política de privacidad aquió