¿Cuáles son los diferentes usos de los FPGA en sistemas integrados?

Los FPGA son fantásticos para interactuar con diversos componentes en un sistema, y ​​a menudo se usan para implementar “lógica de pegamento”. Por ejemplo, conectar un conjunto diverso de dispositivos a un procesador implicaría interactuar con el bus de memoria del procesador y enrutar una parte de su espacio de memoria a un conjunto de interfaces completamente diferentes, lo que podría traducirse entre buses de diferentes anchos de bits y datos muy diferentes. tarifas. Los FPGA modernos también incluyen primitivas de reloj sofisticadas, lo que permite que un FPGA genere de forma económica la variedad de relojes que necesitan diversos componentes en un sistema embebido. Un FPGA típico implementa un gran conjunto de interfaces de E / S, generalmente en cada pin, lo que permite que el dispositivo interactúe con casi cualquier cosa, desde señales lentas de un solo extremo de 3,3 voltios hasta líneas diferenciales de alta tensión y baja tensión. Algunos incluyen primitivas para la alineación de fase e incluso interfaces analógicas.

El abundante cableado en el chip y el estado de un FPGA los convierte en excelentes dispositivos para mover (y menos enrutar) datos, lo que lleva a su uso generalizado en equipos de red de alto ancho de banda de gama alta.

Los FPGA modernos también incluyen una gran variedad de componentes de funciones fijas en el chip, como circuitos de reloj sofisticados, interfaces seriales de alta velocidad, interfaces de memoria, PCIe, etc. La lógica personalizada específica de la aplicación también es común con los FPGA, con muchos inicios de diseño. eligiendo la lógica programable en campo en lugar de grabar chips, aunque estos dispositivos no son del todo “reemplazos ASIC”, su función de costo difiere significativamente del silicio personalizado. Los FPGA ofrecen un bajo costo a bajo volumen, diseño compatible con parches (ciclo de diseño más rápido y menor riesgo), y bajo riesgo y costo de interfaces de gran ancho de banda.

1) Aceleradores personalizados donde el paralelismo / revestimiento profundo de tuberías ve beneficios.
2) Procesadores personalizados / bancos de prueba para verificar nuevas arquitecturas. (Piense en el tablero para la experimentación a nivel de puerta)
3) Redes y aplicaciones similares de alto ancho de banda.
4) aceleradores de procesamiento de imágenes
5) PLL suaves
6) Cifrado / descifrado personalizado

Los compañeros pueden agregar más.

More Interesting

¿Qué es una plataforma integrada asequible para practicar la programación de firmware para protocolos de red inalámbrica?

¿Cómo se realiza la actualización del firmware en los microcontroladores mientras se está ejecutando?

¿Cómo puedo conectar un simple botón físico a mi computadora?

¿Qué es mejor, tomar sistemas embebidos o CCNA con un curso SDN y Python para un desarrollador / programador de red y IOT?

He estado buscando en Google y quiero saber, técnicamente hablando, ¿qué tipo de computadora es un teléfono inteligente? ¿Es un sistema integrado?

Estoy confundido acerca de si debo continuar con mi trabajo en el campo incrustado o ir al GRE. Como no puedo hacer ambas cosas al mismo tiempo, ¿qué debo hacer?

¿Qué examen es necesario para hacer un doctorado en sistemas integrados en Alemania?

Soy un desarrollador integrado que ha trabajado en pocos códigos de metal desnudo uC. Estoy pensando en aprender sobre Linux para sistemas embebidos. ¿Donde debería empezar?

¿Qué especialización se prefiere para un ingeniero de hardware en Google? ¿VLSI, sistemas embebidos, procesamiento de señales o sistemas de comunicación?

¿Podemos comenzar un negocio después de conocer el microcontrolador AVR y ARM?

Cómo conectar Raspberry Pi 2 a internet

¿Un gusto por Arduino se traduce en una carrera en sistemas integrados?

¿Qué microcontroladores pueden admitir la programación inalámbrica (OTA)?

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

Cómo medir el uso de ROM y RAM de funciones individuales de una biblioteca que debe ejecutarse en un sistema integrado