Está en la página 1de 63

Diseo de Sistemas Electrnicos-DB4 Unidad 4.

Dispositivos lgicos programables

Unidad 4

Dispositivos Lgicos Programables


Andres.Iborra@upct.es
Juan.Suardiaz@upct.es

Febrero 2003

TEMARIO

1
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

CONTENIDO

Unidad 4. Dispositivos lgicos programables.

4.1. Circuitos integrados de aplicacin especfica (ASICs).


4.2. Dispositivos lgicos programables sencillos (SPLD).
4.3. Dispositivos PAL.
4.4. Dispositivos GAL.
4.5. Evolucin del diseo digital.
4.6. Dispositivos CPLD.
4.7. Dispositivos FPGA.
4.8. Influencias en el campo analgico: dispositivos analgicos
programables.

OBJETIVOS ESPECFICOS

Conocer lo que es un dispositivo lgico programable o PLD.


Analizar la evolucin que han sufrido este tipo de dispositivos.
Tomar conciencia de las ventajas que ofrecen al diseador estos dispositivos.
Estudiar la arquitectura asociada a los PLDs ms significativos.
Conocer la influencia que estos dispositivos tienen en la nueva concepcin de
los diseos analgicos.

2
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.1 CIRCUITOS INTEGRADOS DE APLICACIN ESPECFICA (I)

Introduccin.

Los sistemas electrnicos presentan una evolucin creciente en complejidad,


prestaciones y densidad.

Para afrontar esta complejidad creciente surgen los ASIC:

! ASIC tipo Full-Custom.


! ASIC tipo Semi-Custom.

o Estndar-cells.
o Gate-arrays.
o Sea of gates.

Los Dispositivos Lgicos Programables (PLD) se pueden considerar entre los


productos estndar (SSI y MSI) y los circuitos full-custom y semi-custom.

3
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.1 CIRCUITOS INTEGRADOS DE APLICACIN ESPECFICA (II)

ASIC Full-Custom.

" Son aquellos que se han diseado a medida para una aplicacin
especfica. Son diseados en fbrica, por lo que permiten un mejor y
eficiente aprovechamiento del silicio en la implementacin del circuito,
ofreciendo un menor rea de silicio para un circuito dado.

" Como contrapartida est su elevado coste de desarrollo, lo que los hace
viables slo para aquellos sistemas cuyo nmero de unidades fabricadas y
vendidas sea muy alto.

4
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.1 CIRCUITOS INTEGRADOS DE APLICACIN ESPECFICA (III)

ASIC Semi-Custom.

" Son sistemas semidiseados, constituidos por una serie de bloques


funcionales en los que falta realizar las conexiones entre ellos con el fin de
implementar las conexiones necesarias.

" Actualmente hay diferentes tipos diferentes de sistemas semi-custom.


Los ms destacados:

Standard-Cells.
Gate-Arrays.
Sea of gates.

5
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.1 CIRCUITOS INTEGRADOS DE APLICACIN ESPECFICA (IV)

ASIC Semi-Custom. Standard-Cells (I)

" Se basa en la utilizacin de clulas prediseadas disponibles en una


librera estndar. El diseo consiste en combinar dichas clulas.

" Una librera contiene unos pocos cientos de clulas (inversores, puertas
NAND, puertas NOR, puertas AOI y OAI, latches tipo D, y flip-flops).

" Cada tipo de puerta puede tener mltiples implementaciones que estn
optimizadas para diferentes fan-outs. Por ejemplo, una puerta inversora
puede estar construida a partir de transistores con tamao estndar,
tamao doble, o cudruple. El diseador escoge el tamao adecuado en
funcin de la velocidad que desee conseguir y la densidad del layaout.

6
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.1 CIRCUITOS INTEGRADOS DE APLICACIN ESPECFICA (V)

ASIC Semi-Custom. Standard-Cells (II)

" Para posibilitar la colocacin automatizada de las clulas y el rutado de las


conexiones entre clulas, el layout de cada clula se disea con una altura
fija. De este modo, las clulas son apiladas formado filas.

" La lnea de alimentacin (VDD) y masa (VSS) corren paralelas a los


bordes superior e inferior de las filas, de tal modo que las clulas vecinas
comparten las lneas de alimentacin.

" Los pines de entrada y salida estn localizados en los bordes superior e
inferior de la clula.

7
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.1 CIRCUITOS INTEGRADOS DE APLICACIN ESPECFICA (VI)

ASIC Semi-Custom. Gate-Arrays (I)

" Suelen presentar filas de transistores sin conexin y canales intermedios


para el rutado.

" El fabricante prepara las obleas con los arrays de transistores y los buffers
de I/O, que despus almacena en una sala blanca. Cuando el cliente
finaliza su diseo, el fabricante completa los pasos restantes.

8
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.1 CIRCUITOS INTEGRADOS DE APLICACIN ESPECFICA (VII)

ASIC Semi-Custom. Gate-Arrays (II)

NAND

INVERSOR
NOR

" Los gate-array ofrecen el sistema ms rpido y econmico de los diseos


semi-custom, pero su principal desventaja es que la implementacin final
puede contener bloques funcionales que no son utilizados al 100% de sus
posibilidades, con el consiguiente desaprovechamiento de silicio.

" Los sistemas basados en standard-cells, al no ser una arquitectura tan


cerrada como la del gate array, permite realizar un aprovechamiento
ptimo del silicio.

