Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> VHDL

Una introducción a los FPGA y la lógica programable

Este video es una presentación introductoria sobre FPGA y tecnología de lógica programable. Pronuncié esta charla de 45 minutos en un evento organizado por 7 Peaks Software en Bangkok, Tailandia, el 19 de noviembre de 2019.

Los puntos destacados de la presentación incluyen:

¿Quién usa FPGA?

Existe una amplia gama de aplicaciones para la tecnología FPGA. Productos que van desde satélites en el espacio hasta robots comerciales en Wall Street utilizan lógica programable. Aquí siguen algunas industrias que son conocidas por ser grandes usuarios de FPGA.

Defensa

La industria de la defensa se encuentra en una excelente posición para beneficiarse de las implementaciones de FPGA personalizadas. Tienen mucho dinero y altos requisitos de calidad. Las listas de especificaciones de sus productos suelen ser extremas porque el equipo de grado militar es un nivel de ingeniería confiable muy por encima de los grados industriales y de consumo. Sus presupuestos son siempre altos y, a veces, prácticamente ilimitados, y provienen de una fuente estable como el respaldo del gobierno.

Todas las anteriores son razones por las que los FPGA se usan mucho para aplicaciones de defensa. No solo para armas, sino también para cosas como dispositivos de comunicación por radio y equipos de prueba. He trabajado en la industria. Puede leer más sobre mi experiencia como ingeniero de FPGA en la industria de defensa aquí.

Espacio

Los FPGA se utilizan ampliamente en toda la industria espacial. Hay muchas razones por las que son una buena opción para los satélites. Son inherentemente de bajo consumo, se pueden endurecer por radiación y es más fácil verificar la corrección de un FPGA que el software que se ejecuta en una CPU o microcontrolador.

Muchos diseños electrónicos en el espacio son para cosas como control de interfaz, lectura de datos de sensores, procesamiento de señales o sistemas de control, tareas que se adaptan bien a un FPGA. Además, las aplicaciones espaciales a menudo se encuentran bajo los mismos requisitos de confiabilidad que son estándar en la industria aeroespacial.

Aeroespacial

La industria aeroespacial ama los FPGA por muchas de las mismas razones que la industria espacial, pero lo más importante es que es más fácil verificar la corrección de un FPGA que el software.

Demostrar que un programa de computadora no tiene consecuencias no deseadas es difícil y requiere mucho tiempo. Las normas internacionales para los sistemas aerotransportados exigen que los dispositivos electrónicos utilizados en las aeronaves sigan estrictos requisitos de verificación.

Si bien el software debe seguir el estándar de aviación DO-178C, los FPGA se incluyen en la guía de garantía de diseño DO-254 para hardware electrónico aerotransportado. En la mayoría de los casos, es más fácil y económico cumplir con el requisito del estándar de hardware que con una implementación de software correspondiente.

Automoción

Los fabricantes de vehículos utilizan FPGA para cosas como el control de motores diésel en camiones y también para sistemas de conducción automatizados. Incluso puede encontrar sistemas de comunicación y entretenimiento acelerados por FPGA en automóviles modernos.

Además, es probable que los vehículos eléctricos e híbridos utilicen FPGA para tareas de control de motores. Los motores de inducción trifásicos requieren un estricto control de tiempo de los campos magnéticos a medida que gira el motor. Cualquier imprecisión se traducirá en una pérdida de eficiencia energética.

Telecomunicaciones

La infraestructura de telecomunicaciones utiliza mucha tecnología FPGA. Como ya se mencionó, los FPGA son estándar en aplicaciones espaciales como los satélites de comunicación. Otros usos de los FPGA en la industria de las telecomunicaciones incluyeron enrutadores de red y estaciones base inalámbricas.

Para equipos de telecomunicaciones de consumo como teléfonos móviles, los FPGA no son tan comunes. Es más probable que vea un ASIC que un FPGA para una solución personalizada en un teléfono móvil. Aunque el costo inicial de producción de ASIC es mucho mayor que el de un FPGA, siguen siendo económicos debido a los altos volúmenes de venta de teléfonos móviles.

