Está en la página 1de 5

TEMA: FUNCIONAMIENTO Y ESTRUCTURA DE LOS CPLDs Y FPGAs INTRODUCCION El uso de la electrónica digital hoy en día se ha vuelto un ámbito demasiado

extenso, los fabricante de dispositivos cada vez buscan mejorar estos elementos con la finalidad de minimizar costos en cuanto a infraestructura y al mismo tiempo optimizar el rendimiento. Es así que entre los dispositivos desarrollados encontramos a los CPLDs y FPGAs, ambos con la capacidad de reducir tamaños y optimizar recursos. En cuanto a los CPLDs (Dispositivos complejo lógico programable), son dispositivos electrónicos integrables a gran escala, estructurado por bloques lógicos los mismos que interactúan por medio de una matriz programable. Por otro lado una evolución de los CPLDs podría decirse así que son los FPGAs (arreglos de compuertas programables en campo), estos dispositivos presentan un mayor nivel de integración que sus antecesores y está estructurado mediante bloques lógicos programados mediante un lenguaje descriptivo permitiendo abarcar sistemas muy complejos. CPLD Los CPLDs (Figura 1) son un grupo derivado de los PLDs (son dispositivos cuyas características pueden ser modificadas y almacenadas mediante programación. [1]) estos últimos a su vez están divididos en los siguientes grupos de acuerdo a sus arquitecturas [2]:     Dispositivos lógicos programables simples (SPLD) Dispositivos lógicos programables complejos (CPLD) Matrices de puertas programables por campo (FPGA) Dispositivos Híbridos (CPLD-FPGA)

Figura 1. CPLD de la familia ALTERA Funcionamiento Este dispositivo está formado por varios grupos de bloques lógicos, estos bloques se comunican entre ellos por medio de una matriz programable de interconexiones para cumplir una determinada tarea establecida por una combinación lógica, en la figura 2 se muestra una representación a bloques del funcionamientos de los CPLDs; se puede observar un bloque de entradas y salidas saliendo de bloques lógicos y así mismo estos interconectados entre sí mediante la matriz programable.

Figura 3. Interconexión mediante bloques esto se realiza a modo de conexión o desconexión (fusibles o transistores) de los arreglos de matrices en la intersección de la fila con la columna para cumplir una determinada operación lógica. En la figura 4 se muestra esta configuración [3].Figura 2.. Interconexión mediante multiplexor . los CPLDs utilizan dos tipos de configuración para el funcionamiento de la matriz programable: interconexión mediante bloques o interconexión mediante multiplexores [3]. Las líneas de selección de estos multiplexores son programadas para permitir que sea seleccionada únicamente una vía de la matriz de interconexión por cada multiplexor la cual se propagara a hacia el bloque lógico. Funcionamiento del CPLD Estructura interna La matriz de conexión programable. Las vías de interconexión programables son conectadas a las entradas de un número de multiplexores por cada bloque lógico.permite la conexión de los pines de entrada y salida con los bloques lógicos o viceversa además de la interacción entre los mismos bloques. existe un multiplexor por cada entrada al bloque lógico. Arreglo para dos variables de entrada y y una salida x [1] Interconexión mediante multiplexores. en la figura 3 se representa este funcionamiento. Figura 4.

Composición de un bloque lógico [2]. Figura 6.Bloques lógicos. Las macroceldas [2]. los FPGAs (Fig. sino que están conectadas directamente a la matriz de conexión global. En un CPLD la cantidad de macroceldas (Fig. Ejemplo de macrocelda Celda de entrada/salida [3]. Cada tarea de procesamiento independiente es asignada a una sección del chip y puede ejecutarse de manera autónoma sin ser afectada por otros bloques de lógica. Figura 5. así las diferentes operaciones de procesamiento no tienen que competir por los mismos recursos.son los registros básicos disponibles en los bloques lógicos. 6) puede variar de 32 a más de 3000. Junto con las señales de control pueden hacer funciones como máquinas de estado. . FPGA A diferencia de los procesadores. las macroceldas de realimentación no están conectadas al bloque de E/S. etc. Dependiendo del fabricante y de la arquitectura del CPLD estas celdas pueden o no ser consideradas parte del bloque lógico. Hay dos tipos de macroceldas: de entrada/salida y de realimentación: las macroceldas de entrada/salida están unidas directamente al bloque E/S.. 7) son verdaderamente paralelos por naturaleza.cada uno de estos posee entradas conectadas a un bloque de compuertas matriz AND y las salidas conectadas a la matriz de salida (matriz OR) en la figura 5 se presenta un diagrama de estos bloque lógicos.La función de una celda de entrada/salida es permitir el paso de una señal hacia dentro o hacia el exterior del dispositivo.. contadores..

