¿Cómo funcionan exactamente todos los FPGA en esta placa para realizar cálculos de alta velocidad?

2

El tablero al que me refiero se llama "Merrick 3" de "Enterpoint (ltd)". La página web se puede encontrar aquí: enlace

Puedo ver que usa PCIe y tiene muchos FPGA en la placa. Todos estos FPGA trabajan juntos para realizar cálculos a muy alta velocidad. Lo que no me queda claro es, ¿cómo se estructuran los datos en un panel de este tipo? ¿El dispositivo principal de la placa tiene algún tipo de máquina de estado que lo ayuda a analizar los datos entrantes y determinar qué tipo de cálculo se debe hacer con los datos?

La otra cosa que no me queda clara es cómo hace exactamente la junta para que tantos FPGA trabajen juntos para lograr el resultado del cálculo. ¿Se puede hacer una tarjeta gráfica de esta manera?

    
pregunta quantum231

1 respuesta

6

La placa simplemente proporciona un conjunto de FPGA y SDRAM opcionales con conexiones "genéricas" entre ellos, como se muestra en el diagrama de bloques. Tal como se entregó, la placa no hace nada en absoluto (excepto el consumo de energía).

Depende de usted, como usuario final, escribir el código HDL para los FPGA, ya sea individual o colectivamente, que utilice los recursos en chip y fuera de chip para resolver cualquier problema que tenga.

Sí, podrías hacer una tarjeta gráfica muy impresionante, pero tendrías que agregar una pequeña cantidad de hardware (a través del conector de expansión en la parte superior) para admitir la interfaz de pantalla específica que deseas usar.

Para usar esta placa, primero debería obtener un diagrama de bloques (más) detallado de los recursos en él y luego averiguar cómo "mapear" una arquitectura de hardware para su solución de problema en él. Necesitará una copia de la cadena de herramientas de desarrollo FPGA de Xilinx; hay una versión gratuita, pero para un proyecto de esta magnitud, probablemente querrá pagar por la versión completa. Luego escribe el código HDL (por ejemplo, Verilog o VHDL) para implementar la lógica que ha asignado en cada FPGA. En algunos casos, tendrá un código idéntico (o casi idéntico) instalado en todos los FPGA, creando una especie de procesador de malla. En otros casos, creará una "tubería" de FPGA, con cada uno trabajando en una parte única del problema.

También deberá averiguar cómo introducir y sacar sus datos de la pizarra. Puede hacer esto escribiendo un controlador para la PC host que hace esto a través de la interfaz PCIe, o puede conectar la placa a un hardware externo a través de su conector de expansión.

No hace falta decir que cualquier proyecto que involucre a esta junta es una tarea importante, pero es bueno saber que está ahí si realmente lo necesita. Una aplicación para esta placa es probar los algoritmos y sus implementaciones de hardware antes de diseñar un ASIC totalmente personalizado para la producción en masa.

    
respondido por el Dave Tweed

Lea otras preguntas en las etiquetas