Vous êtes sur la page 1sur 14

Teoría SED

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.

Dispositivos programables básicos.


Tienen como pieza fundamental la matriz programable. Una matriz programable es una red de
conductores distribuidos en filas y columnas con un elemento de unión en cada intersección,
que puede ser programable o reprogramable.

Diodos con fusibles.


El tipo más sencillo de matriz programable era una matriz de diodos con fusibles en cada punto
de intersección de la misma. Este tipo de matriz puede ser programada una sola vez fundiendo
los fusibles de aquellas conexiones que no nos interesen, una vez rota la conexión que efectúa
un fisible entre una fila y una columna, no se puede volver atrás o cambiar la conexión.

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.

Matriz lógica programable PAL


Este otro dispositivo presenta una matriz AND programable y una OR fija, junto con lógica de
salida.

Matriz lógica programable PLA.


Es el más general de todos los dispositivos, pues implementa las dos matrices programables.

Matriz lógica genérica GAL


Tiene una matriz AND programable y una OR fija; sin embargo, presenta dos diferencias
sustanciales:

1. Es reprogramable (utiliza celdas EEPROM)


2. La configuración de salida no es fija, sino reprogramable y contiene lógica secuencial.

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)

Familia MAX 7000 de Alterna


Está constituido por un expansor de términos y 16 macrocélulas. El expansor de términos es
una matriz programable de tipo AND, cuyas salidas se dirigen a un multiplexor que las
distribuye a la macrocélula, y después del cual tenemos una puerta que hace la función OR de
los términos seleccionados. Cada macrocélula tiene asignada una serie de puertas AND de
dicha matriz.
Cada macrocelda está formada por un biestable que puede ser programado como D, T, JK o RS,
con control de reloj programable e independiente para cada macrocelda. El bloque de E/S
permite que cada pin del integrado pueda ser configurado como entrada, salida o
bidireccional. Consta de un buffer triestado controlado por una señal de habilitación, que
puede ser Vcc, masa o las denominadas OE Y OE2.

La familia XC9500 de Xilinx


Constituido por una matriz de conmutación, una serie de bloques denominados bloques de
función (FB) y los bloques de entrada/salida. Cada uno de estos bloques contiene 18
marocélulas, una matriz AND programable y asignadores de términos producto. De la matriz
AND programable se pueden obtener hasta 90 términos, que divididos entre 18 macrocélulas
hace un total de 5 términos producto para cada macrocélula. La salida del asignador de cada
macrocélula se conecta a una puerta OR que realiza la suma de productos de los términos de
entrada a dicha macrocélula.

La macrocélula consta de un biestable programable como tipo D o tipo T con habilitación.


También tiene entradas asíncronas “Present” y “Clear”. Todas estas señales se aplican al
biestable a través de multiplexores. Constan de un buffer triestado con múltiples fuentes de
habilitación, que permiten configurar el pin como entrada, salida o bidireccional. Controles
analógicos:

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).

Generador de funciones lógicas


El generador de funciones lógicas contiene en su interior un PLA. Con sus matrices AND y OR
programables, podemos generar funciones de Boole, términos de control y señales de reloj.
Los 36 pares de salidas de la matriz de interconexión se conectan a la matriz AND programable,
que nos permite obtener hasta 48 términos producto. Estos 48 términos se aplican a la matriz
de puertas OR, que está formada por 16 puertas, con una entrada para cada término producto
y una salida que conecta cada puerta con una y solo una de las macrocélulas.
Los 48 términos pueden seguir otros caminos.
• Los términos 0 a 7 se denominan términos de control local (LCT0.LCT7) y pueden
utilizarse como señales de control.
• Los términos 8 a 15 puede ser invertidos, con lo que se convierten en términos NAND,
e introducidos de nuevo en la matriz AND, de manera que se puedan obtener términos
producto con más variables.
• Los términos 16 a 31 son términos generados con el menor retardo posible, y cada uno
de ellos se dirige a una macrocélula.
• Los términos 32 a 47 son términos que pueden utilizarse como reloj, y al igual que los
anteriores, cada uno se conecta a una y solo una macrocélula.
El generador de funciones lógicas es un sistema del tipo PLA, que puede generar hasta 48
términos producto, los cuales pueden dirigirse a las macrocélulas.
Macrocélulas
De forma esquemática, se puede decir que consta de un biestable y multiplexores que
seleccionan las señales a aplicar a dicho biestable, así como las señales de entrada y salida de
la macrocélula.
La entrada de las señales de la PLA está controlada por un bloque denominado multiplexor de
funciones. Este bloque está formado por un multiplexor y varias puertas lógicas, y permite
seleccionar entre el término producto de bajo retardo, y la salida de la puerta OR de la matriz,
la OR-EXCLUSIVA de ambos términos o el complemento de cualquiera de los anteriores.

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.

