Comparando FPGA con un microcontrolador o SOC, asuma la misma funcionalidad, ¿qué tamaño puede obtener el FPGA?

0

Viendo esta respuesta a FPGA's vs Microcontrollers //electronics.stackexchange.com/a/4393/127001 "> enlace

Menciona que FPGA tiene espacio limitado y MCU por tiempo limitado. Así que esto me hizo pensar.

¿Qué tan grande puede obtener FPGA si asumimos que el sistema que usa MCU tiene la aplicación y configuración similares a las de FPGA? ¿Sería seguro asumir que el sistema que usa MCU y SoC tiene una respuesta similar en este caso?

ACTUALIZACIÓN: Para aclarar, usemos Arduino Uno como referencia para MCU. ¿Cuál sería el tamaño físico de FPGA si usara la especificación similar de Arduino Uno?

    
pregunta Smiley

3 respuestas

3

Creo que estás un poco confundido acerca de la diferencia fundamental entre el FPGA, un procesador y un microcontrolador.

En palabras simples:

Un procesador es un dispositivo lógico especial que puede realizar solo una funcionalidad específica, como ejecutar una instrucción de programa por instrucción. Entonces, dado que hay un límite a la velocidad a la que el procesador puede "saltar" de la línea a la siguiente, decimos que tiene un límite de tiempo y no puede trabajar más rápido que su máximo. Un microcontrolador es como un procesador, pero tiene memoria y es como un sistema en un chip.

Un FPGA es un "andamio" de componentes lógicos, bloques primitivos que se pueden interconectar en bloques más grandes para realizar una función específica. Por lo tanto, si tiene suficientes "componentes" para hacer dos o tres o más bloques idénticos que puedan realizar la misma función, puede ejecutarlos en paralelo, y así podrá hacer el trabajo más rápido (al igual que usar varios procesadores para funcionar en paralelo ). De hecho, puede diseñar sus propios procesadores e implementarlos en un FPGA. Pero la idea clave es que si no tiene suficientes componentes lógicos, tiene un espacio limitado, o mejor dicho, un recurso limitado. La cantidad de lógica que se puede colocar en el dado IC está limitada debido al espacio limitado (y por otras razones).

Entonces, la conclusión es que puede hacer un sistema realmente rápido usando FPGA, si tiene suficientes recursos FPGA (área en la que residen los componentes lógicos), por lo que el límite final es el "tamaño", que define cuántos agregadores , multiplicadores, bloques de RAM, etc. se dan en un chip FPGA particular. En cuanto al procesador, no hay forma de que funcione más rápido que su frecuencia máxima. Por lo tanto, aquí es donde tiene el cuello de botella: no puede saltar a otra función antes de terminar la anterior, pero con un FPGA, esas funciones se pueden ejecutar juntas al mismo tiempo.

En cuanto a los tamaños físicos, los chips están hechos de diferentes tamaños dependiendo de la cantidad de recursos que deben estar dentro de ellos y la cantidad de pines. Puede buscar diferentes partes y comparar los tamaños en términos de dimensiones físicas y recursos. Pero, como se mencionó en las otras respuestas, no debe mezclar el tamaño del chip con el tamaño de la placa PCB que contiene todos los componentes necesarios para conectar un chip.

    
respondido por el Nazar
2

La frase "espacio limitado" en la publicación que está leyendo se refiere a espacio de configuración , es decir, el número de bloques lógicos configurables en un FPGA. No tiene nada que ver con el tamaño físico de la pieza, o de la placa de desarrollo en la que está montada.

Las MCU no tienen (típicamente) bloques lógicos configurables en el mismo sentido que un FPGA, por lo que no hay forma de hacer una comparación de manzanas con manzanas del "tamaño" de las dos partes aquí.     

respondido por el duskwuff
1

La conocida serie Spartan3 tiene chips con 50,000 hasta 5,000,000 puertas. La vieja CPU 6502 tiene unas 1.000 puertas. Una SRAM de 1.000 bits tiene 2.000 puertas.

Para que puedas calcular cuántos procesadores puedes poner en un FPGA y qué vergonzosa cantidad de RAM (solo se utilizan las puertas). Esa es la razón por la que los FPGA también contienen bits de RAM dedicados y "RAM de bloque", juntos aproximadamente el mismo número que tiene puertas. Todavía no es nada en relación con lo que ofrece un SoC.

    
respondido por el Janka

Lea otras preguntas en las etiquetas