FPGA Logic Gate Count


Respuestas:


6

Los fabricantes de FPGA ya no usan el recuento de puertas equivalentes, incluso en los materiales de marketing más manuales. Al igual que las líneas de código o megahercios de velocidad del procesador, es una métrica altamente inexacta para medir la capacidad del dispositivo, y en los mercados de FPGA los clientes sabían lo suficiente como para suprimir su uso.

Para estimar el tamaño del dispositivo que necesita, deberá consultar el resumen en la pág. 2 de la hoja de datos que ha vinculado. Por lo general, puede tener una idea decente desde el principio en su proceso de diseño, cuántas chanclas, cuántas E / S y cuánto ram necesita su diseño. Por lo general, uno u otro será el recurso crítico que determina el tamaño de la parte que necesita.

Si no tiene restricciones de costos, use un dispositivo 2x o más grande de lo que cree que necesita. Le dará espacio para el arrastre de características en su diseño y también acelerará el desarrollo porque las herramientas de diseño no necesitarán trabajar tan duro para adaptar su diseño a los recursos disponibles.

Editar , sacar cosas de los comentarios,

Usted mencionó que su diseño está mayormente desbloqueado.

El problema con esto es que las herramientas de diseño de FPGA dependen del reloj y las restricciones de tiempo resultantes para impulsar la optimización del diseño sintetizado. Si desea hacer un diseño desbloqueado en un FPGA, en principio es posible, pero no obtendrá mucha ayuda de las herramientas (o proveedores) y probablemente necesitará encontrar una comunidad especializada que haga ese tipo de cosas para obtener algún apoyo

En cualquier caso, puede consultar la Guía del usuario del bloque lógico configurable Spartan 6 para ver qué recursos están disponibles en cada bloque. Luego, asigne mentalmente su diseño a esos recursos para ver cuántos bloques necesita. Eso debería ser suficiente para que pueda elegir el dispositivo de tamaño adecuado.

Por ejemplo, puede ver en ese documento que la parte LX45 contiene aproximadamente 27,000 LUT de 6 entradas. Cada LUT se puede usar para implementar una lógica combinatoria arbitraria con hasta 6 entradas. Si puede expresar su lógica en términos de esta primitiva, puede estimar si su diseño encaja en el dispositivo.


Bueno, esa es la cuestión, todavía no he comenzado a diseñar (y mi diseño está directamente en lógica), porque iba a diseñar en base a las ofertas especiales de mis FPGA. Sé que necesitaría aproximadamente> 2.5M de puertas, entonces, ¿cómo podría encontrar algo que pueda contener tantas puertas?
haneefmubarak

Realmente, no chanclas?
El fotón

Bueno, tengo algunos, pero muchos son solo SR y otros, en lugar de JK y D.
haneefmubarak

1
Para obtener un buen soporte de las herramientas de síntesis FPGA, puede considerar ajustar su diseño para enfatizar los flip-flops D --- Supongo que hay formas de diseñar en otros estilos, pero los conjuntos de herramientas FPGA están muy orientados hacia el diseño RTL, lo que significa una gran cantidad de Dff's.
El fotón

1
Hay muy buenas razones por las que las herramientas FPGA están diseñadas para usarse principalmente con lógica sincronizada. Los circuitos combinatorios complejos son muy difíciles de diseñar en un FPGA. Probablemente tendría que colocar a mano cada recurso, ya que si el reloj no se especifica, los retrasos de enrutamiento podrían ser bastante aleatorios entre las ejecuciones de síntesis. Si su diseño realmente no se preocupa por los retrasos en la propagación, tiene una oportunidad ... pero si se preocupa por estos retrasos, es probable que tenga una experiencia dolorosa y desalentadora.
Darron

4

Los FPGA son más que simples compuertas (LUT, FF, Block RAM, Multiplicadores, etc.) e intentar calcular cuántos hay es un ejercicio bastante sin sentido. Los departamentos de mercadotecnia de la compañía FPGA han arrojado, en el pasado, números como recuentos de puertas equivalentes igual a 1.4x el número de celdas lógicas, pero creo que han detenido esta práctica.

Si está tratando de determinar si un diseño dado encajará en un FPGA, es mejor hacer algunas ejecuciones de síntesis de prueba en su HDL para FPGA de varios tamaños.


Bueno, esa es la cuestión, todavía no he comenzado a diseñar (y mi diseño está directamente en lógica), porque iba a diseñar en base a las ofertas especiales de mis FPGA. Sé que necesitaría aproximadamente> 2.5M de puertas, entonces, ¿cómo podría encontrar algo que pueda contener tantas puertas?
haneefmubarak

¿Cómo sabes que necesitas puertas de 2.5M?
Amoch

Comencé a crear un módulo en un pequeño simulador, multiplicado por la cantidad de módulos que necesitaría, agregué un poco de espacio y redondeé a dos higos sig.
haneefmubarak

¿Cómo conseguiste un recuento de puertas? Las herramientas FPGA le proporcionarán números de uso en términos de sus recursos, no de conteos de puertas.
Amoch

1
Como dijo @The Photon, los FPGA y sus herramientas están muy sesgados hacia las técnicas de diseño sincrónico y obtendrás malos resultados de lo contrario. Al final del día, sin embargo, si desea diseñar para un FPGA, use herramientas FPGA, no otra cosa.
Amoch

2

Vaya a la inversa: suena a partir de otros comentarios como si ya tuviera un módulo resuelto. Alimente eso a las herramientas FPGA: incluso las sin costo le darán una estimación del recuento de LUT / BRAM / FF a partir de la síntesis. Multiplique eso por su recuento de instancias, agregue un poco de holgura y allí tendrá un recuento de LUT utilizable para dimensionar el FPGA.

Por supuesto, es posible que tenga que hacerlo para cada tipo de FPGA que considere, ya que cada uno tiene arquitecturas algo diferentes, en términos de la cantidad de entradas que tienen los LUT y la cantidad de otros circuitos de soporte en cuanto a muxes, etc. los LUTS Y si su circuito puede aprovecharlo ...


Bueno, lo haría, si pudiera encontrar una herramienta FPGA gratuita que me permita simplemente extraer puertas lógicas y luego programar un FPGA con ella.
haneefmubarak

Si desea una estimación seria, puede tomar su diagrama de puertas y convertirlo en HDL. Tendrá que hacer eso de todos modos para hacer cualquier trabajo de implementación serio en estos días. ¿Es un diseño de "espagueti" muy grande o está estructurado jerárquicamente con mucha reutilización?
Martin Thompson
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.