9
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.1 CIRCUITOS INTEGRADOS DE APLICACIN ESPECFICA (VIII)

ASIC Semi-Custom. Sea Gates (I)

" Presentan una estructura similar a los GA, pero sin canales de rutado.
" Se rutan utilizando algunas clulas como transistores de paso.
" Presentan una menor utilizacin final (alrededor del 50%).
" Muy orientadas a la realizacin de RAMs y ROMs.

10
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.2. Dispositivos lgicos programables sencillos (SPLD) (I).

Caractersticas generales (I).

! Los SPLD se pueden considerar que se encuentran entre los productos


estndar (SSI y MSI) y los circuitos custom y semi-custom. Su capacidad
de integracin es, en media, por lo que pueden realizar tareas relativamente
sencillas, si bien pueden realizar funciones para las cuales eran necesarios
varios circuitos estndar.

! Se basan en el empleo de matrices lgicas programables:

11
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.2. Dispositivos lgicos programables sencillos (SPLD) (II).

Caractersticas generales (II).

! Una ventaja adicional de los SPLD es su coste reducido. Permiten el diseo de


circuitos combinacionales y secuenciales no muy complejos, a medida y a un
bajo coste.

Circuitos std. SPLDs Semi Custom Full Custom


Coste unitario BAJO BAJO O MEDIO MEDIO ALTO
Coste por puerta MEDIO MEDIO BAJO MUY BAJO
Tiempo de desarrollo SEMANAS HORAS SEMANAS MESES
Eficiencia BAJA MEDIA MEDIO ALTA
Integracin BAJA O MEDIA MEDIA ALTA MUY ALTA
Puertas equivalentes 10 100 1000/10000 100000

! Existen cuatro tipos de dispositivos SPLD:

PROM, Programmable Read-Only Memory.


PLA, Programmable Logic Array.
PAL, Programmable Array Logic.
GAL, Generic Array Logic.

12
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.2. Dispositivos lgicos programables sencillos (SPLD) (III).

Tipos de SPLD (I).

Memoria programable de slo lectura (PROM)

Se utiliza como una memoria direccionable y no como un dispositivo lgico,


debido a las limitaciones que imponen las puertas AND fijas.

Matriz Lgica Programable (PLA)

Tambin se conoce como FPLA (Field Programmable Logic Array), debido a


que es el usuario, y no el fabricante, es el que la programa.

13
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.2. Dispositivos lgicos programables sencillos (SPLD) (IV).

Tipos de SPLD (II). Matriz Lgica Programable (PAL)

Mejora las desventajas de las PLA en cuanto a los retardos en los fusibles. Es el
dispositivo programable, para una sola vez, ms comn, y se implementa con
tecnologa TTL y ECL.

Matriz Lgica Genrica (GAL)

Es el desarrollo ms reciente. Tiene una estructura muy parecida a la PAL, pero


con las siguientes diferencias:

Es reprogramable.
Tiene configuraciones de salida reprogramables.

Usa tecnologa E2CMOS (Electrically Erasable CMOS).

14
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.3. DISPOSITIVOS PAL (I)

Principios de funcionamiento PAL(Programmable Array Logic)

Su estructura permite implementar cualquier suma de productos lgica con un


nmero de variables definido.

Cada punto de interseccin entre una fila y columna se llama celda, y es el


elemento programable de la PAL.

15
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.3. DISPOSITIVOS PAL (II)

Implementacin de una suma de productos

Durante el proceso de programacin cuando se requiere la conexin entre una fila


y una columna el fusible se deja intacto. Por el contrario, cuando dicha unin no
se requiere, el fusible se abre.

Simbologa simplificada

16
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.3. DISPOSITIVOS PAL (III)

Ejemplo de Implementacin de una suma de productos

Indicar como se programa una PAL para obtener la siguiente funcin lgica de
tres variables:

X = A BC + AB C + A B + AC

17
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.3. DISPOSITIVOS PAL (IV)

Diagrama de bloques de una PAL

Tpicamente n 8 y m 8.
Algunas PAL disponen de pines de E/S.

Salida combinacional Entrada/salida combinacional

Salida de polaridad programable

18
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.3. DISPOSITIVOS PAL (V)

Referencia estndar de una PAL

19
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.4. DISPOSITIVOS GAL (I)

Funcionamiento de una GAL

20
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.4. DISPOSITIVOS GAL (II)

Diagrama de bloques de una GAL

Tpicamente n 8 y m 8.
Las OLMC (output logic macrocells), se pueden programar como lgica
combinacional o como lgica secuencial.
Las OLMC proporcionan una mayor flexibilidad que la lgica de salida fija de una
PAL.

Referencia estndar de una GAL

21
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.4. DISPOSITIVOS GAL (III)

Diagrama de bloques de la GAL22V10

22
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.4. DISPOSITIVOS GAL (IV)

Las macroceldas lgicas de salida

Existen cuatro posibles configuraciones de la OLMC:

Modo combinacional con salida activa a nivel BAJO.


Modo combinacional con salida activa a nivel ALTO.
Modo secuencial con salida activa a nivel BAJO.
Modo secuencial con salida activa a nivel ALTO.

23
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.4. DISPOSITIVOS GAL (V)

Diagrama de la matriz GAL22V10 (I)

24
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.4. DISPOSITIVOS GAL (VI)

Diagrama de la matriz GAL22V10 (II)

Ejemplo de aplicacin

Demostrar cmo se puede implementar la suma de productos de 6 variables


siguiente con la GAL22V10:

