Anda di halaman 1dari 28

Electrnica Digital II

Arquitecturas de las Celdas


Lgicas
Octubre de 2014

Estructura General de los


FPLDs
Un FPLD tpico contiene un nmero de celdas dispuestas en forma
matricial, en las cuales se pueden implementar funciones lgicas.
Los recursos de interconexin conectan a las celdas entre s o con
los bloques de entrada y salida.

Estructura General
Una celda lgica puede ser tan simple como un transistor
o tan compleja como un microprocesador. Con las celdas
se va a implementar lgica combinacional o secuencial,
de diferentes complejidades.
Comercialmente, los FPLDs utilizan celdas lgicas que
estn basadas en uno o mas de los siguientes
elementos:
Un par de Transistores.
Arreglos de compuertas bsicas, como NANDs y XORs de dos
entradas.
Multiplexores.
Tablas de bsqueda (LUTs, Look-up tables).
Estructuras AND-OR con muchas entradas.

Granularidad de una
Celda Lgica
Una celda lgica puede tener:
Granularidad fina: La celda contiene pocos
transistores y puede implementar solamente
simples compuertas.
Granularidad gruesa: La celda contiene un
nmero grande de transistores, suficiente para
implementar funciones lgicas grandes.

Par de Transistores
Los FPGAs de Crosspoint Solutions utilizan un par de
transistores como una celda lgica.

Dado que los transistores estn conectados en renglones,


las compuertas se pueden aislar apagando los transistores
que las limitan.

Par de Transistores

La Celda Plessey
Plessey ofrece un FPGA cuya celda bsica consiste de
una compuerta NAND de dos entradas
Si el latch no es necesario, la configuracin lo deja
transparente.

La Celda Plessey
Por ejemplo, la funcin f = ab + c se puede
implementar con dos compuertas NAND.
U1
A

U2

B
AND_2

U3

f
OR_2

C
NOT

U4
A

U5

B
NAND_2

C
NAND_2

Otras Celdas de Grano Fino


Algotronix utiliza una celda en donde, con un bloque
de dos entradas, con base en multiplexores
configurables, se puede realizar cualquier funcin de
dos entradas.
Concurrent Logic utiliza una celda que contiene una
compuerta AND de dos entradas y una compuerta XOR
de dos entradas.
Toshiba ofrece un FPGA donde la celda se basa en
compuertas NAND de dos entradas.

Celdas de Grano Fino


La principal ventaja en el uso de celdas de grano fino
es que stas son completamente utilizadas. Es ms
fcil usar celdas lgicas pequeas eficientemente.
La principal desventaja es que los FPGAs requieren un
nmero relativamente grande de segmentos de
alambre e interruptores programables. Tales recursos
de ruteo pueden resultar costosos en rea y en el
tiempo de respuesta del dispositivo.

Celdas basadas en Mux


La familia Act-1 de Actel usa una celda de 8 entradas y
una salida la cual contiene tres multiplexores de 2 a 1 y
una compuerta OR.
En la celda se pueden
implementar todas las
funciones combinacionales
de dos entradas, todas las
funciones de tres entradas
con, al menos, una
entrada positiva, muchas
funciones de cuatro
entradas y algunas de 5 a
8 entradas.
En total se pueden implementar 702 funciones diferentes
en la celda Act-1.

Celdas basadas en Mux


La funcin de la celda es:
f = (s3 + s4)(s1w + s1x) + (s3 + s4)(s2y + s2z)

Celdas basadas en Mux


Por ejemplo, la funcin f = ab + c se puede
implementar como sigue:

Celdas basadas en Mux


f = (s3 + s4)(s1w + s1x) +
(s3 + s4)(s2y + s2z)
= (c + 0)(0 . 1 + 0 . 1) +
(c + 0)(b . 0 + b . a)
=c(1 + 0) + c(0 + ba)
= c + cab
= c + (c + c) ab
= c + 1(ab)
= ab + c

Celdas
basadas
en Mux
La celda lgica de
los FPGAs de Quick
Logic es similar a la
de Actel en que usa
tres multiplexores
de 2 a 1, pero
organizados como
un mux de 4 a 1.

Celdas basadas en tablas


Las celdas de Xilinx estn basadas en el uso de SRAM como
tablas de bsqueda (LUT, look-up table). La tabla de verdad
para una funcin lgica de K-entradas est almacenada en
una SRAM de 2K x 1.
Las lneas de direccin
funcionan como entradas
y el dato almacenado en
la SRAM proporciona el
valor de la funcin.

XC2000 CLB

XC3000 CLB

XC4000 CLB

Altera Flex 10KE

Granularidad y densidad
La funcin f = abd + bcd + abc se puede implementar
con LUTs de diferentes dimensiones, como sigue:
3-LUT
2-LUT

4-LUT

Granularidad y Bits de
Configuracin
Dado que cada K-LUT requiere de 2K bits de
configuracin,
La implementacin en 2-LUT requiere 22 x 7 = 28
bits.
En 3-LUT se necesitan 23 x 3 = 24 bits.
En 4-LUT se requieren slo 24 x 1 = 16 bits.
Considerando los bits de configuracin como una
medida de rea (costo en rea), la implementacin
en 4-LUT ocupa un rea lgica mnima.

Granularidad y Nmero de
Bloques Lgicos

Granularidad y Retardos de
Propagacin
La funcin f = abd + abc + acd se puede implementar usando
nicamente compuertas NAND de dos entradas, como sigue:
La ruta ms larga
requiere 4 niveles
lgicos.
Asumiendo un proceso
CMOS a 1.2, una NAND
de 2-entradas tiene un
retardo de 0.7ns.
La ruta crtica tiene un
retardo de 4 x 0.7 =
2.8ns

Granularidad y Retardos de
Propagacin
La misma funcin f = abd + abc + acd tambin se puede
implementar usando 3-LUTs como sigue:
La ruta ms larga
requiere 2 niveles
lgicos.
Asumiendo un proceso
CMOS a 1.2, una 3-LUT
tiene un retardo de
1.4ns.
La ruta crtica tiene un
retardo de 2 x 1.4 =
2.8ns

Niveles lgicos y retardos de


propagacin

Lgica aleatoria en FPGAs


Se considera el mapeo de un circuito cualquiera en LUTs de 3 y de 5
entradas.
LUT 1

LUT 2

LUT 4

LUT 3
LUT 1
LUT 2

Al incrementar el tamao de las LUTs


(incrementando el nmero de
entradas), el nmero de LUTs puede
ser reducido.
Las LUTs son muy convenientes para la
realizacin de lgica aleatoria.

Operaciones Aritmeticas en
FPGAs

LUT 4

Se considera el mapeo de un
sumador completo de 2 bits en LUTs
de 3 entradas.
Son necesarias 4 LUTs.
Si se utilizan LUTs con un mayor
nmero de entradas no se reducir el
nmero de LUTs necesarias para
implementar al sumador.
Sin un cambio en el nmero de
salidas, se desperdiciaran recursos al
emplear LUTs con un mayor nmero
de entradas.

LUT 3

LUT 2

LUT 1