La mayoría de los proveedores de FPGA no comparten la información necesaria para crear herramientas de software personalizadas que pueden compilar diseños para generar archivos de "flujo de bits" de configuración para el FPGA, o al menos no fuera de una NDA con un proveedor de herramientas que es un socio estratégico. Hay algunos casos únicos en los que se ha obtenido suficiente información para que esto sea posible, pero para Xilinx o Altera (Intel), se queda atascado compilando su diseño con las herramientas del proveedor o con los comerciales de terceros aprobados.
Sin embargo, casi todos los proveedores de FPGA publican Application Notes con información sobre cómo cargar un flujo de bits creado por las herramientas aprobadas del proveedor en el propio dispositivo FPGA en tiempo de ejecución. Una posible excepción podría ser la FPGA tipo flash o anti-fusible, pero para las FPGA basadas en SRAM tradicionales, esta información es necesaria para ser competitivo en el mercado porque hay muchos diseños en los que un procesador inyectaría el flujo de bits después de leerlo en un disco. o dispositivo de almacenamiento.
Los FPGA basados en SRAM modernos suelen admitir muchos métodos de configuración: una carga esclava de un procesador, una carga maestra de un flash SPI único o estándar, extensiones JTAG, incluso cosas novedosas como USB.
E incluso los chips flash de configuración especializada suministrados por el proveedor pueden incluir suficiente información para crear sus propias herramientas para su programación.
Dicho esto, por lo general, tendrá la experiencia más sencilla utilizando un cable / adaptador de programación propio del proveedor, o una opción de trabajo similar o de un tercero aprobado, especialmente si desea hacer cosas como usar un analizador lógico compilado que necesita Comunícate con las herramientas de desarrollo a través de este cable. Sin embargo, incluso allí puede tener opciones, por ejemplo, las herramientas a veces pueden representar la comunicación con el programador a través de una red, y eso puede haber dado a alguien la oportunidad de realizar ingeniería inversa del protocolo e implementar su propia versión.
Poner un FPGA en un tablero personalizado tiende a no ser en absoluto trivial. Cuando recién comienza, haría todo lo posible para obtener una evaluación o un panel de experimentación para la familia de FPGA que está considerando. Con suerte, esto solo tomaría un cable USB o vendría con un cable adaptador de programación compatible. ¡Asegúrese de que el tablero que compre esté respaldado por el nivel gratuito de las herramientas del proveedor!