Processing math: 100%

8 votos

Recuento de la puerta lógica de la FPGA

Encontré una junta de FPGA que me gustó. Utiliza un Xilinx Spartan 6 LX45. Cuando fui al hoja de datos de la serie Spartan 6 sólo decía que había 43.661 células lógicas. ¿A cuántas puertas equivale eso? O más bien, ¿cómo podría calcular el número de puertas totales a partir del número de células lógicas?

6voto

RWH Puntos 21

Los fabricantes de FPGAs ya no utilizan el recuento de puertas equivalentes, ni siquiera en los materiales de marketing más ondulados. Al igual que las líneas de código o los megahercios de velocidad del procesador, es una métrica muy inexacta para medir la capacidad del dispositivo, y en los mercados de FPGAs los clientes se dieron cuenta lo suficiente como para suprimir su uso.

Para estimar el tamaño del dispositivo que necesitas, tendrás que mirar el resumen de la página 2 de la hoja de datos que has enlazado. Normalmente puedes tener una idea decente al principio del proceso de diseño de cuántos flip-flops, cuántos i/o's y cuánta ram necesita tu diseño. Uno u otro de los que normalmente será el recurso crítico que determina el tamaño de la parte que necesita.

Si no estás muy limitado por los costes, utiliza un dispositivo dos veces o más grande de lo que crees que necesitas. Esto le dará margen de maniobra en su diseño y también acelerará el desarrollo, ya que las herramientas de diseño no tendrán que esforzarse tanto para adaptar su diseño a los recursos disponibles.

Editar , sacando cosas de los comentarios,

Has mencionado que tu diseño es mayoritariamente sin reloj.

El problema es que las herramientas de diseño de FPGA dependen de la sincronización y de las restricciones de tiempo resultantes para impulsar la optimización del diseño sintetizado. Si quieres hacer un diseño sin reloj en una FPGA es posible en principio, pero no vas a obtener mucha ayuda de las herramientas (o de los vendedores) y probablemente tendrás que encontrar una comunidad especializada que haga ese tipo de cosas para obtener algún apoyo.

En cualquier caso, puedes mirar el Spartan 6 Guía del usuario del bloque lógico configurable para ver los recursos disponibles en cada bloque. A continuación, asigna mentalmente tu diseño a esos recursos para ver cuántos bloques necesitas. Eso debería ser suficiente para permitirte elegir el tamaño correcto del dispositivo.

Por ejemplo, en ese documento se puede ver que la pieza LX45 contiene unas 27.000 LUT de 6 entradas. Cada LUT puede utilizarse para implementar una lógica combinatoria arbitraria con hasta 6 entradas. Si puedes expresar tu lógica en términos de esta primitiva, puedes estimar si tu diseño encaja en el dispositivo.

0 votos

Bueno, esa es la cuestión, todavía no he empezado a diseñar (y mi diseño es directamente en lógica), porque, iba a diseñar en base a las ofertas especiales de mis FPGAs. Sé que necesitaría aproximadamente >2,5M de puertas, así que ¿cómo podría encontrar algo que pudiera albergar esa cantidad de puertas?

0 votos

¿De verdad, sin chanclas?

0 votos

Bueno, tengo algunos, pero bastantes son sólo SR y otros, en lugar de JK y D.

4voto

Kevin Read Puntos 5544

Las FPGAs son más que puertas (LUTs, FFs, Block RAM, Multiplicadores, etc) y tratar de calcular cuántas hay es un ejercicio bastante insignificante. En el pasado, los departamentos de marketing de las empresas de FPGAs lanzaban cifras como el número de puertas equivalentes a 1,4 veces el número de células lógicas, pero creo que han dejado de hacerlo.

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

0 votos

Bueno, esa es la cuestión, todavía no he empezado a diseñar (y mi diseño es directamente en lógica), porque, iba a diseñar en base a las ofertas especiales de mis FPGAs. Sé que necesitaría aproximadamente >2,5M de puertas, así que ¿cómo podría encontrar algo que pudiera albergar esa cantidad de puertas?

0 votos

¿Cómo sabes que necesitas 2,5 millones de puertas?

0 votos

Empecé a hacer un módulo en un pequeño simulador, lo multipliqué por el número de módulos que necesitaría, añadí un poco de espacio y redondeé a dos cifras de sig.

2voto

Martin Thompson Puntos 6509

Ve al revés: por otros comentarios parece que ya tienes un módulo resuelto. Introduce eso en las herramientas de la FPGA - incluso las que no son caras te darán una estimación del número de LUT/BRAM/FF a partir de la síntesis. Multiplícalo por tu número de instancias, añade algo de holgura y tendrás un número de LUT utilizable para dimensionar la FPGA.

Por supuesto, es posible que tengas que hacerlo para cada tipo de FPGA que consideres, ya que cada una tiene arquitecturas algo diferentes, en términos del número de entradas que tienen las LUTs, y cuántos otros circuitos de apoyo en forma de muxes, etc., tienen alrededor de las LUTS. Y si tu circuito puede aprovecharlo...

0 votos

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

0 votos

Si quieres una estimación seria, podrías tomar tu diagrama de puertas y convertirlo en HDL. Tendrás que hacerlo de todos modos para hacer cualquier trabajo serio de implementación en estos días. ¿Es un diseño muy grande o estructurado jerárquicamente con mucha reutilización?

0 votos

@haneefmubarak 8 años tarde, pero hay un montón de herramientas de dibujo/simulación que pueden exportar verilog por ejemplo. Así que es posible, al menos, en 2021 lo es. Circuitverse es una de las muchas herramientas gratuitas que podrían hacerlo.

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