X = ABCDEF + A BC DE F + AB C D E F + ABCDE F + A BCDE F + ABC DEF


+ ABCDEF

25
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.4. DISPOSITIVOS GAL (VII)

GAL16V8

26
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.5 EVOLUCIN DEL DISEO DIGITAL (I)

Caractersticas generales

Los tiempos de procesamiento se reducen cada vez ms. Por ejemplo, en el


caso de la operacin de multiplicacin:

# En una mquina de engranajes (Pascal) era del orden del minuto.


# Con los ordenadores de vlvulas llegaba al segundo.
# Con circuitos TTL se baj a los s
# Actualmente los multiplicadores embebidos alcanzan los ns.

Los principales motivos de estas reducciones tan drsticas se encuentran en:

# La estandarizacin de componentes, acelerada por descubrimientos tales


como la radio (1930), la televisin (1944) o las guerras mundiales (WW II
1939-1945).
# La miniaturizacin, que evolucino por el PCB (1945), el transistor
(1947), PCB+transistor (1952), los circuitos integrados SSI (1965), MSI
(1970), LSI (1975), etc.

27
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.5 EVOLUCIN DEL DISEO DIGITAL (II)

Crisis y soluciones a las mismas. 1 Crisis.

La primera crisis que surge en el desarrollo de sistemas digitales se debe a la


estandarizacin (familia TTL):

# Estandarizacin => Bajo costo => Utilidad general, modularidad,


cascabilidad.

# Problemas => Velocidad, consumo, fiabilidad, tamao, confidencialidad.

Conclusin: La estandarizacin funciona si los circuitos no son demasiado


complejos.

Surge una pregunta:

Cmo hacer un circuito lo suficientemente grande que sirva para construir


sistemas lo suficientemente complejos, pero que sea a la vez lo suficientemente
estndar?.

Solucin a la primera crisis: el microprocesador.

" En 1969, Busicon encarga a una pequea compaa de 10 empleados


llamada Integrated Electronics (conocida hoy como Intel), un chipset para una
computadora. Tratan de utilizar la potencia de la integracin y hacer un
micro-computador en un chip y luego customizarlo mediante un programa
almacenado en memoria.
" Como resultado surgen en Febrero de 1971 el Intel 4004.

28
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.5 EVOLUCIN DEL DISEO DIGITAL (II)

Crisis y soluciones a las mismas. 2 Crisis. P y ASICs

" Los microprocesadores son elementos cada vez ms fciles de utilizar.


" Aportan tambin una solucin econmica (microcontroladores).
" Pronto surgen nuevos problemas:
" Los microprocesadores permiten realizar sistemas complejos, pero son
fcilmente copiables (ejemplo IBM-PC y los PCs clnicos).
" Pronto los microprocesadores y los nuevos dispositivos DSPs dejan de ser
tan rpidos como parecan.

Surgen los dispositivos ASIC para subsanar las deficiencias de los micros y
DSPs:

" Los micros permiten realizar sistemas complejos, pero son fcilmente
copiables.
" Los ASICs permiten realizar sistemas complejos y no son fcilmente
copiables.
" Los ASICs son rpidos, los micros y DSPs no tanto.
" Los micros admiten errores, los ASICs no.
" La ley de Moore hace obsoleto cualquier producto en dos aos, lo que
impone una presin adicional sobre el diseador.
" La complejidad hace inevitable la aparicin de errores desastrosos en los
ASICs. Es necesario un nuevo tipo de dispositivo y aparece una nueva
crisis.

La respuesta a la segunda crisis:

Partiendo de la idea que tuvo Texas Instruments con las PAL en los 70, al
difundir puertas lgicas que se puedan unir con la red de interconexiones
programables, Xilinx difunde bloque lgicos que puedan realizar cualquier
funcin lgica (Mux+LUT+flip-flops) con una red de interconexiones
programables y aparece la primera FPGA en 1985.

Nota: Realmente el concepto base de las FPGAs fue inventado y patentado por S. Wahlstrom en 1967,
siendo una idea demasiado adelantada respecto a la tecnologa disponible.

29
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.6 DISPOSITIVOS CPLDs

CPLD (Complex PLD)

Son versiones ms grandes que los PLD sencillos, con una matriz de
interconexin interna centralizada que se utiliza para interconectar las
macroceldas del dispositivo.

La matriz de interconexin se programa para conectar de forma selectiva


seales de entrada a un nivel de puertas AND programables que se
conectan a su vez a un nivel de puertas OR fijo.

Las salidas de las puertas OR se conectan a su vez a macrocelulas


configurables que permiten al usuario:
o Especificar la polaridad de salida.
o Seleccionar operaciones combinacionales o de registro.
o Proporcionar la funcionalidad triestado.
o Opcionalmente realimentar la matriz de interconexin.

Independientemente de la funcin que se implemente, el camino que


siguen las seales a travs del CPLD es prcticamente el mismo. Esta
arquitectura limita la flexibilidad del diseo, pero ofrece la ventaja con que
los tiempos de propagacin son muy predecibles.

30
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.7 DISPOSITIVOS FPGAs (I)

Introduccin.

Las FPGAs son circuitos de aplicacin especfica (ASIC) de alta densidad


programables por el usuario en un tiempo reducido y sin la necesidad de
verificacin de sus componentes, tarea ya realizada por el fabricante al
tratarse de un producto estndar.
Se las considera como un derivado de los Gate Array: FPGA = Field
Programmable Gate Array Gate Array Programable en Campo.
Aunque es menos usado, tambin se les conoce como LCAs (Logic Cell
Array), denominacin registrada por Xilinx.

