Opciones de Compilación de NI LabVIEW FPGA

Visión General

El Módulo NI LabVIEW FPGA, junto con hardware de E/S reconfigurable (RIO) estándar, han vuelto a los arreglos de compuertas programables en campo (FPGAs) más accesibles para ingenieros y científicos por una década. Sin embargo, los programadores de FPGA de la industria saben que una dificultad con la tecnología FPGA es superar la intensa tarea del procesador de sintetizar, colocar y enrutar un diseño de FPGA, lo cual se traduce en tiempos de compilación que pueden durar de minutos a horas. Para agravar este problema, en la última década la ley de Moore se cumplió, teniendo como resultado diseños más grandes y más complejos. Si no se toman medidas, el tiempo de compilación continuará tomando el control de una parte cada vez mayor de su proceso de diseño de FPGA. Este documento habla sobre las tres opciones de compilación de FPGA disponibles con el Módulo LabVIEW FPGA que usted puede usar para descargar el intenso proceso del procesador o hasta reducir el tiempo de compilación al usar sistemas de compilación basados en Linux.

Contenido

Los FPGAs se están volviendo más difíciles (no más fáciles) de compilar

El compilador FPGA no es un gran algoritmo monolítico. Por el contrario, es una colección de algoritmos grandes y complejos. El desafío de cómputo está llevando su diseño a través de un flujo que genera un diseño optimizado en un chip con millones de elementos de procesamiento que se pueden configurar de cualquier manera. El compilador utiliza la síntesis para crear un sistema de conexiones lógicas entre elementos de procesamiento. Entonces el compilador mapea, coloca y enruta un proceso intuitivo para encontrar la mejor solución y conecta todo en el chip físico y se mantiene dentro de los límites del usuario. Como se puede imaginar, no son triviales las matemáticas detrás de la búsqueda de una solución optimizada a nivel mundial para un problema que tiene infinidad de posibilidades. Por lo tanto, la compilación FPGA puede llevar horas (o más con silicio de mayor densidad).

Para mejorar el tiempo de compilación, usted puede descargar su compilación a una máquina Windows distinta, dedicada y de alta calidad con gran cantidad de RAM y un buen procesador. Y para reducir aún más su tiempo de compilación, usted puede instalar las herramientas de compilación en un sistema Linux para aprovechar la optimización del rendimiento de la herramienta de compilación. NI ha diseñado el sistema de compilación LabVIEW FPGA para que sea fácil configurar cualquiera de estas opciones dentro de su propia compañía o incluso dirigir sus compilaciones a máquinas de alta calidad con cero mantenimiento en la nube.


Información General sobre el Sistema de Compilación LabVIEW FPGA

NI ha diseñado el sistema de compilación LabVIEW FPGA con tres componentes de software fundamentales, dando como resultado una solución modular y escalable para compilación. El sistema de compilación se divide en tres partes: la máquina de desarrollo, el servidor y cualquier número de trabajadores.

Entorno de Desarrollo del Módulo LabVIEW FPGA —El entorno de desarrollo de LabVIEW con el que usted está familiarizado en donde usted crea su aplicación. Una vez que usted presiona el botón Run en su VI de FPGA, este completa el paso Generar Archivos Intermedios (vea Proceso de Compilación de LabVIEW FPGA para más información). Después de la generación, la máquina de desarrollo envía los archivos intermedios a través de comunicación de servicios web al servidor de compilación FPGA.

Servidor de Compilación de FPGA—El servidor acepta trabajos de compilación desde uno o varios sistemas de desarrollo de LabVIEW FPGA y busca trabajadores disponibles para realizar el trabajo de compilación. Si no hay trabajadores disponibles, el servidor pone en espera el trabajo hasta que un trabajador está disponible.

Trabajador de Compilación de FPGA—El trabajador tiene instaladas las herramientas de compilación Xilinx para síntesis, mapeo, colocación y enrutado del diseño de FPGA. Con estas herramientas, un trabajador ejecuta la compilación en el diseño y eventualmente genera un archivo de bits que regresa al servidor, donde el servidor lo envía de regreso a la máquina de desarrollo.

Figura 1. La arquitectura del sistema de compilación de LabVIEW FPGA incluye tres partes: la máquina de desarrollo, el servidor de compilación y el(los) trabajador(es) de compilación.

