Sobre mi.

Mi foto
Santander, CANTABRIA, Spain
Bienvenido a mi Blog, soy César Zazo Serrano y os mostraré las actividades realizadas durante el curso 2012/2013 en la asignatura de desarrollo y construcción de prototipos electrónicos que imparte nuestro profesor Don José Luis Del Val en el Centro Integrado De Formación Profesional Nº1 situado en Peñacastillo.

lunes, 18 de febrero de 2013

FAMILIA CPLD XC9500

En esta entrada vamos a hablar de los CPLD´s.

¿Pero que es un CPLD?

Se puede traducir el acrónimo como dispositivo lógico programable complejo, por lo tanto se puede intuir que este deriva del PLD (y no me refiero al partido de la liberación Dominicana), pero el nivel de integración es mayor permitiendo la creación de sistemas mucho más eficaces, menor ocupación de espacio, fiabilidad y coste inferior.

El CPLD está formado por bloques lógicos, los cuales son muy similares a un PLD, estos se comunican mediante una matriz que se puede programar para realizar las conexiones entre sí.

En la entrada vamos a tratar la familia de CPLD XC9500 indicando sus principales características y después ir analizándolo según el siguiente esquema:



1.         el bloque de función (fb)
2.         macrocélula
3.         alojador de productos término
4.         matriz de conmutación de conexión rápida
5.         bloque i/o (iob)





Principales características:


Alto Rendimiento
- Retardos lógicos de 5 ns pin a pin en todos los pines
- FCNT hasta 125 Mhz

Amplia escala
- De 36 a 288 macrocélulas con 800 a 6400 puertas disponibles.

Programable en sistema (I.S.P.) con 5 V
- Resistencia a 10000 ciclos de programación/borrado
- Programación/borrado sobre todos los rangos de tensión y temperatura comerciales

Arquitectura de bloqueo de pines mejorada

Bloque de funciones 36V18 adaptable
- 90 términos de producto dirigidos a todas ó a alguna de las 18 macrocélulas dentro del bloque de funciones
- Señales globales y por término producto de clock, output enable, set y reset.
-Soporta el estándar IEEE 1149.1 Test Acces Port (TAP) y el Boundary Scan (técnica de verificación de
circuitos impresos montados) también conocido como JTAG
-Modo de reducción de potencia programable en cada macrocélula
-Control de la velocidad de respuesta (slew rate) en las salidas individuales
-Capacidad para programar los pines a GND por el usuario
-Características de seguridad para la protección del diseño
-Salidas de 24 mA
-Capacidad de trabajo de 3.3V ó 5V en los I/O
-Tecnología CMOS 5V FastFLASHTM avanzada.
-Soporta programaciones paralelas de múltiples dispositivos XC9500.

El bloque de función:


Cada bloque de función (FB) esta compuesto de 18 macrocélulas independientes, cada una de ellas capaz de implementar una función combinacional o registrada.
Admite señales de:
Global Clock,
output enable,
y de set/reset.



Por lo tanto genera 18 salidas dirigidas a la matriz de interconexión rápida. Estas 18 salidas y sus correspondientes señales output enable también se dirigen al IOB.
La lógica interna de los bloques de función se implementan usando una representación de suma de productos.
Treinta y seis entradas proporcionan 72 señales true y complement dentro del array AND programable para formar 90 productos término. Cualquier número de estos productos término, hasta los 90 disponibles, puede ser alojado en cada macrocélula por el alojador de productos término (Product term allocator).
Cada bloque de funciones (excepto en el XC9536) soporta rutas de realimentación locales que permiten a alguna de las salidas del mismo y encaminarse dentro de su propio array AND sin salir de él. Estas rutas son usadas para crear contadores muy rápidos y máquinas de estados donde todos los registros de los estados estén dentro del mismo bloque de función.

La Macrocélula:


Cada macrocélula de la XC9500 puede ser configurada individualmente para una función combinacional o
registrada. La macrocélula y la lógica FB asociada se pueden observar en la siguiente fotografía:




El regisrto de la macrocélula puede ser configurado como flip-flop tipo D o tipo T o puede ser bordeado para operaciones combinacionales. Cada registro soporta operaciones asíncronas de set y reset.

Las señales de control globales están disponibles para cada macrocélula individual, incluyendo señales: clock(GCK), set/reset(GSR) y output enable.



Alojador de productos termino:


El alojador de productos término controla la manera en que los cinco productos término directos son asignados a cada macrocélula.




El alojador de productos término puede reasignar otros productos término, a parte de los cinco productos término directos, dentro del FB para incrementar la capacidad lógica de una macrocélula.

Cualquier macrocélula que necesite productos término adicionales puede acceder a productos término libres de uso de otras macrocélulas dentro del FB.

Una simple macrocélula puede disponer de hasta 15 productos término con solamente un pequeño incremento del retardo TPTA.

El incremento del retardo afecta, solamente, a los productos término en otras macrocélulas. El tiempo de los productos término directos no es cambiado.





El alojador de productos término puede reasignar productos término desde cualquier macrocélula dentro del FB combinando sumas de productos parciales sobre varias macrocélulas.

Matriz de interconexción rápida:


La matriz de interconexión rápida conecta señales a las entradas de los FBs.

Todas las salidas de los IOBs (correspondientes a los pines de entrada de los usuarios) y todas las salidas de los FBs se dirigen a la matriz de interconexión rápida. Cualquiera de éstas (hasta un límite de fan-in del FB de 36) puede ser seleccionada bajo programación para darle a cada FB un retardo uniforme.

La matriz de interconexión rápida es capaz de combinar múltiples conexiones internas en una simple salida
cableada AND antes de enviarlo al FB. Esto proporciona una capacidad lógica adicional e incrementa la efectividad lógica del fan-in del FB, al cual se destina sin sufrir ningún retardo adicional en el tiempo. Esta capacidad está disponible solamente para conexiones internas originadas desde las salidas de los FBs. Esta característica se activa automáticamente por el software de desarrollo allí donde pueda ser aplicable.


Bloque entrada/salida (I/OBlock):


El bloque I/O (IOB) conecta entre si la lógica interna y los pines I/O del dispositivo.
En cada IOB se incluye un buffer de entrada, un output driver, un multiplexor de selección de output enable, y un control de ground programable por el usuario.
El buffer de entrada es compatible con los estándares de niveles de señal CMOS 5V, TTL 5V y 3.3V. El buffer de entrada usa la tensión interna 5V (VCCINT) para asegurar que el umbral de entrada es constante y no varia con la tensión VCCIO.
El output enable puede ser generado por una de las siguientes cuatro opciones:
1. Una señal producto término desde la macrocélula
2. Alguna de las señales global OE
3. Poniéndolo siempre a “1”
4. O poniéndolo siempre a “0”.
Hay dos output enable globales para dispositivos con más de 144 macrocélulas, y cuatro output enable globales paradispositivos con 180 o más macrocélulas. Ambas polaridades de cualquiera de los pines de control del triestado global (GTS).
pueden ser usados dentro del dispositivo.








No hay comentarios:

Publicar un comentario