Cómo grabar múltiples FPGA

0

Podemos comprar prototipos para programar FPGA con mucha facilidad. Y también podemos comprar un único FPGA para programar. Pero no conozco ninguna placa para programar varias veces un FPGA. Supongo que siempre que quiera programar varios FPGA, se debe utilizar una placa de programación especial, donde puede reemplazar fácilmente el FPGA por otro con algún tipo de ranura. ¿Me equivoco? ¿Y ese tablero es específico para FPGA?

    
pregunta Emile D.

5 respuestas

2

Un FPGA (aparte de algunos productos especializados) no almacena su configuración después de que se retira la alimentación. Debe volver a programarse cada vez que se enciende.

La mayoría de los FPGA incluyen lógica dedicada para conectarse a una EEPROM en la misma placa y configurar automáticamente el FPGA a partir de los datos almacenados en la EEPROM después de cada encendido. Si utiliza este tipo de FPGA, su problema ahora es cómo programar un montón de EEPROMS para que se rellenen en los tableros con sus FPGA.

Para esto, programadores de pandillas ciertamente están disponibles. También puede pagarle a una compañía de servicios para que programe sus EEPROM para usted.

Pero podrían no ser económicos si su volumen de producción es inferior a 100 unidades o menos. En su lugar, puede usar la función de programación regular en circuito de su FPGA para programarlo a un diseño que enrute señales desde el programador en circuito a través del FPGA para programar la EEPROM. Los principales proveedores de FPGA desarrollan esta capacidad en sus herramientas de programación en el circuito, por lo que es posible que ni siquiera se dé cuenta de que esto es lo que está haciendo.

    
respondido por el The Photon
0

La respuesta anterior es correcta (The Photon) para soluciones que normalmente tienen solo FPGA en la placa.

Si ya tiene una MCU en su tablero, puede cargar los FPGA desde ese procesador.

Lea esto de Xilinx en la configuración (otros son muy similares).

Lea esto en Altera de configuración de FPGA cargando.

Por lo general, cuando carga desde un EEProm en serie, esto lo maneja el propio FPGA, y como se señaló, solo necesita programar los EEProms para que el FPGA pueda instalarse permanentemente en la PCB.

Los otros métodos son mucho más flexibles y suelen incluir:

  1. Una opción en serie como SPI o I2C
  2. Una opción JTAG con múltiples FPGA direccionables (muchas veces esto puede incluir un encabezado JTAG en la placa para la actualización manual, pero puede manejarse desde una MCU.
  3. Una opción paralela que parece un chip RAM.

La opción paralela se usa a menudo cuando las funciones en el FPGA se cambian dinámicamente durante la operación.

    
respondido por el Jack Creasey
0

Para ampliar la respuesta de @ crj11, todo lo que necesita hacer es proporcionar una interfaz JTAG, que es un pequeño conector de 10 pines, conectado a los pines apropiados en el FPGA. Una vez ensamblada la placa, conecte el JTAG y programe el FPGA. Y puede hacer esto repetidamente al mismo FPGA, por lo que las actualizaciones y las correcciones de errores son sencillas.

    
respondido por el WhatRoughBeast
0
  

¿Estoy equivocado? ¿Y ese tablero es específico para FPGA?

La compañía más grande que conozco que hace "programadores de pandillas" durante los últimos 40 años aproximadamente es DataI / O . Tienen adaptadores para cada tamaño de chip y software para todos los chips incluidos en un paquete y cobran una tarifa de actualización anual para sus bibliotecas. No hacen tarjetas baratas de programador de pandillas de un solo chip. Pero alguien más podría hacerlo.

Tienenlamáquinamáspopular,ylasdealtavelocidaddeproducción.Noesbarato,perobueno.

Cuandolastiendasdetablerosgrandestienenaltastasasdeproducción,utilizanequiposdeE/Sdedatoscompatibles.

  • Hasta2000piezasporhora(conbandeja,cintaytubo,inclusoconarchivosdegrantamaño)
  • 2pick&colocarcabezas
  • SSDparadescargarápida
  • Algoritmosoptimizados

Normalmente,seprogramaunchipFlashenserieparaunFPGAvolátil,peroahorahayalgunosflashinteresantes+CortextFPGASoC. enlace

    
respondido por el Tony EE rocketscientist
0

Lo que hacemos a menudo si tenemos lotes de producción que son más grandes que varias docenas de piezas, creamos un tablero de agujas para las pruebas de incursiones que también tienen contactos con la interfaz flash. De esta manera podemos integrar directamente el proceso de programación en la secuencia de prueba.

    
respondido por el Humpawumpa

Lea otras preguntas en las etiquetas