Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Unidad 4 Dispositivos Lógicos Programables
Unidad 4 Dispositivos Lógicos Programables
Unidad 4
Febrero 2003
TEMARIO
1
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables
CONTENIDO
OBJETIVOS ESPECFICOS
2
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables
Introduccin.
o Estndar-cells.
o Gate-arrays.
o Sea of gates.
3
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables
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
ASIC Semi-Custom.
Standard-Cells.
Gate-Arrays.
Sea of gates.
5
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables
" 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
" 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
" 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
NAND
INVERSOR
NOR
9
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables
" 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
11
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables
12
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables
13
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables
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.
Es reprogramable.
Tiene configuraciones de salida reprogramables.
14
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables
15
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables
Simbologa simplificada
16
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables
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
Tpicamente n 8 y m 8.
Algunas PAL disponen de pines de E/S.
18
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables
19
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables
20
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables
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.
21
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables
22
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables
23
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables
24
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables
Ejemplo de aplicacin
25
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables
GAL16V8
26
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables
Caractersticas generales
27
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables
28
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables
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.
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
Son versiones ms grandes que los PLD sencillos, con una matriz de
interconexin interna centralizada que se utiliza para interconectar las
macroceldas del dispositivo.
30
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables
Introduccin.
31
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables
32
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables
33
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables
34
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables
Lneas de interconexin.
35
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables
36
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables
37
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables
38
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables
Familia XC2000.
Caractersticas principales.
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
Familia XC3000.
Caractersticas principales.
Miembros de la familia.
40
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables
Caractersticas principales.
Miembros de la familia.
41
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables
42
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables
Familia Spartan.
43
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables
44
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables
45
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables
46
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables
47
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables
48
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables
Conclusiones (I).
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
Conclusiones (II).
Estado actual de las familias Xilinx desde el punto de vista del diseador.
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.
50
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables
Arquitectura (I).
51
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables
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
" 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
" 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
" 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.
55
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos 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
" 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 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.
57
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables
" 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.
58
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables
" 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
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.
60
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables
FPADs y EPACs.
61
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables
ispPAC.
62
Diseo de Sistemas Electrnicos-DB4 Unidad 4.Dispositivos lgicos programables
El futuro:
(LATTICE)
63