El beneficio de esta arquitectura del sistema de compilación es que soporta múltiples trabajadores y la ejecución automática de los trabajos de compilación. El servidor se encarga de la espera y la ejecución y es tolerante a fallas de los trabajadores que entran y salen. De hecho, si un trabajador se sale durante el trabajo de compilación, el servidor puede detectarlo y asignar la compilación a otro trabajador. Aunque el trabajo de compilación tiene que empezar de nuevo, se finaliza sin que usted tenga que intervenir. Ya que las líneas de compilación entre el entorno de desarrollo y el servidor de compilación de LabVIEW FPGA son servicios de web, el sistema de compilación también tolera una serie de problemas relacionados con el desarrollo, como reiniciar la máquina de desarrollo.


Opciones Listas para Usar

El Módulo LabVIEW FPGA incluye dos opciones del sistema de compilación. Usted puede compilar directamente en su máquina de desarrollo o transferir la compilación a una sola máquina de compilación remota y dedicada.

Un servidor y un trabajador son instalados de manera predeterminada en la máquina de desarrollo con LabVIEW FPGA. Si usted ha usado LabVIEW FPGA versión 2009 o anterior, esta configuración se comporta de la misma manera, con la compilación implementándose en la máquina de desarrollo. Para el servidor de compilación, es como si la compilación se encontrara en una máquina independiente llamada "localhost" porque el sistema está diseñado desde cero para apoyar la compilación distribuida.

 

 Figura 2. LabVIEW FPGA instala el servidor y trabajador de compilación de manera predeterminada en la máquina de desarrollo y ejecuta la compilación usando los recursos de la máquina de desarrollo.

Si usted quiere configurar una estructura del sistema de compilación más sofisticada, puede instalar el servidor y un trabajador en otra máquina. Para configurar el servidor de compilación remoto, instale solamente las herramientas de compilación del DVD de la Plataforma de LabVIEW. Para instrucciones paso a paso de este proceso, consulte el artículo de soporte Instalar y Activar el Servidor de Compilación de LabVIEW FPGA en una Máquina Remota.

 Figura 3. LabVIEW FPGA soporta un servidor de compilación sencillo, de una sola máquina y descargado sin complementos.

Una vez que la máquina remota es configurada con las herramientas de compilación, usted puede apuntar esta máquina de desarrollo a este nuevo servidor de compilación al seleccionar Conectar a un servidor de compilación en red al presionar el botón Run. Como alternativa, puede establecer esta opción de compilación desde la página Tools»Options»FPGA Module.

 Figura 4. Trabaje con la máquina de compilación FPGA remota al seleccionar la opción del sistema de compilación y al especificar dónde reside el servidor.


Compilación FPGA de Descarga

La compilación FPFA crece de manera más compleja y por lo tanto, más larga conforme los ingenieros utilizan tecnología FPGA más sofisticada. Para conservar recursos en su máquina de desarrollo, la arquitectura del sistema de compilación de LabVIEW FPGA incluye opciones para descargar la compilación a máquinas dedicadas. Estas deben ser máquinas de alta calidad con buenos procesadores y altos niveles de RAM. La tabla 1 muestra los requerimientos mínimos de RAM para varios FPGAs Xilinx Virtex-5.

Tabla 1. Siga estas normas de RAM recomendadas para FPGAs Xilinx Virtex-5 y Zynq-700. (Fuente: Recomendaciones de Memoria Xilinx al Usar el ISE Design Suite)

El rendimiento de un trabajo de compilación es afectado negativamente cuando el proceso está hambriento de memoria del sistema y tiene que buscar en el disco duro o en algunos casos, detenerse. Siga las recomendaciones en la Tabla 1 para obtener mejores resultados. Para un servidor de 32 bits, debe tener 4 GB de RAM y únicamente instaladas herramientas de compilación. Usted puede usar el conmutador Windows de 3 GB para maximizar la cantidad de RAM que el SO puede alojar para la compilación. Como puede ver en la tabla, los sistemas de 64 bits deben tener más RAM instalado. Por supuesto, esos sistemas pueden soportar más de 4 GB de RAM y en ese caso, mientras más, mejor - hasta 16 GB.


Descarga a una Sola Máquina

Como se mencionó, usted puede usar LabVIEW FPGA para instalar el servidor y el trabajador en una máquina distinta y realizar la compilación. Para hacer esto, siga los pasos en el artículo de soporte Instalar y Activar el Servidor de Compilación LabVIEW FPGA en una Máquina Remota.

 Figura 5. Un servidor de compilación sencillo y de una sola máquina es soportado por LabVIEW FPGA sin complementos.