Centros de datos

Las cuatro grandes empresas tecnológicas desarrollan soluciones FPGA personalizadas para usar en sus centros de datos. Los FPGA son esenciales para que puedan manejar volúmenes de datos tan altos con una latencia tan baja.

Es difícil encontrar detalles sobre qué tipo de problemas están resolviendo con los FPGA. Aún así, a juzgar por la evidencia circunstancial, como las ofertas de trabajo, se hace evidente que dependen en gran medida de los FPGA. Servicios como Amazon AWS, Microsoft Azure, Google y Facebook son posibles en parte gracias a los FPGA.

Negociación de alta frecuencia

El comercio bursátil algorítmico de alta frecuencia (HFT) se trata de procesar los números más rápido que la competencia. Las empresas que participan en estas actividades hacen todo lo que está a su alcance para reducir la latencia de sus canales de procesamiento.

Sus servidores se ubican físicamente cerca de la bolsa de valores e invierten en el hardware de computadora más rápido que el dinero puede comprar. Cuando la competencia usa CPU y GPU, recurre a FPGA. Luego, pueden ejecutar el análisis estadístico de los datos de mercado entrantes un poco más rápido y ganar más dinero.

Minería de criptomonedas

Los FPGA han experimentado un renacimiento entre la comunidad de TI dominante en los últimos años. Debido a la exageración de Bitcoin, muchas personas comunes ahora han oído hablar de los FPGA.

La economía de la minería de criptomonedas tiene que ver con la gestión de la factura de la electricidad. La moneda tiene que valer más de lo que pagó por la electricidad para extraerla para que sea rentable.

Una solución de FPGA personalizada suele ser más eficiente en términos de energía que un algoritmo que se ejecuta en una CPU o incluso en una GPU. En los últimos años han aparecido muchas placas de minería de FPGA financiadas con fondos colectivos.

Ejemplos de productos que contienen FPGA

Los FPGA no se encuentran tan comúnmente en la electrónica de consumo. Aún así, hay muchos ejemplos de ello. A continuación, se incluyen algunos productos de los que quizás haya oído hablar que contienen FPGA.

HTC Vive

Este auricular VR usa tres Lattice FPGA, como podemos ver en este desmontaje. No está claro cuál es el propósito de los FPGA en este diseño.

Sin embargo, estos son dispositivos de capacidad relativamente baja, por lo que una buena suposición es que es para controlar una interfaz o leer un sensor, en lugar de procesar imágenes.

Google Waymo

El coche autónomo de Google funciona con tecnología FPGA. El proyecto aún se encuentra en la etapa de desarrollo y los FPGA son excelentes para la creación de prototipos.

El artículo al que se hace referencia afirma que usan FPGA para el "procesamiento de sensores", que pueden ser los sistemas LiDAR que tiene el automóvil.

iPhone 7

Es poco común encontrar un FPGA en un teléfono móvil. Un ASIC suele ser más económico debido a las grandes cantidades de producción de teléfonos móviles. A pesar de esto, el iPhone 7 usa un FPGA.

El artículo vinculado sugiere que puede ser para alguna característica nueva de inteligencia artificial (IA). Quizás Apple no había terminado con este hardware en particular y necesitaba la posibilidad de enviar actualizaciones de hardware por aire (OTA) a este chip. Ese es un uso innovador de un FPGA.

Postcombustión de Apple

La tarjeta aceleradora de gráficos de gama alta de Apple puede reproducir hasta 3 transmisiones de video RAM ProRes de 8k simultáneamente, en tiempo real.

Curiosamente, utiliza un FPGA para realizar el trabajo pesado. El procesamiento de imágenes es algo que los FPGA hacen muy bien. Tal vez necesitaban crear una solución personalizada porque las GPU no podían manejar videos de 8k lo suficientemente rápido.

Nvidia G-Sync

