Placas de desarrollo PCI-Express y FPGA [cerrado]

Estoy interesado en usar algunas placas de desarrollo FPGA de alto rendimiento, pero parece que la mayoría de las opciones modernas de gama alta de Xilinx (Digilent) y Altera (Terasic) parecen ser placas basadas en PCIe. Hago desarrollo casi exclusivamente en una computadora portátil, donde no tengo una ranura PCIe.

¿Hay algún motivo por el que no haya placas de alto rendimiento disponibles como dispositivos USB independientes? ¿Es esta la forma estándar en que se utilizan los dispositivos en la práctica? ¿Tiene recomendaciones sobre cómo puedo integrar un dispositivo de primera línea (preferiblemente Xilinx) en mi flujo de trabajo?

Puede buscar plataformas fpga de minería de bitcoin antiguas

Respuestas (3)

Tienden a tener factores de forma PCIe porque es un bus moderno que se usa en muchas aplicaciones de alta velocidad. Actualmente estoy desarrollando una aplicación PCIe Gen3x8 en torno a una Altera.

Pero si no necesita la capacidad PCIe, es posible utilizar estas placas de forma independiente. Tienden a tener fuentes de alimentación externas que se pueden usar si no están conectadas a una placa base. También puede quitarles con bastante facilidad el soporte PCIe y luego pueden montarse horizontalmente en algo.

Si desea PCIe, pero solo tiene una computadora portátil, entonces esto también es posible. Puede obtener un adaptador Express Card a PCIe. Sin embargo, tenga en cuenta que estos son solo Gen1 de un solo carril. En mi proyecto actual, intenté conectar mi diseño Gen3x8 a través de uno de estos backplanes a una computadora portátil y negocia correctamente hasta Gen1x1 y funciona perfectamente (aunque considerablemente más lento).

Las computadoras portátiles modernas también cuentan con puertos Thunderbolt 3, que transmiten hasta un enlace PCIe Gen3 x4 integrado en su flujo de datos. Los gabinetes comerciales Thunderbolt 3 a PCIe se han convertido en un lugar bastante común que permite el desarrollo con estos dispositivos PCIe en computadoras portátiles.

Puede obtener placas de desarrollo para USB 3.0 que son independientes; creo que hay una de ciprés, por ejemplo. Pero USB, incluso 3.0, es generalmente mucho más lento que las capacidades de los FPGA de gama alta; de hecho, muchos de los FPGA pueden funcionar más rápido que lo que pueden manejar USB3 o PCIe3.

La otra ventaja distintiva de PCIe sobre otros buses es que la mayoría de los FPGA de gama alta ya tienen transceptores CML incorporados, lo que significa que pueden conectarse directamente a las señales PCIe sin necesidad de circuitos integrados externos. Ethernet y USB, por otro lado, tienden a requerir chips PHY externos, por lo que resultan en diseños más complejos (y costosos).

Gracias por los consejos @Tom. No sabía que algunas de las placas podían operarse independientemente del bus PCIe y podían usarse de forma independiente. Consideraré usar los adaptadores como mencionas también.

Había un pequeño mercado para las tarjetas complementarias FPGA basadas en PCMCIA, pero PCMCIA está muerta. No puedo encontrar ninguna referencia si estas tarjetas se actualizaron a Express Card.

Si está buscando placas FPGA con soporte USB 3.0, hay algunos ejemplos como este: https://www.opalkelly.com/products/xem7350/

Si desea hacer "computación de alto rendimiento" con FPGA, siempre necesitará un enlace de alta velocidad. Y eso es PCIe. USB 3.0 no es lo suficientemente rápido. Escribir controladores USB también es bastante complicado.

Puede usar la mayoría de las placas de creación de prototipos FPGA como una placa independiente, por ejemplo (Xilinx VC707) y conectarla con 2 cables USB a una computadora portátil (1 = JTAG/Programación/Depuración; 2 = USB-UART-Bridge). Si necesita un intercambio de datos más rápido, use Gigabit Ethernet :)

Compre un adaptador de tarjeta express a PCIE. La ranura para tarjetas Express de cualquier portátil moderno tiene un bus PCIE 1x. Todo lo que necesita es el adaptador adecuado para conectar la placa.

Por lo general, están hechos para usar una tarjeta de video externa, pero el tipo de dispositivo no debería importar.