Vous êtes sur la page 1sur 3

FPGAs a Fondo

Fecha de Publicacin: Jun 20, 2012 | 6 Ratings | 4.83 out of 5

Visin General
Los arreglos de compuertas programables en campo (FPGAs) son chips de silicio reprogramables. Ross Freeman, el cofundador de Xilinx, invent el primer FPGA en 1985. La adopcin del chip FPGA en las industrias es guiada por el hecho que los FPGAs combinan lo mejor de los circuitos integrados de aplicacin especfica (ASICs) y sistemas basados en procesador. Los FPGAs ofrecen velocidades temporizadas por hardware y fiabilidad, pero sin requerir altos volmenes de recursos para compensar el gran gasto que genera un diseo personalizado de ASIC. El silicio reprogramable tambin tiene la misma flexibilidad que un software que se ejecuta en un sistema basado en procesador, pero no est limitado por el nmero de ncleos de procesamiento disponibles. A diferencia de los procesadores, los FPGAs son verdaderamente paralelos por naturaleza, as las diferentes operaciones de procesamiento no tienen que competir por los mismos recursos. Cada tarea de procesamiento independiente es asignada a una seccin del chip y puede ejecutarse de manera autnoma sin ser afectada por otros bloques de lgica. Como resultado, el

rendimiento de una parte de la aplicacin no se ve afectado cuando se agregan otros procesos. Figura 1. Uno de los beneficios de los FPGAs ante los sistemas basados en procesador es que la lgica de aplicacin es implementada en circuitos de hardware en lugar de ejecutarse aparte de un SO, controladores y software de aplicacin. Si usted es nuevo en el concepto de un FPGA, la finalidad de este documento es introducir, al diseador de hardware no digital, los bloques de construccin de un FPGA y a las herramientas de diseo que permiten tener un chip de silicio reconfigurable.

Contenido
1. Definir las Partes de un FPGA 2. Disear FPGAs en un Sistema 3. Herramientas de Diseo de FPGA 4. Conclusin 5. Siguientes Pasos

1. Definir las Partes de un FPGA


Cada chip de FPGA est hecho de un nmero limitado de recursos predefinidos con interconexiones programables para implementar un circuito digital reconfigurable y bloques de E/S para permitir que los circuitos tengan acceso al mundo exterior.

Figura 2. Las Diferentes Partes de un FPGA

Las especificaciones de recursos de FPGA a menudo incluyen el nmero de bloques de lgica configurables, nmero de bloques de lgica de funcin fijos como multiplicadores y el tamao de los recursos de memoria como RAM en bloques embebidos. De las muchas partes del chip FPGA, estos son generalmente los ms importantes cuando se seleccionan y comparan FPGAs para una aplicacin en particular. Los bloques de lgica configurables (CLBs) son la unidad de lgica bsica de un FPGA. Algunas veces referido como segmentos o clulas de lgica, los CLBs estn hechos de dos componentes bsicos: flip-flops y tablas de consulta (LUTs). Es importante tomar esto en cuenta porque distintas familias de FPGAs se diferencian en la manera en que los flip-flops y las LUTs estn empacados. Despliegue las secciones a continuacin para conocer ms sobre cada componente.

Aprenda Ms Sobre Flip-Flops Aprenda Ms Sobre LUTs

1/3

www.ni.com

+
+

Aprenda Ms Sobre Multiplicadores y Segmentos DSP Aprenda Ms Sobre RAM en Bloque

2. Disear FPGAs en un Sistema


