Documente Academic
Documente Profesional
Documente Cultură
Tema 1 Introducción
Circuitos Integrados.
Monolíticos: Un sustrato de Si para todo el dispositivo.
Permite la fabricación de resistores, condensadores y transistores.
No suele ser práctico integrar inductancias porque ocupan demasiado. Sólo en circuitos de
muy alta frecuencia (radio).
Los circuitos sintonizados se logran con el uso de componentes piezoeléctricos.
Circuitos híbridos.
Mezcla de componentes discretos y circuitos integrados sobre un mismo sustrato,
normalmente cerámico.
Se usan como un componente más del circuito impreso.
Incluyen componentes que no pueden integrarse: magnéticos, cristales, grandes
condensadores…
Dos tipos:
• De película gruesa:
o Es la tecnología más usada para la interconexión en circuitos híbridos.
o Conexiones y resistencias se imprimen a través de pantallas usando tintas o
pastas conductoras.
o Los tamaños y tolerancias que pueden obtenerse son algo mayores que con la
tecnología de película fina, pero queda compensado por su versatilidad.
o Es posible fabricar circuitos multicapa imprimiendo capas aislantes entre
medias.
o La tolerancia se puede mejorar con cortes realizados con láser (laser
trimming).
• Película fina:
o Deposición por evaporación física por rayo de electrones.
o “Sputtering” o esparcido.
o Deposición química en fase de vapor.
o Permite un control fino de las dimensiones y los detalles.
o Tiene limitaciones en cuanto al tamaño de los componentes a los que se
puede aplicar.
Módulos Multi-Chip
MCM: Multi Chip Module.
Varios circuitos integrados en un mismo encapsulado.
Tendencias.
Se duplican los transistores cada 18 meses.
Se dobla la frecuencia de reloj cada 2 años.
Se incrementa la potencia consumida.
Cada vez producen más calor y es difícil disiparlo.
Tema 2 Dispositivos Programables Complejos.
Son conjuntos ordenados de puertas lógicas, las conexiones entre ellas determina la función
del circuito. Las conexiones son programables.
Matriz reprogramable.
Los fusibles se sustituyen por celdas EEPROM. Una celda de este tipo está formada por un
transistor MOS con una puerta flotante, que se carga o descarga externamente por medio de
una pequeña corriente de programación. La carga almacenada en la puerta flotante obliga al
transistor a polarizarse al corte o saturación, dependiendo de la carga que esta tenga.
Matriz OR
Está formada por conductores distribuidos en filas y columnas, con una conexión en cada
intersección.
Matriz AND
Memoria Programable de solo lectura (PROM).
Está formada por una matriz fija de puertas AND, que funciona como decodificador y una
matriz OR programable.
Todos estos dispositivos permiten realizar funciones lógicas en forma de suma de productos
con sus dos matrices, por lo que estamos ante circuitos combinacionales.
Dispositivos lógicos programables complejos.
Se pueden agrupar con el nombre CPLD.
Existen dos posibles formas de diseñarlos:
1. Escalar un PLD existente.
2. Multiplicar un PLD.
Escalar un PLD
Aumenta el número de entradas, salidas y el tamaño de la matriz programable
Inconvenientes:
• Entradas crecen n, matriz n2 veces mayor.
• Matriz muy grande implica menor velocidad.
Multiplicar un PLD
Incluir en una pastilla n PLD’s simples con interconexiones entre ellos. Consiste en incluir en un
único chip una colección de PLD individuales, en compañía de una estructura de interconexión
programable que permita la conexión de los PLD individuales entre sí de la misma forma que lo
haría el diseñador si estos fueran independientes.
Ventajas: Chin n veces mayor que un PLD aprox.
Inconvenientes: Matriz interconexión compleja de diseñar.
Fabricantes: Alterna (Familia MAX 700), Xilinx (Familia 9500, Familia CoolRunner XPLA)
1. Resistor de “pull-up”.
2. Control de la velocidad de subida.
3. Tierra programable por el usuario.
La familia de dispositivos Coolrunner de Xilinx
Dos líneas distintas de CPLD.
La arquitectura presenta una matriz de conexiones que enlaza con los bloques lógicos, que son
los PLD de este dispositivo. Cada bloque lógico contiene una matriz programable y 16
macrocélulas. Estas se comunican con los bloques de entrada/salida, que tienen una
estructura similar a los de la familia XC9500. Existen unas líneas de retorno que comunican los
bloques de entrada/salida y las macroceldas con la matriz de interconexión.
La arquitectura para todos los CPLD es muy similar a la general, la diferencia se encuentra en la
forma de realizar los PLD individuales (matrices y macrocélulas), los bloques de entrada y
salida y la interconexión programable, aunque estas diferencias no suelen ser muy acusadas.
Arquitectura XPLA3
Consiste en una serie de bloques lógicos interconectados por una matriz de cables
programable. Cada bloque lógico contiene un generador de funciones lógicas y varias
macrocélulas. El dispositivo también cuenta con bloques de entrada/salida.
Matriz de interconexión.
Esta matriz está formada por un conjunto de conductores con puntos de cruce programables,
de forma que se puede establecer la conexión o desconexión del cruce de dos de dichos hilos.
La matriz tiene 36 pares de salidas hacia cada bloque lógico, y recibe 16 pares de entradas de
las 16 macrocélulas de lo que consta cada bloque, dos por macrocélula. Cada bloque de
entrada/salida envía otros 16 pares de entradas a la matriz, lo que hace un total de 36 pares
de salidas y envía 32 pares de entradas por cada grupo.
El fabricante denomina a la matriz ZIA (zero-powr interconnect array).
A la salida de este multiplexor, la señal puede ser dirigida al bloque de salida, a la matriz de
conexiones o al biestable. Este último elemento puede ser configurado como biestable tipo D,
T o cerrojo. Tenemos dos caminos a dicha matriz, uno a través del multiplexor que selecciona
entre salida del VFM y salida del biestable y otro por el multiplexor que selecciona entre salida
del biestable y patilla de entrada/salida asociada a la macrocélula. Si utilizamos la patilla como
entrada y la dirigimos a la matriz a través de un multiplexor, podamos mediante el otro dirigir
la salida de la macrocélula a la matriz, ya que no se puede dirigir a la patilla de salida. De esta
forma no se pierde la función de este bloque.
También se dispone de un camino que conecta directamente la patilla asociada a la célula con
la entrada del biestable, proporciona una conexión directa entre el exterior y el biestable.
El biestable puede tener como reloj una de las ocho entradas al multiplexor de reloj, o sus
complementos.
• Dos relojes globales, provenientes de patillas de entrada.
• Un término denominado “reloj universal”.
• El término producto de reloj asociado a la macrocélula.
• Los términos de control local 4 a 7 (LCT4..7)
Los terminales de control del biestable:
• El terminal de puesta a uno puede ser activado por una señal llamada “universal
present” o por los términos de control local 0 a 5 (LCT0..5).
• El terminal de puesta a cero se activa con la señal “universal reset” o los términos de
control local 0 a 5 (LCT0..5)
• El terminal de habilidades del reloj se controla con la señal LCT4 o con el término
producto de reloj asociado a la macrocélula.
Bloque de entrada/salida
El bloque de entrada y salida consta de un buffer triestado que nos permite elegir el tipo de
patilla que queremos: entrada, salida o bidireccional. Para controlar el estado de dicho buffer
se dispone de un multiplexor. Además, disponemos de un camino hacia la macrocélula y la
matriz.
La arquitectura incorpora lo que podríamos denominar “características analógicas” en esta
parte, pues el tiempo de subida y bajada de las transiciones a través del buffer puede ser
seleccionado entre dos posibles: rápido y lento.
Programación
Estos circuitos no precisan de un programador especial donde introducir el circuito para luego
montarlo en la placa de circuito impreso final, sino que pueden ser programados ya montados,
siempre que la placa esté preparada para ello. Esta característica se denomina “programación
en sistema“ y se puede realizar debido a que el circuito presenta una circuitería especial para
ello.
Existen dos formas de programar los dispositivos:
• Un programador fuera de la tarjeta final.
• Un dispositivo automático de pruebas.
• Un microprocesador interno del sistema montado en la tarjeta.
Tecnología
1. Los transistores solo consumen en las transiciones entre nivel bajo y alto y viceversa,
debido a que una vez efectuada la transición, un transistor está en corte y otro en
conducción, y la corriente que circule está determinada por la resistencia del que está
en corte, que es del orden de megaohmios.
2. El valor de salida bajo es prácticamente cero, y el valor alto es casi la tensión de
alimentación.
Conclusiones
Los CPLD son versiones mayores y mejoradas de los dispositivos programables básicos.
Pueden utilizarse en aplicaciones más complejas.
Pueden programarse con facilidad.
Los desarrollos de productos son más rápidos.
Su bajo consumo los hace ideales para aplicaciones portátiles y dispositivos actualizables.
Fabricantes
En el mercado existen varios fabricantes de estos dispositivos. Los más importantes son: FPGA
basada en SRAM (Altera, Xilinx) o FPGA basada en FLASH o antifusibles (microsemi).
Características básicas
Arquitectura basada en los siguientes elementos:
• Bloques lógicos programables: más pequeños que los de un CPLD, pero mucho más
numerosos, distribuidos por todo el chip.
• Bloques de E/S: programables, rodean por completo el CHIP.
• Matriz de interconexión: más que una matriz, es un mar de conexiones que se
distribuyen por todo el chip.
• Bidireccionales.
• Contiene abundante lógica
o Más que un CPLD.
o Formados por SRAM.
• Muchos multiplexores para configuración.
• Dos biestables D.
Matriz de conexión.
Formada por:
• Líneas de interconexión:
o Horizontales
o Verticales
o Con diversas longitudes: cortas, medianas y largas.
• Matrices programables:
o Extienden o aíslan segmentos longitudinales.
o Conectan líneas verticales y horizontales.
Arquitecturas avanzadas
La familia XC4000 es una arquitectura fuera de fabricación
Todas las familias de FPGA’s comparten en cierto grado esta arquitectura básica.
Los nuevos diseños agregan elementos que permiten mayor capacidad de procesamiento o
versatilidad.
Transceptores Gigabit
Para comunicar la FPGA con otros dispositivos, podemos usar buses (muchas líneas).
Los transceptores gigabit comunican los dispositivos con dos pares de líneas diferentes (Tx y
Rx) a altísimas velocidades.
Señal de Reloj
• El reloj es externo al dispositivo y entra por una patilla específica.
• Las líneas de reloj van separadas de la matriz de conexión.
• DCM es un circuito que maneja las señales de reloj de la FPGA
o Crea los relojes “hijos”.
o Elimina el “jitter” (pulsos desiguales).
o Sincroniza todos los relojes.
o Crea relojes múltiplos o divisores del original.
o Crea relojes desplazados en fase.
o Elimina retardos mediante realimentación.
E/S configurables
• Conforme aumenta la miniaturización de los dispositivos, disminuye la tensión de
alimentación.
• Incorporan bancos de E/S configurables con diferentes valores de nivel (5, 3.3, 2.5, 1.8
V)
Bloques lógicos.
• Cada CLB contiene un par de slices.
o sliceL: contiene sólo lógica permite realizar lógica, aritmética y funciones ROM.
o sliceM: contiene lógica y memoria disponible además de lo anterior, permite el
almacenamiento de datos usando RAM distribuida y los desplazamientos de
registros de 32 bits.
• Cada CLB puede incluir una sliceM o ninguna.
• Cada slice contiene:
o Cuatro generadores de funciones.
o Ocho biestables D.
Bloques RAM
• Cada bloque puede almacenar 36 Kbits ¡, en configuración de 1 bloque de 36 Kb o dos
de 18 Kb.
• Se trata de memoria RAM de doble puerto.
• Se puede combinar dos bloques adyacentes para configurar un bloque de 64 Kb.
• Bus de direcciones y bus de datos tienen múltiples combinaciones posibles.
DSP Slices
• El incluido en ARTIX7 se denomina DSP48E1, y es el mismo utilizado en las VIRTEX6
• Se trata de un bloque de lógica que incorpora sumadores y multiplicadores para
realizar una operación MAC (multiplicar y acumular) típica en procesado de señales.
Transceptor Gigabit
• Xilinx incluye transceptores gigabit con las siguientes velocidades:
o GTP: 6.6 Gb/s
o GTX: 12.5 Gb/s
o GTH: 13.1 Gb/s
o GTZ: 28.05 Gb/s.
• Permite la comunicación serie con dispositivos ópticos, entre CI dentro de la misma
placa, y fuera de ella a través de líneas diferentes.
• ARTIX7 contiene entre 2 y 16 GTP.
Convertidor A/D
• ARTIX integra 2 convertidores A/D (XADC) en cada chip.
• Se rata de ADC de 12 bits a 1 MSPS. (megamuestras por segundo)
• Puede tomar señales analógicas de 17 pines del dispositivo.
• Las entradas son diferenciales.
• Acceso a las medidas a través de JTAG.
Bloques E/S
• Este dispositivo tiene dos tipos de bancos de E/S:
o HP (high performance), para comunicar con dispositivos de alta velocidad con
niveles lógicos por debajo de 1.8V.
o HR (high range), para E/S hasta 3.3V.
• Los bloques de E/S contienen numerosas prestaciones
o Salida triestado.
o Registros de entrada y de salida de doble tasa de datos (DDR)
o Retardo regulable de entrada y de salida.
Control de reloj
• Estos dispositivos están divididos en zonas de reloj:
o Cada zona (1 a 24) incluye todo tipo de elementos y comprende 50 CLBs y 1
banco de E/S, con una línea de reloj horizontal en el centro.
o La línea deja 25 CLBs por arriba y 25 por abajo.
• El elemento de reloj se denomina CMT. Contiene un controlador de reloj mixto y un
lazo de enganche de fase.
• Sirven para:
o Sintetizar relojes de múltiples frecuencias.
o Elimina el “jitter”.
o Elimina los retardos en los relojes (skew)