jepalza escribió:Iba a comentar que era un pelín inferior al 500k del Spartan 3E, unas 9200 puertas lógicas frente a las 10500 del 3E, pero con mas RAM (unos 90k) y mejor DSP.
Lo que has visto no son las puertas lógicas, sino las "logic cells" (celdas lógicas), y el contenido de una celda lógica es diferente según la arquitectura.
Mira mejor las "slices", porque te dice de qué están compuestas:
- La Spartan 6 LX9 tiene 1430 slices. Cada slice tiene 4 LUTS y 8 flip-flops. Una LUT (look-up table) de la Spartan 6 es un circuito combinacional reconfigurable que tiene 6 entradas y una salida. Puedes verlo como una pequeña ROM de 6 bits en el bus de direcciones y 1 bit en el bus de datos, y se emplea para esto para implementar cualquier circuito combinacional que se te ocurra que tenga hasta 6 entradas. Lo que se mete en la LUT no es más que la tabla de verdad de ese circuito.
La Spartan 6 tendría por tanto, 1430*4=5720 LUTs en total, y 1430*8=11440 flip-flops (que puedes usar para latches, registros, etc)
- La Spartan 3E-500 tiene 4656 slices, y cada una tiene 2 LUT's de 4 entradas y 2 flip-flops. Así que la Spartan 3E-500 tiene en total 9312 LUT's y 9312 flip-flops.
Uno podría pensar por tanto que la Spartan 3E tiene más recursos lógicos que la 6 (9000 y pico LUTs frente a 5700 de la Spartan 6), pero el problema de la Spartan 3E es que no puedes usar los LUT's para lo que quieras. De hecho, la mitad de los LUT's de la Spartan 3E puedes usarlos para lo que quieras (circuitos combinacionales o combinacional-secuencial, como por ejemplo registros, latches, o registros de desplazamiento) mientras que la otra mitad sólo puedes usarla para circuitos lógicos.
Así, se puede decir que la Spartan 3E es mejor que la Spartan 6 para diseños con una densidad grande de circuitos lógicos, y la Spartan 6 es mejor para diseños en los que haya muchos registros y cosas así (más flip-flops, más memoria, y mayor libertad a la hora de decidir qué hacer con una LUT)
Para el tipo de cosas que tengan que ver con retroinformática, creo que ambas son igual de buenas. Las menos LUT's del Spartan 6 se complementan con que cada LUT puede implementar un circuito más complejo. Por ejemplo: en el clon Harlequin del Spectrum, el circuito que se encarga de generar la salida VSyncEn a partir de las salidas del contador de líneas puede implementarse en una única LUT de la Spartan 6 (en este caso sustituiría a 4 puertas lógicas). En la Spartan 3E necesitaría 2 LUTs.
En general, una LUT de n entradas equivaldrá a un circuito que contenga n puertas NOT, 2^n puertas AND de n entradas cada una, y una puerta OR de 2^n entradas. En la Spartan 6 por tanto hablamos de 6 NOT, 64 AND y 1 OR. En la Spartan 3E hablamos de 4 NOT, 16 AND y 1 OR.
Así, si quieres una comparación a nivel de puertas lógicas (aunque sería una comparación muy grosera), la Spartan 3E-500 ofrece el equivalente hasta 195552 puertas lógicas para circuitos combinacionales, y la Spartan 6 LX9 ofrece el equivalente hasta 406120 puertas lógicas.