¿Por qué se da mayor importancia a los proyectos en FPGA?

Como estudiante de último año, necesito hacer un proyecto. Mi profesor dijo que hacer cosas como el procesamiento de imágenes usando FPGA tiene más peso que hacer cualquier otro proyecto integrado usando procesadores dsp o cualquier microcontrolador.

De acuerdo, puedo ver un poco de esto.

Un FPGA es hardware configurable por software. Conceptualmente, es un mar de puertas crudas y fracasos superpuestos sobre interconexiones programables. Es masilla de hardware.

Sin embargo, si usted es ingeniero informático, me sorprende que no se haya dado cuenta de esto en clases y laboratorios. Si no tiene los antecedentes, busque en profundidad antes de comprometerse con un proyecto basado en FPGA. Los conjuntos de habilidades requeridos (tal vez valen cuatro clases, un par de división superior) son completamente diferentes de, por ejemplo, la programación web front-end.

Si quieres ir por este camino, echa un vistazo a la familia Xilinx Zynq. Integra un tejido FPGA y núcleos ARM duros en un solo dado. Se pueden obtener pequeños paneles de evaluación de forma bastante económica.

Con algo como esto podrías construir, por ejemplo, un pequeño minero de monedas. Los bucles internos hash verían una buena aceleración (en relación con una implementación de software) cuando se mapean en el FPGA. El ARM ejecuta Linux, por supuesto, y tendría que escribir controladores de dispositivo en su hardware.

Obtenga node.js portado al ARM. Construye una interfaz web agradable con Bootstrap y Angular. Haga una visualización elegante de las estadísticas hash y similares con D3.js.

Este sería un tour de force de chuletas full stack. Claro, haz esto para el proyecto final, pero realmente, no importa eso. Trae esto a tus entrevistas de trabajo; tendrías tu elección de empleadores.

¿Mayor que qué?

Los diseños de FPGA son una forma de hardware personalizado y, por lo general, ofrecen una ventaja de un orden de magnitud más o menos sobre los programas de software en eficiencia y rendimiento de energía. En comparación con el software, los diseños de hardware también pueden lograr límites garantizados en latencia y rendimiento.

Los proyectos FPGA (en comparación con los inicios de diseño de ASIC) tienen un costo de infraestructura relativamente bajo, un costo de diseño más bajo y un costo de rediseño muy bajo (los errores son relativamente fáciles de solucionar en una plataforma FPGA, mientras que un ASIC con un mal diseño sigue siendo un ASIC con un mal diseño en la mayoría de los casos). Se pueden obtener muchos FPGA por unos pocos dólares por chip, y son lo suficientemente grandes como para acomodar diseños muy reales. Según el artículo de Rose de hace unos años, los FPGA tienen un orden de magnitud de gastos generales en la utilización y el rendimiento del espacio, pero tampoco tienen problemas de rendimiento, ofrecen memoria barata y E / S de alta gama, y ​​son susceptibles de diseño iterativo, que a menudo permite un diseño menos conservador y de mayor rendimiento. En resumen, hay funciones de costo completamente diferentes asociadas con ambas plataformas, y la función de costo FPGA parece ser cada vez más relevante en la actualidad.

Desafortunadamente, las herramientas de software para ambas plataformas son extravagantes y con errores (aunque estos han mejorado un poco en el lado de FPGA).

Las personas con conocimientos en el área de diseño de hardware y con experiencia en FPGA son valiosas porque es una plataforma popular a la que se dirigen muchos comienzos de diseño. La ingeniería de hardware de calidad es muy difícil y las personas que lo hacen bien tienen una gran demanda.

TL; DR. Los FPGA son rentables porque son simplemente mucho, mucho más baratos que los ASIC, y requieren un volumen menor para pagar. Tanto es así que casi no se inicia el diseño ASIC, mientras que los proyectos FPGA son muchos y variados.

“Mi profesor dijo que hacer cosas como el procesamiento de imágenes usando FPGA tiene más peso que cualquier otro proyecto integrado usando procesadores dsp o cualquier microcontrolador”.

Bueno, si eres un estudiante de ingeniería eléctrica, cualquier proyecto que hagas con un DSP o un microcontrolador puede convertirse en un proyecto de software. Por lo tanto, su profesor probablemente quiera un proyecto FPGA para que se concentre en el diseño de hardware, no en la codificación de software.

More Interesting

¿Cómo seleccionamos un IDE para el desarrollo de software integrado? ¿Debería basarse en RTOS planificado o procesador?

¿Qué instrucciones están escritas para los conductores y en qué idioma están programadas?

¿Cuál es la diferencia entre hacer un sistema embebido y simplemente programar periféricos básicos (temporizador, SPI, I2C, UART, etc.)?

¿Cuáles son las ventajas y desventajas de utilizar una emulación EEPROM real versus una emulación EEPROM en flash en un microcontrolador?

¿Cuáles son algunos proyectos de BTech para el último año que se basan en sistemas integrados?

¿Cuál es el sistema integrado más barato?

Quiero unirme a un curso integrado en Vector Institute Bangalore. ¿Vector Institute realmente proporciona ubicaciones?

¿Es IoT un nombre elegante de un producto integrado basado en Linux?

¿Puedo realizar una prueba unitaria al crear firmware C para MCU ARM Cortex-M?

¿Por qué la programación procesal es buena para el sistema embebido?

¿Las empresas están subestimando el esfuerzo para el desarrollo de dispositivos conectados e integrados? ¿Hay ejemplos de implementaciones de IoT fallidas?

¿Cómo funciona un cristal piezoeléctrico en el microcontrolador 8051?

¿Es Arduino una mala forma de aprender sistemas embebidos? Mis habilidades en C son buenas y quiero ser un ingeniero de software integrado profesional. Compré un kit Arduino y comencé a hacer proyectos, pero fue fácil. No estoy aprendiendo ¿Cuál debería ser el siguiente paso?

¿Puedo codificar en Python en lugar de C / C ++ para un área de investigación de sistemas integrados?

¿Cuál es el mejor instituto para sistemas integrados en Delhi NCR?