0% encontró este documento útil (0 votos)
109 vistas2 páginas

Introducción a FPGAs y su Programación

Un FPGA es un dispositivo programable que puede reconfigurarse después de su fabricación para aplicaciones específicas como aeroespacial, automotriz y electrónica. Los FPGA se usan comúnmente en centros de datos, inteligencia artificial y para mejorar el rendimiento de procesadores. Los lenguajes de programación más usados para FPGA son VHDL y Verilog, pero también se usan C, C++ y SystemC a través de entornos como OpenCL.

Cargado por

Alexander Ortega
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
109 vistas2 páginas

Introducción a FPGAs y su Programación

Un FPGA es un dispositivo programable que puede reconfigurarse después de su fabricación para aplicaciones específicas como aeroespacial, automotriz y electrónica. Los FPGA se usan comúnmente en centros de datos, inteligencia artificial y para mejorar el rendimiento de procesadores. Los lenguajes de programación más usados para FPGA son VHDL y Verilog, pero también se usan C, C++ y SystemC a través de entornos como OpenCL.

Cargado por

Alexander Ortega
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Microcontroladores

Edgardo Alexander Ortega Martell 20142001144

¿Que es una FPGA?

FPGA es el acrónimo de Field Programmable Gate Arrays y no es más que una serie de dispositivos basados
en semiconductores a base de matrices de bloques lógicos configurables o CLB, donde además se conectan
a través de lo que en el sector se denomina como interconexiones programables.

Su principal característica y ventaja es que pueden ser reprogramados para un trabajo específico o cambiar
sus requisitos después de haberse fabricado. El inventor de esta tecnología fue Xilinx, el cual ha
evolucionado dicha tecnología hasta convertirla en un nuevo concepto a tener en cuenta en ciertos
entornos de trabajo

Lo interesante de este tipo de dispositivo son sus innumerables aplicaciones en la actualidad, ya que sus
características técnicas pueden ser enfocadas a sectores como:

 Aeroespacial.
 Audio.
 Automotriz.
 Broadcast.
 Electrónica.
 Centros de datos.
 Computación de alto rendimiento.
 Industrial y médica.
Esto es algo totalmente atípico en el sector donde nos encontramos, pero la ventaja de ser reprogramables
añade un atractivo innegable de cara a lograr mayor flexibilidad del flujo de los diseños finales. Además,
sus costes por ello son mucho menores y su tiempo de desarrollo se reduce bastante frente a otras
opciones.

Aun así, actualmente el mercado se está centrando en tres sectores muy claros y que están tomando
mucha fuerza en los últimos años: centros de datos, IA y avances para mejorar los procesadores

En la fabricación, los FPGA son muy sencillos de construir y se venden listos para usar, lo cual implica una
reducción en los tiempos totales de una empresa. Sobre el diseño, un OEM puede enviar un FPGA en
cuanto su diseño inicial esté terminado y probado, lo cual de nuevo ahorra tiempo a las empresas.

Para la aceleración no hay mucho que decir, ya que como todos sabemos, los FPGA de alto rendimiento
están ayudando a los procesadores mediante aceleraciones de carga y descarga de información, con lo que
se aumenta el rendimiento del sistema.

En la fabricación, los FPGA son muy sencillos de construir y se venden listos para usar, lo cual implica una
reducción en los tiempos totales de una empresa. Sobre el diseño, un OEM puede enviar un FPGA en
cuanto su diseño inicial esté terminado y probado, lo cual de nuevo ahorra tiempo a las empresas.

Para la aceleración no hay mucho que decir, ya que como todos sabemos, los FPGA de alto
rendimiento están ayudando a los procesadores mediante aceleraciones de carga y descarga de
información, con lo que se aumenta el rendimiento del sistema.
¿Qué es mejor una Tarjeta Altera o Arduino?

Depende desde que punto lo veamos porque hoy en día Arduino ya ha lanzado una Tarjeta
combinando su potencial con el FPGA y esto es algo bastante potente pues tenemos dos estilos
de programación en 1 y asi mismo dos tipos de Circuito integrado en una sola tarjeta , pero si
comparamos la forma de trabajar de ambas tarjetas pues también depende de cual sea el tipo de
trabajo a realizar , la Altera es una bestia en comparación de Arduino en cuanto a ejecución ya
que arduino trabaja de manera secuencial es decir trabaja paso a paso de las líneas programadas ,
en cambio la tarjeta FPGA realiza operaciones paralelamente es decir su velocidad de ejecución es
mucho más rápido pero las matemáticas son más complicadas en FPGA que en Arduino ya que es
más práctico y su lenguaje es de alto nivel , aunque la FPGA se puede hacer trabajar de manera
secuencial a partir de la configuración de su gama de compuertas lógicas interconectadas entre si
a una arduino se le programa e indica su programa a realizar y es lo que ejecutara , una FPGA
tiene múltiples opciones para realizar de acuerdo a su programación no un arreglo
combinacional puede arrojar diferentes resultados de acuerdo a sus entradas, entonces debe ser
subjetiva la opinión para tildar de mejor a una de estas 2 tarjetas que sin duda ambas traen
grandes funcionalidades.

¿Qué Lenguajes de Programacion se utlizan en FPGA?

Los entornos de programación comúnmente utilizados son HLS (Síntesis de Alto Nivel) y HDLs
(Lenguajes de Descripción de Hardware),y dentro de estos específicamente los sistemas VHDL y Verilog
se ubican en la parte alta de las preferencias y no ha inmutado su popularidad desde que fueron
lanzados al mercado en la década de los 80´s, cuya misión original fue simular y describir los
comportamientos de los circuitos antes de ser enviados a producción. Actualmente la industria ha
creado ciertos estándares para el uso de programas de escritura de código en FPGAs que han permitido
facilitar el trabajo y reducir los ciclos de trabajo con un menor número de errores fortuitos. Los
ingenieros de software ahora se las han arreglado para utilizar diversos entornos diferentes a los
tradicionales para configurar sus chips y en el presente documento expondremos algunas opciones
adoptadas por los desarrolladores que involucra el uso de otros lenguajes de programación.

Fuera de los tradicionales VHDL y Verilog, las opciones que están siendo implementadas están basadas
en lenguajes C, C++ y System C, lenguajes intermedios y más puros a nivel máquina que han amasado
un importante número de adeptos entre la comunidad de ingenieros.

Incluso para las compañías Altera y Xilinx, fabricantes de FPGAs, esta tendencia fue inmediatamente
detectada y en un movimiento estratégico comenzaron a integrar elementos o extensiones para alinear
sus entornos de diseño digital mediante el uso de lenguajes basados en C, tal como ocurrió en la gama
de FPGAs Spectra-Q de Altera y Vivado HLx de Xilinx.

En el caso del software ‘open-source’ también se ha suscitado una tendencia industrial, y es que cada
vez más ingenieros definen su metodología de trabajo a través del uso de entornos como OpenCL, un
sistema que presumiblemente es ideal para aquellos usuarios que buscan alcanzar los niveles de
desempeño en sus proyectos con FPGAs pero que no necesariamente cuentan con el conocimiento
profundo o altamente técnico sobre diseño de estos chips.

También podría gustarte