Términos universales y globales.


Estos términos son señales que provienen de patillas concretas del integrado.
4 términos universales:
1. Reloj.
2. Preset.
3. Reset.
4. Habiilidades de salida (OE, output enable), utlizado en el bloque de E/S.
4 relojes globales, dos de los cuales entran en la mitad de los bloques lógicos y los otros dos en
los restantes.

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.

Las oscilaciones y las interferencias electromagnéticas se pueden reducir drásticamente


añadiendo 2ns al tiempo de subida y bajada de la señal.
Además, tenemos una resistencia de “pull-up” a su salida que puede ser conectada entre la
pastilla y la alimentación. Hemos de usar esta configuración cuando la pastilla esté
desconectada. En dichas circunstancias, sin resistencia podríamos tener una fluctuación de
tensión en la patilla, que provoca en un dispositivo CMOS como este un consumo innecesario.
Dependiendo de la entrada seleccionada del multiplexor:
• Si se selecciona la entrada 0 (OE=0), el buffer pasa a tener alta impedancia y la patilla
queda configurada como entrada.
• Si se selecciona las entradas 1 a 5, el buffer es comandado por las señales LTC0, LTC1,
LTC2, LTC6 y “universal OE”. Si valen cero el buffer pasa a tener alta impedancia, y si
valen 1 el buffer se activa.
• La entrada 6 establece la pastilla como salida.
• Al elegir la entrada 7 del multiplexor, deshabilitamos el buffer y conectamos la
resistencia de “pull-up” a la patilla.
Herramientas de desarrollo.
1. Diseño del circuito lógico. Se recurre a las técnicas de diseño combinacional y
secuencial.
a. Diseño esquemático, consiste en el dibujo de los elementos de que va a
constar el circuito.
b. Diseño mediante lenguajes de descripción hardware (HDL).
2. Simulación.
3. Programación del dispositivo.
a. Asignar, bien de forma manual o automática, las patillas de entrada y salida.
b. Generar el fichero necesario para programar el circuito, denominado fichero
JEDEC. Este fichero tiene un formato estándar.

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

En ella tenemos el área de la matriz de interconexión en el centro, y expandiéndose por


completo hasta alcanzar a todas las PLA, formadas por las matrices AND y OR. En los extremos
tenemos situadas las macrocélulas. En la parte inferior se encuentra la matriz EEPROM
necesaria para la programación del circuito. Está fabricado con tecnología CMOS.

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.

Matrices de puertas programables en campo FPGA.

Los CPLD’s tienen una densidad no demasiado elevada de lógica.


Las FPGA’s son circuitos programables con mayor densidad.
La arquitectura es totalmente distinta.
Sus bloques lógicos son menos eficientes que los de los CPLD’s, pero contiene un número muy
superior.
Desarrollada por Xilinx Inc.

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.

Bloques lógicos (XC4000)


• Xilinx los denomina CLB.
• Elemento clave: los generadores de funciones.
o Pueden generar funciones de 4 variables.
o Formados por SRAM.
o Se pueden usar como RAM.
• Muchos multiplexores para configuración.
• Dos biestables D.
Bloques E/S (XC4000)

• 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.

A partir de la arquitectura Spartan-3A DSP, se incorporan circuitos multiplicadores/sumadores


para el procesado de señal.

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)

Familia de FPGA de ejemplo ARTIX7


• Bloques lógicos con generadores de funciones RAM de 6 entradas.
• 36 kb de RAM doble puerto
• DSP slices
• Bloques de control de reloj
• Transceptores Gigabit
• Conversores A/D integrados
• Bloque de comunicación PCI Express.

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)

Interfaz PCI Express


• Todas las FPGAs de la serie incluyen un bloque de comunicaciones estandarizadas con
el protocolo PCI Express.
• ES un interfaz de comunicación serie en modo diferencial, con velocidades de 2.5 o 5
Gb/s.

Vous aimerez peut-être aussi