Gate Array FPGA


Tipo de producto Especfico Estndar
Impacto en la produccin Retrasos en la produccin Rapidez de distribucin
en
mercado
Programacin Slo en proceso de fabricacin. Por el usuario (reprogramable)
Simulacin Complicada Fcil
Verificaciones en fases Imposible Posible
previas al diseo final.
Cambios en el diseo Muy costosos Posible en cualquier momento.
Comprobacin del dispositivo Especfica para cada diseo Comprobada por el fabricante

La primera FPGA aparece en 1985 producida por la compaa


norteamericana Xilinx, fundada un ao antes. Desde su aparicin, han
experimentado una importante evolucin, tanto en ventas, como en
prestaciones. Esta aceptacin en la industria electrnica es debida, en gran
medida, a las tendencias actuales, que exigen cada vez mayores
prestaciones, integracin y fiabilidad, combinadas con un menor coste y
consumo.

31
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.7 DISPOSITIVOS FPGAs (II)

Arquitectura de una FPGA.

Una FPGA consta de tres tipos de elementos programables:

1. Bloques Lgicos Configurables (CLB, Configurable Logic Block).


2. Matrices de interconexin (SM, Switching Matrix).
3. Bloques de entrada/salida (IOB, Input/Output Blocks).

Adems presenta lneas de interconexin, agrupadas en canales verticales y


horizontales.

Finalmente, dispone de clulas de memoria de configuracin (CMC,


Configuration Memory Cell) distribuidas a lo largo de todo el chip, las cuales
almacenan toda la informacin necesaria para programar los elementos
programables mencionados anteriormente. Estas clulas de configuracin
suelen consistir en memoria RAM y son inicializadas en el proceso de carga
del programa de configuracin.

32
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.7 DISPOSITIVOS FPGAs (III)

Bloques lgicos configurables (CLB).

Constituyen el ncleo de una FPGA. Cada CLB presenta una seccin de


lgica combinacional programable y registros de almacenamiento:

1. Los registros de almacenamiento sirven como herramientas en la creacin de


lgica secuencial.
2. La seccin de lgica combinacional suele consistir en una LUT (Look Up
Table), que permite implementar cualquier funcin bolean a partir de sus
variables de entrada. Su contenido
se define mediante las clulas de
memoria (CMC).

3. Se presentan tambin multiplexores, como


elementos adicionales de direccionamiento de los
datos del CLB, los cuales permiten variar el tipo de
salidas (combinacionales o registradas), facilitan
caminos de realimentacin, o permiten cambiar las
entradas de los biestables. Se encuentran
controlados tambin por el contenido de las clulas
de memoria (CMC).

33
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.7 DISPOSITIVOS FPGAs (IV)

Bloques de entrada/salida (IOB).

La periferia de la FPGA est constituida por bloques de entrada/salida


configurables por el usuario.
Cada bloque puede ser configurado independientemente para funcionar como
entrada, salida o bidireccional, admitiendo tambin la posibilidad de control
triestado.
Los IOBs pueden configurarse para trabajar con diferentes niveles lgicos
(TTL, CMOS, ).
Adems, cada IOB incluye flip-flops que pueden utilizarse para registrar tanto
las entradas como las salidas.

La figura siguiente muestra la estructura tpica de un bloque IOB:

34
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.7 DISPOSITIVOS FPGAs (V)

Lneas de interconexin.

Constituyen un conjunto de caminos que permiten conectar las entradas y


salidas de los diferentes bloques.
Estn constituidas por lneas metlicas de dos capas que recorren horizontal
y verticalmente las filas y columnas existentes entre los CLBs.
Dos elementos adicionales participan activamente en el proceso de conexin:
# Puntos de Interconexin Programable (PIP, Programmable
Interconnection Point)
Permiten la conexin de CLBs e IOBs a lneas metlicas
cercanas.
Consisten en transistores de paso controlados por un bit de
configuracin

# Matrices de interconexin (SW, Switch Matriz o Magic Box).


Son dispositivos de conmutacin distribuidos de forma uniforme
por la FPGA.
Formados internamente de transistores que permiten la unin de
las denominadas lneas de propsito general, permitiendo
conectar seales de unas lneas a otras.

35
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.7 DISPOSITIVOS FPGAs (VI)

Tipo de lneas de interconexin. Lneas de propsito general

Conjunto de lneas horizontales y verticales conectadas a una matriz de


interconexin.

Tipo de lneas de interconexin. Lneas directas

Lneas de conexin directa entre bloques,


sin tener que pasar por ninguna matriz de
interconexin.
Proporcionan la implementacin ms
eficiente de redes entre CLBs e IOBs
adyacentes, al introducir retardos mnimos
y no usar recursos generales (SM).

Tipo de lneas de interconexin. Lneas Largas


Lneas conductoras de seal de gran longitud
que atraviesan la FPGA de arriba abajo y de
izquierda a derecha.
Permiten un fan-out elevado y un acceso
rpido de una seal a un punto distante, sin la
degradacin temporal que originan las
conexiones de propsito general.
Suelen estar limitadas, por lo que es
conveniente dedicarlas para seales crticas,
como pueda ser el reloj o seales de
inicializacin globales.

36
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.7 DISPOSITIVOS FPGAs (VII)

Clulas de memoria de configuracin (CMC).