La tarjeta Nvidia G-Sync sincroniza la salida de la tarjeta gráfica con la frecuencia de actualización de la pantalla. Si eres un jugador de PC, es posible que hayas oído hablar de V-Sync, que es la solución de software de Nvidia para este problema.

La sincronización de la velocidad de fotogramas es un ejemplo de una tarea que es fácil de realizar en hardware pero consume mucha CPU cuando se realiza con software.

Osciloscopio Sigilent

El Sigilent SDS 1202X-E es un osciloscopio de 200 MHz y 2 + 1 canales. Un desmontaje realizado por EEVblog revela lo que lo impulsa, una CPU/FPGA híbrida Xilinx Zynq-7000.

El chip Zynq-7000 tiene dos CPU ARM duras y una parte FPGA programable en el chip. La ventaja de usar Zynq es que puede ejecutar Linux en la parte del sistema de procesamiento (PS). Con Linux, puede usar todas las bibliotecas GUI de alto nivel para crear una hermosa interfaz de usuario.

Al mismo tiempo, puede muestrear los datos del sensor a altas velocidades mediante el uso de lógica personalizada en la parte de lógica programable (PL) del chip. La interconexión entre la parte PS y PL tiene un ancho de banda muy alto ya que está dentro de la misma matriz de silicio. En general, un chip excelente para crear aplicaciones de Internet de las cosas (IoT) de alto rendimiento.

UltraMiner FPGA

El UltraMiner es uno de los muchos mineros de FPGA financiados colectivamente que han aparecido a lo largo de los años. La campaña de financiación aún está en curso en el momento de escribir este artículo.

Según los puntos de venta en la página del proyecto, tiene cuatro veces la eficiencia energética de un minero de GPU.

Tiempo de guijarros

El Pebble es uno de los primeros relojes inteligentes que se financió a través de una campaña de Kickstarter en 2012. Utiliza una pequeña FPGA para controlar la pantalla LCD.

Si tenías un Pebble, has estado caminando con un FPGA en tu muñeca todo el tiempo. El firmware para controlar el Pebble es de código abierto, el código para interactuar con el FPGA está en su repositorio en GitHub.

¿Quieres aprender a programar un FPGA?

Para crear lógica para un FPGA, debe usar un lenguaje de descripción de hardware (HDL). Este blog se especializa en VHDL, que es uno de los dos HDL populares.

Puede probar la programación VHDL en su computadora en la comodidad de su hogar de forma gratuita. Cada desarrollo de VHDL comienza en un simulador, y los tutoriales básicos de VHDL gratuitos le enseñan cómo simular utilizando la edición para estudiantes del simulador de VHDL más popular:ModelSim.

Recursos de aprendizaje VHDLwhiz

GRATIS: Tutoriales básicos de VHDL

PREMIUM: Curso Dot Matrix FPGA y VHDL

Vía rápida de FPGA y VHDL:práctica para principiantes absolutos

¿Está familiarizado con la programación pero es nuevo en VHDL?

¿Necesita una breve introducción a este tema desconocido?

¿Tu horario está lleno y no te queda tiempo para estudiar?

¡Comprenda los conceptos básicos del desarrollo de FPGA usando VHDL en unas pocas tardes! Este curso es para profesionales de TI y estudiantes que necesitan un resumen rápido del tema. Con este curso y la placa de desarrollo Lattice iCEstick de bajo costo, estará desarrollando hardware real en cuestión de horas.

Haga clic aquí para leer más e inscribirse:
Vía rápida de FPGA y VHDL:práctica para principiantes absolutos


VHDL

  1. Tutorial - Introducción a VHDL
  2. Introducción a Verilog
  3. Introducción a las bisagras continuas
  4. Introducción a la estereolitografía (SLA)
  5. Introducción a la aleación de titanio
  6. Introducción a los circuitos de CC
  7. Introducción a los circuitos de CA
  8. Introducción a SPICE
  9. Introducción al álgebra booleana
  10. Lo que debe saber sobre los controladores lógicos programables
  11. Arreglo de puerta programable de campo (FPGA) versus microcontrolador:¿cuál es la diferencia?