Con este conocimiento de los componentes fundamentales del FPGA, usted puede ver claramente la ventaja que existe al implementar su lgica en circuitos de hardware: puede realizar mejoramientos en la velocidad de ejecucin, fiabilidad y flexibilidad. Sin embargo, se enfrenta con cambios usando nicamente un FPGA para el procesamiento y la conectividad de E/S en su sistema. Los FPGAs no tienen el ecosistema controlador y base del cdigo IP que tienen las arquitecturas de microprocesador y SOs. Adems, los microprocesadores combinados con SOs ofrecen la base para las estructuras de archivos y la comunicacin con perifricos usados por varias tareas, a menudo esenciales, como registrar datos en disco. Como resultado ha surgido, en la ltima dcada una arquitectura hbrida, muchas veces llamada una arquitectura heterognea, en la cual un microprocesador es combinado con un FPGA que es conectado a la E/S. Este enfoque aprovecha los beneficios que ofrecen estos objetivos. En los ltimos aos, las compaas como Xilinx, con su familia de objetivos Zynq, han adoptado este enfoque y creado soluciones que combinan el procesador y FPGA en un solo chip para crear esta arquitectura hbrida.

Figura 8. NI ofrece una familia completa de dispositivos RIO, en paquete y a nivel de tarjeta, que usted puede programar con LabVIEW de acuerdo a esta arquitectura hbrida que combina un microprocesador y un FPGA. En los ltimos nueve aos, National Instruments ha implementado este potente microprocesador ms la arquitectura de FPGA en sus dispositivos de E/S reconfigurable (RIO). Estos dispositivos varan entre diferentes formatos, desde sistemas robustos y hasta de alto rendimiento, todos basados en esta misma arquitectura RIO. >> Aprenda Ms Sobre Objetivos de Hardware RIO Basados en NI FPGA

3. Herramientas de Diseo de FPGA


Ahora que usted conoce los bloques de construccin de un chip FPGA, se preguntar "Cmo configurar todos estos millones de componentes para construir la lgica que necesita ejecutar?" La respuesta es que usted deber desarrollar tareas de cmputo digital en software usando herramientas de desarrollo y despus compilarlas en un archivo de configuracin o una escritura de bits que contenga informacin sobre cmo los componentes deben estar cableados. En el pasado el reto con la tecnologa FPGA era que las herramientas de diseo FPGA de bajo nivel podan ser usadas solamente por los ingenieros con un profundo conocimiento del diseo de hardware digital. Sin embargo, el surgimiento de las herramientas de diseo de la sntesis de alto nivel (HLS), como software de diseo de sistemas NI LabVIEW , cambia las reglas de la programacin de FPGAs y ofrece nuevas tecnologas que convierten los diagramas de bloques grficos en circuitos de hardware digital.

Herramientas Tradicionales de Diseo de FPGA


Durante los primeros 20 aos del desarrollo del FPGA, los lenguajes de descripcin de hardware (HDLs) como VHDL y Verilog evolucionaron como los lenguajes elementales para disear los algoritmos que se ejecutan en el chip FPGA. Estos lenguajes de bajo nivel integran algunos de los beneficios ofrecidos por otros lenguajes de texto con el entendimiento de que en un FPGA, usted est diseando un circuito. La sintaxis hbrida que resulta requiere que las seales sean mapeadas o conectadas desde los puertos de E/S externos hasta las seales internas, las cuales finalmente son cableadas a las funciones que alojan a los algoritmos. Estas funciones se ejecutan secuencialmente y pueden hacer referencia a otras funciones en el FPGA. Sin embargo, la naturaleza paralela real de la ejecucin de tareas en un FPGA es difcil de visualizar en un flujo secuencial lnea por lnea. Los HDLs reflejan algunos de los atributos de otros lenguajes textuales, pero difieren considerablemente porque estn basados en un modelo de flujo de datos dnde la E/S es conectada a una serie de bloques de funcin a travs de las seales. Para verificar la lgica creada por un programador de FPGA, es comn escribir bancos de pruebas en HDL para abarcar y practicar el diseo de FPGA al afirmar entradas y verificar salidas. El banco de pruebas y el cdigo FPGA se ejecutan en un entorno de simulacin que modela el comportamiento de temporizacin de hardware del chip FPGA y muestra al diseador todas las seales de entrada y salida para validacin de pruebas. El proceso de crear el banco de pruebas HDL y ejecutar la simulacin generalmente requiere ms tiempo que crear el diseo original de FPGA HDL. Una vez que ha creado un diseo de FPGA usando HDL y que lo ha verificado, necesita integrarlo en una herramienta de compilacin que toma la lgica basada en texto y despus de varios pasos bastante complejos, sintetiza su HDL en un archivo de configuracin o escritura de bits que contiene informacin sobre cmo los componentes deben estar cableados. Como parte de este proceso manual de varios pasos, usted generalmente requiere especificar un mapeo de los nombres de seales hasta los pines en el chip FPGA que est usando.