El dato de una clula de memoria habilita o deshabilita dentro del dispositivo


un elemento programable.

Estn constituidas por dos inversores CMOS conectados para implementar un


latch, adems de un transistor de paso usado para leer y escribir la clula.

Slo son escritas durante la configuracin y pueden ser ledas durante un


proceso conocido como readback.

El proceso de configuracin consiste en la carga de un fichero formado por un


conjunto de bits, cada uno de los cuales es almacenado en una de estas
clulas de memoria esttica.

37
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.7 DISPOSITIVOS FPGAs (VII)

Familias FPGAs de Xilinx.

A continuacin se describen las principales familias de Xilinx, por orden de


aparicin en el mercado, con sus principales caractersticas y componentes.

Como se puede observar en la figura adjunta, han sufrido una evolucin en la


que se tiende a incrementar la velocidad y la integracin. El principal problema
de esto es que se estn alcanzando los lmites tecnolgicos.

38
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.7 DISPOSITIVOS FPGAs (VIII)

Familia XC2000.

La XC2000 es la primera en aparecer, en 1985, por lo que es la que presenta


menores prestaciones:

Caractersticas principales.

Totalmente programables por el usuario:


Funciones de entrada/salida.
Funciones lgicas y de almacenamiento.
Interconexin.
Tres velocidades de conmutacin: 50, 70 y 100 MHz.
Tres tipos de encapsulado: en doble lnea, PLCC y PGA.

Miembros de la familia.

XC2064 XC2018
Puertas equivalentes 1200 1800
CLBs 64 100
Funciones lgicas combinacionales 128 200
Latches y Flip Flops 122 174
Entradas y Salidas 58 74

39
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.7 DISPOSITIVOS FPGAs (IX)

Familia XC3000.

Constituye la segunda generacin de FPGAs, incluyendo cinco integrados


compatibles con densidades desde 2000 a 9000 puertas lgicas equivalentes.

Caractersticas principales.

Totalmente programables por el usuario:


Funciones de entrada/salida.
Funciones lgicas y de almacenamiento.
Interconexin.
Cuatro velocidades de conmutacin: 50, 70, 100 y 125 MHz.
Arquitectura de segunda generacin:
Funciones lgicas de 5 entradas.
Dos flip-flops por CLB e IOB
Recursos de interconexin mejorados.
Buffers triestado en la zona de interconexin.
Voltajes de slew-rate programables en las salidas.
Tres tipos de encapsulado: PLCC, PGA y CQFP para montaje superficial.

Miembros de la familia.

XC3020 XC3030 XC3042 XC3064 XC3090


Puertas equivalentes 2000 3000 4200 6400 9000
CLBs 64 100 144 224 320
Funciones lgicas combinacionales 128 200 288 448 640
Latches y Flip Flops 256 360 480 688 928
Entradas y Salidas 64 80 96 120 144

40
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.7 DISPOSITIVOS FPGAs (X)

Familia XC4000 (I).

Aparece en 1990 y constituye la tercera generacin de FPGAs. Incrementa


notablemente la densidad de integracin (hasta 20.000 puertas equivalentes), as
como la complejidad y velocidad, con abundantes recursos de interconexin.

Caractersticas principales.

Totalmente programables por el usuario:


Funciones de entrada/salida.
Funciones lgicas y de almacenamiento.
Interconexin.
Cuatro velocidades de conmutacin: 50, 70, 100 y 125 MHz.
Arquitectura de tercera generacin:
Generadores de funciones flexibles..
Gran nmero de flip-flops.
RAM rpida en el propio chip.
Circuito especfico para propagacin de acarreo.
Decodificadores de alta velocidad.
Voltajes de slew-rate programables en las salidas.
Resistencias de pull-up y pull-down en las entradas.
Alta velocidad de proceso y bajo consumo.

Miembros de la familia.

XC4002 XC4003 XC4004 XC4005 XC4006


Puertas equivalentes 2000 3000 4000 5000 6000
CLBs 64 100 144 196 256
RAM (bits) 2048 3200 4608 6272 8192
Entradas y Salidas 64 80 96 112 128

XC4008 XC4010 XC4013 XC4016 XC4020


Puertas equivalentes 8000 10000 13000 16000 20000
CLBs 324 400 576 676 900
RAM (bits) 10368 12800 18432 21632 28800
Entradas y Salidas 144 160 192 208 240

41
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.7 DISPOSITIVOS FPGAs (XI)

Familia XC4000 (II).

Nomenclatura de los componentes.

42
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.7 DISPOSITIVOS FPGAs (XII)

Familia Spartan.

" Constituye la primera generacin de FPGAs que presenta un


comportamiento similar a dispositivos ASIC programables por mscara.

" Ampla la capacidad de la XC4000, presentando las siguientes


caractersticas:
Primera FPGA equivalente a un ASIC, con RAM interna.
Reprogramable ilimitadamente.
Capacidad de hasta 40.000 puertas.
Posibilidad de trabajo a 5V y 3,3V
Compatible PCI

43
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.7 DISPOSITIVOS FPGAs (XIII)

Familia Spartan II.

" Constituye la segunda generacin de FPGAs destinadas a sustituir


dispositivos ASIC.
" Se produce una modificacin sustancial de la estructura: lo que antes era
un CLB ahora se denomina SLICE y dos slices constituyen los nuevos
CLBS.
" Se amplia la capacidad hasta 200.000 puertas.
" Introduce dispositivos DLL para un control preciso del reloj.
" Presenta LUTs de 16 bits y registros con seales de inicializacin.
" Dispone de RAM on chip, distribuida por el die.