número de bloques de lógica de función fijos como multiplicadores y el tamaño de los recursos de memoria como RAM en bloques embebidos. no están interconectados entre si. al ser tan numerosos estos bloques. De las muchas partes del chip FPGA. En la figura 8 se presnta un esquema general de una FPGA. las memorias es que estos dispositivos en lugar de ejecutar un SO presenta una configuración de hardware compuesto por flip-flops. estos son generalmente los más importantes cuando se seleccionan y comparan FPGAs para una aplicación en particular. Estructura de un FPGA [4]. Las especificaciones de recursos de FPGA a menudo incluyen el número de bloques de lógica configurables. Figura 8.Como resultado. Estructura interna Cada chip de FPGA está hecho de un número limitado de recursos predefinidos con interconexiones programables para implementar un circuito digital reconfigurable y bloques de E/S para permitir que los circuitos tengan acceso al mundo exterior. El funcionamiento a diferencia de los elementos tales como los microprocesadores. Figura 7. compuertas y otros elemento digitales. . FPGA de Altera Los FPGAs están formados por un mar de bloques lógicos rodeados por una matriz de bloques de entrada/salida interconectados por líneas programables. usando programas de diseño como si fuera el autorouter que utilizamos a la hora de crear una PCB. sino que se conectan dependiendo de las necesidades del usuario. Un FPGA contiene desde 64 a más de 1000 bloques lógicos. el rendimiento de una parte de la aplicación no se ve afectado cuando se agregan otros procesos [4].

Bloques lógicos de E/S.com/2008/02/gal-yvhdl. su complejidad varía desde un par de transistores hasta un conjunto de memorias de acceso aleatorio denominadas tablas de consultas.blogspot.wikipedia.upc. Conclusiones Los CPLDs son dispositivos que presenta una gran escala de integración pero su elemento principal de funcionamiento es una matriz de interconexión programable a manera se fusibles. Así mismo una característica de estos es su funcionamiento en operaciones en paralelo esto le permite ser de gran utilidad por su dualidad.org/wiki/CPLD [4] FPGA disponible en http://www. Referencias [1] PLD disponible en http://electronicaintegradaunexpo.Son un conjunto de líneas e interruptores programables que permiten transmitir las señales entre los bloques lógicos internos.ni.. recibiendo en inglés la denominación de Routing Channels.pdf [3] CPLD disponible en http://es.Bloques lógicos internos. y entre ellos y los bloques de entrada/salida. lo cual le permite una integración de elevadas prestaciones.. mientras que otra tecnología los permite realizar su funcionamiento mediante multiplexaciones pero estos requieren un consumo mayor de potencia.edu/pfc/bitstream/2099.org/wiki/Field_Programmable_Gate_Array . con la diferencia de que estos pueden funcionar mediante programación de hardware.. Los FPGAs son a manera de una versión mejorado de los CPLDs.Son recursos que permiten realizar diversas funciones lógicas.wikipedia. una desventaja de esto es que algunos componentes quedan flotantes.1/6452/1/PFC%20final5. Recursos de interconexión o líneas de conexión.html [2] CPLD disponible en http://upcommons.com/white-paper/6983/es [5] FPGA disponible en http://es.Son recursos que establecen el enlace entre los bloques lógicos internos y los terminales de entrada/salida. Al igual que en el caso anterior estos bloques pueden ser más o menos complejos. pero en definitiva para cumplir operaciones lógicas complejas es un dispositivo promedio.