Descarga a una Torre de Compilación

Con el LabVIEW FPGA Compile Farm Toolkit, usted puede crear una torre de compilación que tiene varios trabajadores y puede ser utilizada por múltiples desarrolladores. El precio para este juego de herramientas es determinado en base a las máquinas que usted necesite en la torre. Con este juego de herramientas, cualquier número de desarrolladores puede utilizar el servidor central. El servidor es responsable de asignar los trabajos de compilación entre todos los trabajadores disponibles. Ya que tiene múltiples trabajadores, las compilaciones se ejecutan en paralelo. Si no hay trabajadores de compilación disponibles, el servidor pone en espera las solicitudes (FIFO) y las asigna en cuanto un trabajador está disponible.

>> Aprenda más sobre el LabVIEW FPGA Compile Farm Toolkit.

 Figura 6.  Arquitectura de Torre de Compilación con Un Servidor y Múltiples Trabajadores


Descarga a un Servidor Nube de Compilación en Línea

La opción final de compilación FPGA utiliza los servidores y trabajadores de compilación que NI ha puesto a disposición en línea en la nube. Para facilidad de uso, NI ha añadido ganchos directamente desde LabVIEW FPGA para proporcionar un acceso y sin instalación adicional, usted puede descargar sus compilaciones de la nube. Ya que el Servicio de Compilación en Nube de NI LabVIEW FPGA está ejecutando las herramientas de compilación en Linux con las máquinas dedicadas más recientes de alta calidad y alto RAM, usted puede notar una reducción importante e inmediata en el tiempo que toma compilar su VI de FPGA, comparado con una PC de escritorio Windows estándar. Compilar en la nube también añade la habilidad de compilar varios VIs en paralelo.

Para trabajar con el servicio en nube, utilice la ventana de diálogo normal para el servidor de compilación de LabVIEW FPGA, sólo que seleccione el servicio en nube en línea y proporcione su nombre de usuario y contraseña.

 Figura 7. Conéctese a la nube a través de LabVIEW para reducir el tiempo de compilación y descargar compilaciones.

Una vez que ha configurado esto, el servicio compila en la nube en lugar de hacerlo en su máquina o torre local. La conexión utiliza las últimas medidas de seguridad de la industria, que son similares a las utilizadas por otros servicios de Internet, como los bancos.

>> Aprenda más o compre el Servicio de Compilación en Nube de NI LabVIEW FPGA.

 

 Figura 8.  Arquitectura de Nube para Descargar Compilaciones 


Reduzca Tiempo de Compilación con Linux

NI ha invertido en soporte para el trabajador de compilación FPGA en el SO Linux. Dependiendo de la complejidad y la lógica del VI de FPGA, usted puede esperar que el trabajador de compilación Linux reduzca los tiempos de compilación entre un 20% y 50% aproximadamente, comparado con un trabajador de compilación Windows. Xilinx originalmente diseñó y optimizó las herramientas de compilación para el SO Linux, lo cual explica esta reducción importante en el tiempo de compilación.

 Figura 9.  LabVIEW 2012 FPGA y posterior soporta la instalación de la herramienta de compilación FPGA en máquinas Linux, dando como resultado tiempos de compilación reducidos.

>> Explore los beneficios de usar el trabajador de compilación FPGA Linux en la nube.
>> Conozca detalles sobre cómo configurar su propio trabajador de compilación FPGA Linux.


Pasos Siguientes

El sistema de compilación LabVIEW FPGA ofrece flexibilidad por medio de la arquitectura de servidor y trabajador de compilación para descargar el intenso proceso del procesador de compilación FPGA desde su máquina de desarrollo de LabVIEW. También reduce los tiempos de compilación al usar un trabajador de compilación basado en Linux. Una vez que ha seleccionado la opción de compilación FPGA que es adecuada para su equipo, consulte los siguientes enlaces para aprender más sobre cómo instalarla.

 Compre el Servicio de Compilación en Nube de LabVIEW FPGA para reducir los tiempos de compilación.

Configure una sola máquina de compilación remota.

Cree una torre de compilación LabVIEW FPGA en sitio.

Configure un trabajador de compilación basado en Linux.