44
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.7 DISPOSITIVOS FPGAs (XIV)

Familia Spartan II.

Aparece tambin una versin de rendimiento mejor, denominada Spartan E


(XC2SE).

45
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.7 DISPOSITIVOS FPGAs (XV)

Familia Virtex (I).

Primera FPGA creada con una tecnologa de fabricacin CMOS de 0,22m, lo


que permite una mejora drstica de los rendimientos y logrando unas densidades
de 50k a 1M de puertas.
Primera FPGA compatible PCI a 66MHz.
LUTs configurables como RAMs de 16 y 32 bits.
Presenta Carry Logic dedicada para aritmtica de alta velocidad.

Tiene tambin su versin Extendida (Virtex E) de mejor rendimiento.

46
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.7 DISPOSITIVOS FPGAs (XVI)

Familia Virtex (II).

47
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.7 DISPOSITIVOS FPGAs (XVII)

Familia Virtex II.

Creada con tecnologa de 0,15m, alcanzando densidades de hasta 10M de


puertas.
Gracias al nivel de integracin, ahora un CLB se encuentra constituido por 4
SLICES.
Contiene multiplicadores embebidos para aritmtica de alta velocidad.

48
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.7 DISPOSITIVOS FPGAs (XVIII)

Conclusiones (I).

La evolucin de las FPGAs hasta la fecha evoluciona de tres formas:

1.- Tecnolgica.
Geometras cada vez ms pequeas usando transistores ms pequeos y
rpidos, acompaada de costes cada vez menores (por rea).

2.- Estructural.
" Orientacin al diseo de sistemas: generadores de acarreos, memorias y
multiplicadores embebidos.
" Interconexiones jerrquicas, control de impedancias E/S.

3.- Metodolgica.
" Disponibilidad de mdulos sintetizables cada vez ms complejos.
" Orientada hacia el diseo modular y en equipo.

49
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.7 DISPOSITIVOS FPGAs (XIX)

Conclusiones (II).

Estado actual de las familias Xilinx desde el punto de vista del diseador.

Desde el punto de vista de su edad en el mercado, es posible decidir el tipo de


FPGA a usar a fecha de hoy en un diseo digital.

Familias que no conviene usar en los diseos actuales (en vas de extincin):
Muertas: XC2000, XC6200
Seniles: XC3000, XC4000, XC5200 5V
Veteranas: XC4000XL, Spartan XL, 3,3V
Vida media: Virtex.

Un ao para una FPGA es equivalente a 15 aos para los humanos

Familias recomendadas en los diseos actuales :


Maduras: Spartan II, Virtex.
Adolescentes: Virtex II
Recin nacidas: Virtex II Pro

El futuro es la Virtex II Pro mejorada!!

50
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.8 FAMILIA XC4000XL EN DETALLE (I)

Arquitectura (I).

Cumple con la estructura de tres elementos programables anteriormente


comentada.

51
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.8 FAMILIA XC4000XL EN DETALLE (II)

Arquitectura (II). Bloques de lgica configurable (CLBs)

" Proporcionan la lgica combinacional y secuencial necesaria para


implementar los diseos.
" La flexibilidad y la arquitectura de su estructura facilitan el emplazamiento y
ruteo de cualquier aplicacin.
" Para acceder a toda la lgica de los CLBs se dispone de doce entradas
(G1G4, F1F4, C1C4) y cuatro salidas (X, XQ, Y, YQ).
" Cada CLB est formado por dos biestables y dos generadores de funciones
(LUTs) independientes de cuatro entradas.

El motivo por el que se usan LUTs para implementar las funciones lgicas es
asegurar que cualquier funcin que se genere tenga siempre el mismo
retardo.

52
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.8 FAMILIA XC4000XL EN DETALLE (III)

Arquitectura (III). Bloques de lgica configurable (CLBs)

" Las salidas F y G de estas dos LUT, junto a la seal de entrada al CLB H1
entran en un tercer generador de funciones (LUT), cuya salida es H.
" Las salidas de los generadores de funciones se relacionan con el exterior del
CLB a travs de las salidas combinacionales X (F y H)e Y (G y H).
" Entre las posibles combinaciones que se pueden hacer con los tres
generadores de funciones cabe destacar:
Dos funciones independientes de 4 variables.
Cualquier funcin de 5 variables.
Una funcin de 4 variables con otra de 5.
Una funcin de 9 variables.

53
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.8 FAMILIA XC4000XL EN DETALLE (IV)

Arquitectura (IV). Bloques de lgica configurable (CLBs)

" Los elementos de almacenamiento que entran a formar parte de los CLBs son dos
biestables D disparados por un flanco comn a los dos (K) y una entrada que habilita
este reloj (EC, Enable Clock). Cada biestable tiene una tercera entrada S/R que puede
ser programada como seal de R-S asncrona, pudindose desactivar en el caso de no
ser utilizada.
" Adems, existe una lnea que no aparece en la figura anterior, encargada de inicializar
los biestables durante el encendido del sistema o en la configuracin.
" El flanco de la seal sincronismo que se utiliza para disparar los biestables se puede
programar como de subida o de bajada. La entrada al biestable es la salida de un
multiplexor que permite seleccionar a su entrada entre F, G, H o la entrada directa DIN.
Las salidas de los biestables son Xq e Yq.
" Los generadores de funciones contienen una aritmtica dedicada a la generacin rpida
de seales de carry y borrow, incrementando considerablemente la eficacia a la hora de
construir sumadores, restadores, comparadores, acumuladores o cualquier contador.
" En cada CLB existen 4 seales de control que se hallan conectadas a las seales H,
DIN, S/R y EC respectivamente.
" Debido a que los generadores de funciones y los biestables tienen entradas y salidas
separadas, estos pueden ser tratados de forma independiente a la hora de emplazar los
bloques, consiguiendo altas densidades de empaquetamiento.

