5 votos

¿Qué componentes son necesarios para una FPGA?

He trabajado en una FPGA dev board, (La DE0), pero nunca he diseñado una aplicación usando solo el chip. En la placa que tengo, hay un montón de componentes, y no estoy seguro de cuáles son necesarios para el diseño de un circuito independiente.

Sé que el EPC4S es importante, porque contiene el .pof, y querría un controlador USB, pero hay unos 20 chips más ahí. Alguien puede explicar lo que el mínimo bare una FPGA requeriría si ignorando los diferentes conectores y periféricos?

0 votos

La FPGA y el chip que contiene la programación de la FPGA.

2 votos

Y muchos condensadores de derivación, más de 100 en algunos casos.

0 votos

No olvides 5 ó 6 fuentes de alimentación...

6voto

silverbolt Puntos 18

No necesitas mucho. Aquí tienes una lista de lo que puedes necesitar:

  1. La propia FPGA
  2. Fuente de configuración FPGA
    • SPI flash + algún método para programarla (directo o indirecto vía JTAG) (más barato)
    • JTAG programable FPGA config flash (más caro, pero bastante conveniente)
    • Carga paralela o en serie desde un controlador externo
    • Para algunas FPGAs, pequeña config flash + carga del núcleo sobre PCIe después de la enumeración
    • Integrado con la FPGA (no es lo habitual, pero algunas FPGA lo admiten, por ejemplo, la spartan 3AN).
  3. Reguladores de tensión
    • Suministro básico
      • generalmente muy baja tensión, de 0,9 a 1,2 voltios
      • puede necesitar bastantes amperios para una FPGA grande (tal vez alrededor de 100 a 500 mA para una FPGA pequeña, puede ser de hasta 20 o 30A para una FPGA muy grande, el tamaño de la FPGA (potencia estática), el tamaño del diseño, la velocidad de reloj, y el factor de actividad depende)
      • DC-DC convertidor recomendado como LDO será muy ineficiente
    • Puede necesitar alimentación/suministros auxiliares para otra lógica interna, generalmente de 2,5 a 3,3v.
    • Alimentación de E/S, puede necesitar varios voltajes según el diseño
    • Puede necesitar tensiones de terminación (Vtt) o de referencia (Vref) para determinados estándares de interfaz de alta velocidad.
    • Los transceptores de alta velocidad suelen necesitar reguladores lineales específicos.
      • un convertidor CC-CC de dos etapas seguido de un LDO con alimentación de polarización independiente (por ejemplo, para una banda de 1,2 V, utilice un conmutador de 1,3 a 1,5 V seguido de un LDO con una entrada de alimentación de polarización independiente de la banda de 2,5 ó 3,3 V).
  4. Tapones de derivación
    • Gobs y gobs, aproximadamente uno por cada par de pines de potencia
    • Es posible que se necesite una combinación de tapones grandes y pequeños para cubrir las frecuencias altas y bajas, especialmente en el caso de los transceptores de alta velocidad.
  5. Fuente(s) de reloj
    • Necesita al menos 1 oscilador para la lógica de usuario enrutado a un pin de reloj global
      • Utilizar osciladores, no cristales, ya que las FPGA generalmente no pueden accionar cristales.
      • Escoge una frecuencia relativamente razonable, ya que puedes utilizar DCMs/PLLs internos para reescalarla (consulta la documentación de sincronización de la FPGA).
      • Considere la posibilidad de utilizar activadores de reloj en lugar de generar relojes lentos, lo que reducirá el número de DCM/PLL necesarios y eliminará/simplificará los problemas de cruce de dominios de reloj.
      • Las frecuencias muy precisas pueden requerir osciladores específicos.
    • Los transceptores de alta velocidad suelen requerir osciladores dedicados y una gestión externa del reloj (búferes de reloj, muxes de reloj, atenuadores de fluctuación, PLL, etc., que posiblemente requieran una inicialización de encendido a través de I2C).

Recientemente he montado una pequeña placa con una FPGA spartan 3, una flash SPI Winbond, un chip de interfaz USB FTDI FT2232 y un oscilador de silicio de 12 MHz compartido. OpenOCD puede manejar la interfaz JTAG de la FPGA a través del puerto A del FT2232 para programar la FPGA y luego programar la flash SPI a través de la instrucción USER1 JTAG después de cargar la configuración de la FPGA. El segundo puerto del FT2232 puede utilizarse como puerto serie o como USB FIFO. La interfaz USB FIFO requiere 14 pines, pero puede funcionar a 8 Mbyte/seg y aparece como un puerto serie estándar en el ordenador, lo que hace que la interfaz de software sea trivial.

0 votos

¿Cómo diseñaría un tablero así? Si no puedo probar un diseño antes de hacer una pcb, ¿cómo puedo saber dónde necesito tapas y qué tamaño deben tener?

0 votos

Hay muchas directrices sobre el tamaño y la colocación de las tapas. Yo recomendaría mirar las placas de desarrollo existentes para ver cómo se hace allí, y luego implementar algo similar. Las tapas de bypass en realidad no son extremadamente críticas, siempre y cuando sean de baja ESR y se coloquen relativamente cerca de los pines. A veces los fabricantes publican directrices de diseño de placas que detallan este tipo de cosas.

0 votos

En cuanto a los condensadores de derivación, el condensador de derivación "estándar" suele ser de 0,1 uF. Y mirando el esquema del DE0, parece que tienen entre 1 tapa por cada 2 o 3 pines de alimentación, lo que probablemente es razonable dado el número de pines de alimentación en el chip. El Spartan 6 dev board SP605 utiliza 2.2 uF caps con el orden de 1 cap cada 3 pines de potencia junto con alrededor de 1 10 uF cap cada 6 pines más o menos para la capacitancia a granel. Los bancos MGT se puentean con un poco más de cuidado, con un tapón de 0,22 uF por pin y dos tapones de 4,7 uF por banco.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X