4_pld

Upload: mariomendoza45

Post on 14-Jul-2015

101 views

Category:

Documents


0 download

TRANSCRIPT

Diseo de Sistemas Electrnicos-DB4

Unidad 4.Dispositivos lgicos programables

Unidad 4 Dispositivos Lgicos [email protected] [email protected] Febrero 2003

TEMARIO

1

Diseo de Sistemas Electrnicos-DB4

Unidad 4.Dispositivos lgicos programables

CONTENIDOUnidad 4. Dispositivos lgicos programables. 4.1. 4.2. 4.3. 4.4. 4.5. 4.6. 4.7. 4.8. Circuitos integrados de aplicacin especfica (ASICs). Dispositivos lgicos programables sencillos (SPLD). Dispositivos PAL. Dispositivos GAL. Evolucin del diseo digital. Dispositivos CPLD. Dispositivos FPGA. 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.Coste unitario Coste por puerta Tiempo de desarrollo Eficiencia Integracin Puertas equivalentes Circuitos std. BAJO MEDIO SEMANAS BAJA BAJA O MEDIA 10 SPLDs BAJO O MEDIO MEDIO HORAS MEDIA MEDIA 100 Semi Custom Full Custom MEDIO ALTO BAJO MUY BAJO SEMANAS MESES MEDIO ALTA ALTA MUY ALTA 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 => cascabilidad. Utilidad general, modularidad,

# 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 CPLDsCPLD (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 Especfico Retrasos en la produccin FPGA Estndar de distribucin

Tipo de producto Impacto en la produccin

Programacin Simulacin Verificaciones en previas al diseo final. Cambios en el diseo Comprobacin del dispositivo

Rapidez en mercado Slo en proceso de fabricacin. Por el usuario (reprogramable) Complicada Fcil fases Imposible Posible Muy costosos Especfica para cada diseo Posible en cualquier momento. 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.Puertas equivalentes CLBs Funciones lgicas combinacionales Latches y Flip Flops Entradas y Salidas XC2064 1200 64 128 122 58 XC2018 1800 100 200 174 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.Puertas equivalentes CLBs Funciones lgicas combinacionales Latches y Flip Flops Entradas y Salidas XC3020 2000 64 128 256 64 XC3030 3000 100 200 360 80 XC3042 4200 144 288 480 96 XC3064 6400 224 448 688 120 XC3090 9000 320 640 928 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.Puertas equivalentes CLBs RAM (bits) Entradas y Salidas XC4002 2000 64 2048 64 XC4008 8000 324 10368 14441

XC4003 3000 100 3200 80 XC4010 10000 400 12800 160

XC4004 4000 144 4608 96 XC4013 13000 576 18432 192

XC4005 5000 196 6272 112 XC4016 16000 676 21632 208

XC4006 6000 256 8192 128 XC4020 20000 900 28800 240

Puertas equivalentes CLBs RAM (bits) Entradas y Salidas

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 humanosFamilias 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