54
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.8 FAMILIA XC4000XL EN DETALLE (V)

Arquitectura (V). Bloques Entrada/Salida (IOBs)

" Proporcionan la interface entre el encapsulado exterior y los pines internos.

" Cada IOB controla un pin del encapsulado y puede ser definido como entrada,
salida o bidireccional.

" Dos entradas al interior (I1, I2) estn conectadas a un registro de entrada tipo
match o slip-flop, en funcin de la configuracin que queramos. De forma
opcional es posible retrasar la entrada de datos al registro unos
nanosegundos para compensar el retardo de la seal de reloj que primero
debe pasar por un buffer global antes de llegar al IOB.

" Las seales de salida pueden pasar directamente al PAD o ser almacenadas
en un registro D disparado por flanco, pudiendo adems invertirse gracias a la
presencia de una puerta XOR e includo controlar el estado de alta impedancia
de salida mediante una seal de habilitacin de la salida.En el caso de no
utilizar las salidas del IOB, es posible llevarlas a Vcc o GND con una
resistencia de pullup, consiguiendo as minimizar el consumo.

" La sincronizacin de las seales de entrada y salida es independiente,


disponiendo de dos relojes distintos con flanco de disparo programables.

55
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.8 FAMILIA XC4000XL EN DETALLE (VI)

Arquitectura (VI). Lneas de interconexin programables.

" Llevan a cabo las interconexiones entre los CLBs y los IOBs.
" Todas las interconexiones internas estn compuestas por segmentos metlicos, con
puntos de conmutacin programables para poder realizar el ruteo de distintos bloques.
" En las familias anteriores las entradas a los CLBs estaban en la parte izda, inferior y
superior del CLB y las salidas en la derecha, lo que favoreca un flujo de datos de
izquierda a derecha. En la familia XC4000 las entradas se distribuyen por los 4 lados del
CLB, lo que flexibiliza los algoritmos de ruteo.
" Como ya se coment anteriormente, es posible encontrar tres tipos fundamentales de
interconexiones, diferenciadas por la longitud relativa de su segmento: simples(propsito
general), de doble longitud y largas.

" La distribucin de todas estas lneas se realiza de forma tal que se consiga obtener un
mnimo de resistencia y capacidad.

" Las lneas simples constituyen una malla de lneas horizontales y verticales que
interseccionan en una matriz de interruptores que se sitan entre cada bloque. Cada
matriz de interconexin est formada por un conjunto de transistores de paso de canal n
programables, usados para establecer las conexiones entre las distintas lneas de
longitud simple.

56
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.8 FAMILIA XC4000XL EN DETALLE (VII)

Arquitectura (VII). Lneas de interconexin programables.

" Las lneas de longitud simple se utilizan para conducir seales que se enlazan a redes
con elevado fan-out.

" Las lneas de doble longitud forman una malla de segmentos de metal el doble de largas
que las lneas simples. (una lnea doble pasa por dos CLBs antes de entrar en la matriz
de interconexin).

" Las lneas largas forman una malla de conductores que recorren a lo largo y a lo ancho
todo el array. Estas lneas pueden atravesar buffers globales especiales, designados
para distribuir las seales de reloj u otras seales de control de elevado fan-out por
cualquier parte del array con un mnimo skew.

" Cada lnea larga tiene un interrptor divisor programable que puede separar la lnea en
dos canales de ruteo independientes, recorriendo cada uno la mitad del array a lo largo y
a lo ancho.

" La comunicacin entre las lneas largas y las simples est controlada por puntos de
interconexin programable (PIP). Las lneas dobles no se comunican con las anteriores.

" Existen lneas largas especiales que recorren el permetro de la FPGA.

" Existen 8 lneas globales que atraviesan estos dispositivos, diseadas para la
distribucin de los relojes y otras seales de elevado fan-out y crticas en cuanto a
tiempo se refiere. De estas 8 lneas, 4 son globales primarias que ofrecen mnimo retardo
y skew despreciable. Las otras 4 son secundarias, soportando una carga mayor, lo que
hace que introduzcan 1ns ms de retardo que las anteriores, junto a un skew adicional.

" Las lneas globales primarias y secundarias son conducidas a travs de los buffers
BUFGP y BUFGS, pudiendose conectar directamente a los PADs.

" Para conducir seales a las lneas largas, los CLBs disponen de dos buffers triestado
situados por encima y debajo de cada bloque. E sus entradas podemos conectar desde
las salidas del CLB hasta otras seales conducidas por lneas simples.

" Asociado a cada IOB se puede encontrar a la derecha y la izquierda de la FPGA un


buffer de similares caractersticas a los anteriores, que pueden usarse para implementar
multiplexores o buses bidireccionales en las lneas largas horizontales.
" A las terminaciones de las lneas largas se puede conectar resistencias de pull-up
mediante configuracin, posibilitando la implementacin de funciones AND cableadas.

