Estoy iniciando un nuevo proyecto independiente, conectado a la red basado en un FPGA. El chip de destino es de la serie Xilinx Zynq UltraScale +.
La arquitectura en la que estoy pensando es:
- Toda la pila de red y la lógica de latencia crítica se implementan en hardware, y conectado a una interfaz 100GE.
- Los núcleos ARM lo harían ejecutar Linux, manejar todos los sistemas de gestión (estadísticas y gestión agente, servidor de mantenimiento de clúster, ...), y se adjuntará a una interfaz 1GE.
- Los dos se conectarán a través de un bus PCI-Express utilizando Riffa (por ejemplo).
Una pregunta que me pregunto es si es posible programar el FPGA directamente desde la distribución de Linux que se ejecuta en los núcleos ARM, usando herramientas de línea de comandos. ¿O tiene que hacerse desde un dispositivo externo?
Al hacerlo, se permitirían actualizaciones de la lógica del usuario sin agregar otro chip en el cuadro dedicado a realizar actualizaciones remotas.
Gracias.