Figura 9. Diseo Simple de FPGA Contador en VHDL Finalmente, el reto en este flujo de diseo es que la experiencia requerida para programar en HDLs tradicionales no est generalizada y como resultado, la tecnologa FPGA no ha estado disponible para la mayora de los ingenieros y cientficos.

Herramientas para Diseo de Sntesis de Alto Nivel


El surgimiento de herramientas de diseo HLS grfico, como LabVIEW, ha eliminado algunos de los principales obstculos del proceso de diseo HDL tradicional. El entorno de programacin LabVIEW es claramente adecuado para programacin FPGA ya que representa paralelismo y flujo de datos, as los usuarios experimentados y sin experiencia en los procesos de diseo FPGA pueden impulsar a la tecnologa FPGA. Adems, ya que la propiedad intelectual (IP) anterior no est perdida, usted puede usar LabVIEW para integrar VHDL existente en sus diseos LabVIEW FPGA.

2/3

www.ni.com

Figura 10. A la derecha est el software de desarrollo de sistemas LabVIEW , el cual es una herramienta de diseo de alto nivel para los FPGAs en los dispositivos de hardware NI RIO. Ofrece abstraccin para la complejidad de bajo nivel que generalmente encontramos al crear y escalar los diseos VHDL. Despus de simular y verificar el comportamiento de su lgica FPGA, LabVIEW ofrece caractersticas directamente en el entorno de desarrollo. Sin conocimiento del lenguaje HDL de bajo nivel usted puede crear bancos de pruebas para practicar la lgica de su diseo. Adems, la flexibilidad del entorno LabVIEW ayuda a los usuarios ms avanzados a modelar la temporizacin y la lgica de sus diseos al exportar a simuladores de ciclo preciso como Xilinx ISim. Las herramientas LabVIEW FPGA automatizan el proceso de compilacin, as usted puede comenzar el proceso con un clic y recibir reportes y errores, conforme las etapas de compilacin son concluidas. Si ocurren errores de temporizacin de su diseo FPGA, LabVIEW resalta estas partes crticas de manera grfica para acelerar el proceso de depuracin. >> Aprenda Ms al Ver la Introduccin al Seminario Web LabVIEW FPGA

4. Conclusin
La adopcin de la tecnologa FPGA contina incrementando mientras que las herramientas de ms alto nivel como LabVIEW, el microprocesador estndar y la arquitectura FPGA RIO hacen a los FPGAs ms accesibles. Es importante mirar dentro del FPGA y apreciar todo lo que est pasando cuando los diagramas de bloques son compilados para ejecutar un silicio. Comparar y seleccionar los objetivos de hardware basados en flip-flops, LUTs, multiplicadores y RAM en bloque es la mejor manera de escoger el chip FPGA adecuado para su aplicacin. Comprender el uso de los recursos es extremadamente til durante el desarrollo, especialmente al optimizar tamao y velocidad. Este documento no pretende ser una extensa lista de todos los bloques de construccin de FPGA fundamentales. Puede aprender ms sobre FPGAs y diseo de hardware digital en los siguientes recursos.

5. Siguientes Pasos
Evale Hardware y Software NI FPGA Aprenda ms sobre Diseo FPGA con el Software de Desarrollo de Sistemas NI LabVIEW Explore los Diferentes Productos de Hardware NI FPGA

3/3

www.ni.com

Vous aimerez peut-être aussi