57
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.8 FAMILIA XC4000XL EN DETALLE (VIII)

Arquitectura (VIII). Otras caractersticas adicionales.

" Esta familia presenta 4 decodificadores programables, localizados en las 4 esquinas del
dispositivo. Cada uno de ellos es capaz de aceptar desde 42 entradas(XC4005) hasta
72(XC4013).

Las entradas a cada decodificador pueden ser cualquier seal I1 de los IOBs vecinos,
ms una interconexin local por fila o columna de un CLB. La salida del decodificador es
un nivel alto cuando la AND de las entradas directas o complementadas es un uno
lgico. Estas salidas pueden llevarse a un CLB de forma tal que puedan combinarse con
otra lgica. Con esta unin del decodificador y el CLB es posible formar una estructura
semejante a una PAL. Las salidas del decodificador se pueden llevar directamente a las
salidas del chip. Si se quiere conseguir retardos mnimos, se deben rutear las salidas del
decodificador a los pines ms cercanos del chip.

" Oscilador: Este dispositivo tambin incluye un oscilador embebido.

58
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.8 FAMILIA XC4000XL EN DETALLE (IX)

Arquitectura (IX). Otras caractersticas adicionales.

" Esta familia permite tambin ser utilizados como memoria RAM de acceso rpido. Un
modo de configuracin de los CLBs hace que las tablas que contienen las funciones
lgicas que se implementan en los generadores de funciones se utilicen como memorias
RAM de 16x2 o 32x1

Las entradas F1F4 y G1G4 de las lUT actan como lneas de direcciones,
seleccionando una celda particular de memoria dentro de la tabla de configuracin.
Cuando la memoria es 16x2 H1 y DIN son dos entradas de datos y S/R es la seal de
WE(escritura).

Cuando la memoria es 32x1 D1 acta como el quinto bit de direccin y D0 como entrada
de datos.
El contenido de la memoria se obtiene por las salidas F y G; pudiendo salir directo del
CLB a travs de las seales X e Y o a travs de las salidas registradas.
Al configurar el CLB como memoria, salvo las seales C1C4, no se ven afectadas
otras partes del mismo, por lo que el generador de funciones H puede utilizarse para
implementar funciones booleanas de F, G H o D0.
El tiempo de acceso a estas RAM es extremadamente pequeo: 5,5ns para lectura y
8ns para escritura.

59
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.9 INFLUENCIAS EN EL CAMPO ANALGICO: DISPOSITIVOS


ANALGICOS PROGRAMABLES (I)

La evolucin sufrida por los dispositivos lgicos programables ha cambiado


radicalmente la metodologa de diseo actual.

La mayor parte de estos cambios han redundado en una mejora sustancial del
flujo de diseo, consiguiendo abaratar los costes y acelerar los tiempos de
desarrollo. No es de extraar que sean muchas las empresas que tratan de
extender estos avances al campo analgico.

Como en cualquier momento de tecnologa naciente, muchas son las variedades


de dispositivos analgicos programables que nos podemos encontrar en el
mercado:

60
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.9 INFLUENCIAS EN EL CAMPO ANALGICO: DISPOSITIVOS


ANALGICOS PROGRAMABLES (II)

FPADs y EPACs.

En 1994 la empresa electrnica IMP lanza al mercado el IMP50E10, primer


dispositivo analgico programable (FPAD, Field Programmable Analog Device),
que esta empresa bautiza como EPAC (Electrically Programmable Analog
Circuit), el cual contiene diferentes mdulos analgicos, como multiplexores
analgicos, amplificadores tipo simple and hold, etc.

FPAAs(Fiel Programmable Analog Array).

Tratan de emular la FPGAs y sus CLBs. Consisten en un circuito integrado que


puede reconfigurarse elctricamente para implementar diferentes funciones
lgicas usando un conjunto de bloques analgicos configurables (CAB,
Configurable Analog Block) y una red de interconexin, programables mediante
una memoria en chip.
Cada CAB permite implementar un
conjunto de funciones analgicas
elementales, como amplificacin,
integracin, diferenciacin, adicin,
sustraccin, multiplicacin, comparacin,
logartmico y exponencial.

61
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.9 INFLUENCIAS EN EL CAMPO ANALGICO: DISPOSITIVOS


ANALGICOS PROGRAMABLES (III)

TRACs (Totally Reconfigurable Analog Circuits).

Clase particular de FPAA desarrollado por la empresa Zetex. En este caso, el


CAB permite realizar operaciones como: suma, negacin, logaritmo,
antilogaritmo y amplificacin.

ispPAC.

Clase particular de FPAA desarrollado por la empresa Lattice. Aade al CAB


amplificadores operacionales de instrumentacin.

62
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables

4.9 INFLUENCIAS EN EL CAMPO ANALGICO: DISPOSITIVOS


ANALGICOS PROGRAMABLES (IV)

El futuro:

4) FPMAs (Field Programmable Mixed-Analog-Digital Array).


Son circuitos integrados que contienen una FPGA y una FPAA, junto a un
conjunto de convertidores programables, lo que permitir realizar dispositivos
programables que trabajen con ambos tipos de seales: analgicas y digitales.

5) FPSoC y FPSC (Field Programmable System on Chip).


Son circuitos integrados que combinan una FPMA y un microcontrolador en el
mismo integrado. Las empresas Lattice y SIDSA son las que actualmente se
encuentran a la cabeza de tales desarrollos.

(LATTICE)

63

También podría gustarte