cpld

36
INTRODUCCIÓN Un CPLD (del acrónimo inglés Complex Programmable Logic Device) es un dispositivo electrónico que extiende el concepto de un PLD (del acrónimo inglés Programmable Logic Device) a un mayor nivel de integración ya que permite implementar sistemas más eficaces, porque utilizan menos espacio, mejoran la fiabilidad del diseño, y reducen costos. Un CPLD se forma con múltiples bloques lógicos, cada uno similar a un PLD. Los bloques lógicos se comunican entre sí utilizando una matriz programable de interconexiones, lo cual hace más eficiente el uso del silicio, conduciendo a una mejor eficiencia a menor costo. Un CPLD es un chip que puede emular el comportamiento de miles de puertas lógicas interconectadas entre sí y junto con algunos bits de estado, registros o flip-flops y cuenta con bastantes pines de entrada y salida, de forma que puedes implementar un circuito combinacional con algo de memoria (estados) bastante complejo (de ahí la C de complex) Además es reprogramable, de forma que se puede configurar una y otra vez la función que emula el chip. Los CPLD son la evolución de lo que fueron los PLD, circuitos con el mismo funcionamiento pero más simples. Los CPLD llevan ya bastantes años entre nosotros, pero no por ello se han quedado obsoletos. Sin embargo, más recientemente aparecieron las FPGA. Una FPGA tiene cientos de pines en contraposición a las pocas decenas hasta el centenar que puede tener un CPLD. Centrándonos en los CPLD, contienen una matriz programable que configura la función que desempeña el chip. Esta matriz recibe por entradas los valores eléctricos de los pins y los

Upload: kevin-maldonado

Post on 19-Jan-2016

187 views

Category:

Documents


11 download

TRANSCRIPT

Page 1: CPLD

INTRODUCCIÓN

Un CPLD (del acrónimo inglés Complex Programmable Logic Device) es un dispositivo electrónico que extiende el concepto de un PLD (del acrónimo inglés Programmable Logic Device) a un mayor nivel de integración ya que permite implementar sistemas más eficaces, porque utilizan menos espacio, mejoran la fiabilidad del diseño, y reducen costos.

Un CPLD se forma con múltiples bloques lógicos, cada uno similar a un PLD. Los bloques lógicos se comunican entre sí utilizando una matriz programable de interconexiones, lo cual hace más eficiente el uso del silicio, conduciendo a una mejor eficiencia a menor costo.

Un CPLD es un chip que puede emular el comportamiento de miles de puertas lógicas interconectadas entre sí y junto con algunos bits de estado, registros o flip-flops y cuenta con bastantes pines de entrada y salida, de forma que puedes implementar un circuito combinacional con algo de memoria (estados) bastante complejo (de ahí la C de complex)  Además es reprogramable, de forma que se puede configurar una y otra vez la función que emula el chip.

Los CPLD son la evolución de lo que fueron los PLD, circuitos con el mismo funcionamiento pero más simples.

Los CPLD llevan ya bastantes años entre nosotros, pero no por ello se han quedado obsoletos. Sin embargo, más recientemente aparecieron las FPGA. Una FPGA tiene cientos de pines en contraposición a las pocas decenas hasta el centenar que puede tener un CPLD.

Centrándonos en los CPLD, contienen una matriz programable que configura la función que desempeña el chip. Esta matriz recibe por entradas los valores eléctricos de los pins y los valores anteriores del estado. Según esa entrada se generan los valores de la función para los pines de salida y los nuevos valores de los bits de estado, y así sucesivamente, sincronizado todo por un reloj que puede llegar a los 200 MHz.

Los CPLD se programan desde el ordenador pero hace falta un dispositivo programador compatible JTAG.

Page 2: CPLD

OBJETIVOS

- Aprender sobre los dispositivos lógicos programables CPLD.

- Aprender sobre sus ventajas desventajas y aplicaciones.

- Manejar el conocimiento teórico del CPLD.

- Conocer el principio de funcionamiento del CPLD.

- Conocer la estructura de una CPLD.

- Conocer el diseño de un CPLD.

- Conocer los fabricantes de un CPLD.

- Conocer la construcción de un CPLD.

Page 3: CPLD

CPLD

Historia

Los Dispositivos Lógicos Programables (PLDs) fueron introducidos a mediados de los 70s. La idea era construir circuitos lógicos combinacionales que fueran programables. Al contrario de los microcontroladores, que pueden correr un programa y poseen un hardware fijo los PLDs permiten la modificación a nivel de hardware. En otras palabras, un PLD es un chip multi propósito cuyo hardware se puede re configurar para realizar tareas particulares.

El primer PLD fue llamado PAL (Programmable Array Logic). Los PAL solo utilizan compuertas lógicas (sin Flip-Flops), por lo que solo permiten la implementación de circuitos combinacionales. Para superar esta limitación luego fueron creados los registered PLDs los cuales incluyen Flip-Flops en cada salida del circuito. Con estos dispositivos es posible implementar funciones secuenciales simples.

A comienzos de los 80s, se fueron agregando circuitos lógicos adicionales a las salidas de los PLDs. La nueva celda de salida, llamada Macrocell, contiene (a parte de Flip-Flops) puertas lógicas y multiplexores. La celda en si es programable, permitiendo varios modos de operación. Adicionalmente provee una señal de retorno o feedback desde la salida del cricuito al arreglo programable, lo que le da una mayor flexibilidad. Esta nueva estructura fue llamada generic PAL (GAL).

Todos estos chips (PAL, PLA, registered PLD, GAL/PALCE) son conocidos en conjunto como SPLDs (Simple PLDs). La GAL/PALCE es la única que aun se fabrica en chips independientes.

Luego de esto se fabricaron chips con muchas GAL en su interior utilizando una arquitectura mucho más sofisticada, mejor tecnología y muchas otras características adicionales como soporte para JTAG. Estas estructuras son conocidas como CPLD (Complex PLD). Los CPLD son bastante populares por su alta densidad de puertas, alto performance y bajo costo.

Page 4: CPLD

Finalmente a mediados de los 80s fueron introducidas las FPGA, las cuales difieren de los CPLD en su arquitectura, tecnología y costos. Estos dispositivos fueron creados principalmente para la implementación de circuitos de alto rendimiento.

Todos los PLDs son no volátiles. Pueden ser OTP (one time programmable) en cuyo caso son utilizados fusibles o anti fusibles o pueden ser re programables, con EEPROM o memoria FLASH. Las FPGAs por otro lado son la mayoría volátiles puesto que utilizan SRAM para almacenar las conexiones en estos casos generalmente se utiliza un ROM externa para almacenar la configuración inicial al momento del encendido.

Principio de funcionamiento de un CPLD

Es un dispositivo electrónico que extiende el concepto de un PLD (del acrónimo inglés Programmable Logic Device) ya que permite implementar sistemas más eficaces, porque utilizan menos espacio, mejoran la fiabilidad del diseño, y reducen costos.

Un CPLD se forma con múltiples bloques lógicos, cada uno similar a un PLD. Los bloques lógicos se comunican entre sí utilizando una matriz programable de interconexiones, lo cual hace más eficiente el uso del silicio, conduciendo a una mejor eficiencia a menor costo.

Matriz de Interconexiones Programables

La mayoría de los CPLDs usan una de dos configuraciones para esta matriz: interconexión mediante bloques o interconexión mediante multiplexores.

El primero se basa en una matriz de filas y columnas con una celda programable de conexión en cada intersección. Al igual que en las GAL esta celda puede ser activada para conectar/desconectar la correspondiente fila y columna. Esta configuración permite una total interconexión entre las entradas y salidas del dispositivo o bloques lógicos. Sin embargo, estas ventajas provocan que disminuya el rendimiento del dispositivo, además de aumentar el consumo de energía y el tamaño del componente.

Page 5: CPLD

En la interconexión mediante multiplexores, existe un multiplexor por cada entrada al bloque lógico. Las vías de interconexión programables son conectadas a las entradas de un número de multiplexores por cada bloque lógico. 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. Cabe mencionar que no todas las vías son conectadas a las entradas de cada multiplexor. La rutabilidad se incrementa usando multiplexores de mayor tamaño, permitiendo que cualquier combinación de señales de la matriz de interconexión pueda ser enlazada hacia cualquier bloque lógico. Sin embargo, el uso de grandes multiplexores incrementa el tamaño de dispositivo y reduce su eficiencia.

Bloques Lógicos

Cada bloque de compuertas AND y OR en forma de suma de productos, una configuración para la distribución de estas sumas de productos, y macroceldas. El tamaño del bloque lógico es una medida de la capacidad del CPLD, ya que de esto depende el tamaño de la función booleana que pueda ser implementada dentro del bloque. Los bloques lógicos usualmente tienen de 4 a 20 macroceldas.

Macroceldas

Estas también están provistas con registros, control de polaridad, y buffers para salidas en alta impedancia. Por lo general un CPLD tiene macroceldas de entrada/salida, macroceldas de entrada y macroceldas internas u ocultas (buried macrocells), en tanto que un 22v10 tiene solamente macroceldas de entrada/salida. Una macrocelda interna es similar a una macrocelda de entrada/salida, sólo que esta no puede ser conectada directamente a un pin de salida. La salida de una macrocelda interna va directamente a la matriz de interconexión programable.

Celda de Entrada / Salida

Page 6: CPLD

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. Dependiendo del fabricante y de la arquitectura del CPLD estas celdas pueden o no ser consideradas parte del bloque lógico.

Estructura de un CPLD

Posee una configuración de memoria no-volatil , desarrollo de compuertas de grande densidades .A modo general un CPLD es como si se tuviera varios PLD, tipo PAL, dentro de un sólo chip. el tamaño más grande los CPLD permite implementar ecuaciones lógicas o diseños más complicados. la programación de estos dispositivos es generalmente en lenguajes de descripción de hardware , por ejemplo, VHDL o Verilog.

Page 7: CPLD

Matriz de Suma de Puntos

Se relacionan con un mayor número de interconexión de secciones de compuertas programables, tales secciones pueden ser otros PLD, es decir el CPLD puede contener similares PLD de baja densidad, "PAL", interconectados entre sí, en un solo chip.

Page 8: CPLD

Fig3

La estructura principal son los bloques de matriz lógicos (LAB) o bloques de Función (Funtion Block), que se comunican en un bus interno con la matriz de Interconexión Programable (PIA)

Un CPLD comprende múltiples bloques en un único chip con recursos de cableado interno para conectar los bloques. Cada bloque es similar a una PLA o PAL, por lo que en el esquemade la Fig3 mostrada nos referimos a cada block como PAL like block

Page 9: CPLD

Fig4

En la Fig 4 se observa un ejemplo interconexionado

El PAL-like block incluye 3 MACROCELLS (CPLD reales tienen cerca de 16 MACROCELLS en una PAL-like block), consistente en una compuerta ORde 4 entradas (real de 5 a 20 entradas) . Cada salida de la compuerta ORse conecta a una entrada XOR. La MACROCELL incluye FF, Mux y Buffer de salida con tercer estado. Los cables de interconexión (interconexión wires) contienen llaves programables que se utilizan para la conexión de los PAL-like blocks. El tamaño de las CPLD va de 2 a 100 PAL-like block

Page 10: CPLD

DISEÑO DE UN CPLD

Un diseño esquemático define la funcionalidad de un circuito lógico utilizando uno o más archivos esquemáticas , cada uno de los cuales contiene componentes de una biblioteca suministrada por Xilinx , tales como puertas , flip- flops y bloques de construcción funciones similares a 74xx dispositivos TTL . Esquemas también pueden contener símbolos " personalizados " para el que se define la funcionalidad del uso de módulos de comportamiento (similar a los dispositivos PAL ).

la siguiente figura resume el flujo de diseño .

Actualmente , los paquetes de software Viewlogic , Mentor y cadencia son directamente con el apoyo de la biblioteca Xilinx CPLD y una interfaz para CPLD entrada de diseño y simulación. Xilinx también proporciona la Fundación sistema de desarrollo . Otras interfaces compatibles y bibliotecas CPLD pueden estar disponibles a partir de sus fabricantes.

Page 11: CPLD

Resumen de flujo de diseño

El Gerente de Diseño / Flow Engine toma EDIF netlist , XNF o PLD archivos de su herramienta de diseño y les cabe en los dispositivos de Xilinx . Usted puede seleccionar un dispositivo específico o dejar que el jefe de diseño , seleccione un dispositivo para que , sobre la base de la solución más económica que satisfaga la funcional y parámetros de temporización del diseño.

Informes generados

Por defecto, el instalador produce los siguientes archivos de salida significativos:

• Informe de montaje ( design_name.rpt ) - Resumen listas e información detallada acerca de la lógica y de E / S de los recursos pin utilizado por el diseño, incluyendo la asignación de patillas, de error y mensajes de advertencia , y las ecuaciones booleanas que representan la lógica implementada .

• Estático informe de distribución ( design_name.tim ) - muestra un informe de resumen de tiempos en el peor de los casos para todos los caminos en el diseño ; opcionalmente incluye una lista completa de todos los retrasos en cada camino individual en el diseño.

• Archivo de Guía ( design_name.gyd ) - contiene toda la información resultante pinout requerido para reproducir el pinout actual si no se especifica la opción " pinfreeze " durante la siguiente invocación del comando CPLD para el mismo nombre de diseño . (El archivo Guía es

escrito sólo después de haber superado el instalador . )

• El archivo de programación ( design_name.jed para XC9000 ) - es un JEDECformatted

( 9k ) Archivo de programación a - cargado en el dispositivo CPLD .

• Base de datos de simulación de distribución ( design_name.nga ) - una base de datos binario que representa la lógica implementada en el diseño, incluyendo todos los retrasos , que consta de Xilinx primitivas modelo de simulación ( simprims ) . El jefe de diseño contiene un navegador de informe para el examen de los informes seleccionados.

Page 12: CPLD

. Si ya ha ejecutado el instalador, el Informe Browser contiene el Informe de montaje y el Informe de Traducción, y , si ha seleccionado las opciones de simulación de tiempo , sino que también contiene informes de simulación . Para acceder al Informe Browser desde el Administrador de Diseño : Utilidades ® Informe navegador después de que aparezca Informe de navegador , para leer ninguno de los informes , simplemente haga doble clic en el icono de informe correspondiente.

Timing Simulation

El jefe de diseño produce opcionalmente datos de simulación de tiempo al implementar su diseño, y produce ya sea un EDIF , VHDL o Verilog HDL netlist formateados para su simulador tiene procedimientos similares.

Diseño Esquemático Ejemplo de flujo

En esta sección se ejecuta a través de todo el proceso de diseño esquemático , de la creación de un diseño de programación y simulación del diseño . El siguiente diseño independiente del dispositivo , un contador Johnson de 4 bits , se utiliza como un ejemplo :

Figura2 Ejemplo 4-Bit Contador Johnson Diseño

Page 13: CPLD

Figura 3 Ejemplo Viewlogic Simulación Funcional Resultados

Configuración de la herramienta de entrada de diseño

Muchas herramientas de entrada de diseño tienen una instalación de gestión de proyecto que se puede utilizar para crear un directorio de trabajo para el diseño y para seleccionar las bibliotecas de componentes de proveedores a utilizar en su diseño.

WorkView Gerente de Proyectos Oficina

1 . Acceda a la Gerente de Proyecto Viewlogic al seleccionar el Proyecto Icono del Administrador en el grupo de iconos WorkView Office. Crear un nuevo proyecto denominado jcount . Archivo ® Nuevo

2 . Seleccione un directorio y un nombre a la nueva jcount proyecto.

3 . Llame a las bibliotecas que necesita para crear su diseño. Proyecto ® Bibliotecas ...

4 . La Biblioteca del Orden cuadro de diálogo . Utilice esta herramienta para añadir la biblioteca XC9000 , además de la orden interna y simprims bibliotecas .

5 . Presione la tecla de Navegación para seleccionar los directorios y la tecla Añadir para añadir

bibliotecas . Por ejemplo , busque vía_de_instalación / ViewLog / data/xc9000 (para dispositivos de destino XC9500 ) donde vía_de_instalación es el directorio raíz donde el software de Xilinx se instaló . Luego haga clic en Agregar y las bibliotecas xc9000 se añadirán a la lista. Cuando usted tiene todas las bibliotecas que necesita para el proyecto, haga clic en Aceptar.

Page 14: CPLD

Viewlogic en estaciones de trabajo

1 . Para crear un directorio de trabajo para su diseño en Viewlogic de Powerview , utilice el comando Crear Proyecto ® .

2 . Configurar la herramienta de diseño de entrada para acceder a la biblioteca de componentes de Xilinx CPLD de esquemas que se desarrollan en el proyecto que acaba de crear . En Powerview , utilice el comando Orden de búsqueda de proyectos ® para abrir una ventana de diálogo que enumera las bibliotecas configuradas. En la primera línea de la biblioteca disponible , introduzca la ruta del directorio donde se ha instalado la biblioteca CPLD Viewlogic en su sistema. Por ejemplo, introduzca vía_de_instalación / ViewLog / data / xc9000 (por XC9500 dispositivos de destino ), donde vía_de_instalación es el directorio raíz donde se ha instalado el paquete de software Xilinx . En la columna " Biblioteca ", introduzca XC9000 , que también se conoce como alias biblioteca. En la columna Tipo, seleccione Megafile ( formato de sólo lectura comprimido).

3. Si usted no está utilizando el gestor de proyectos Viewlogic , usted puede hacer una copia del archivo viewdraw.ini en el directorio del proyecto ( copiado del directorio estándar Viewlogic ) y añadir una de las siguientes líneas al final del archivo : DIR [m ] installation_path/viewlog/data/xc9000 ( xc9000 ) donde vía_de_instalación es el directorio raíz donde se ha instalado el paquete de software Xilinx .

4 . Si va a simular usando Viewsim , también hay que incluir las " simprims " Xilinx y Viewlogic " orden interna " de la biblioteca en la ventana Orden de búsqueda o el archivo viewdraw.ini .

DIR [m ] vía_de_instalación / ViewLog / data / simprims ( simprims )

DIR [m ] vía_de_instalación / ViewLog / data / orden interna ( incorporado)

Mentor

5. Activar el Design Manager Mentor de la siguiente manera : pld_dmgr

6. Seleccione el icono Herramientas. A continuación, vaya al grupo de programas Herramientas y seleccione pld_da ( Diseño Arquitecto ) . Guía de introducción a Esquemático Diseño Esquemático Diseño CPLD 1-7 Dibujo del Diseño

7. Invoque la herramienta de dibujo esquemático y dibujar el diseño .

• Si está utilizando WorkView Office o Powerview , invocar la herramienta ViewDraw .

Page 15: CPLD

• Si está utilizando Mentor Graphics debe invocar pld_da ( Diseño Arquitecto ) .

8. Si usted prefiere usar el esquema completo se muestra en la figura " Ejemplo 4 bits Contador Johnson" como un diseño de la muestra , copie el archivo esquemática jcount desde el directorio de ejemplos del software Xilinx .

• Para Viewlogic , copiar todos los archivos y subdirectorios bajo el directorio \ ViewLog \ tutorial \ directorio vía_de_instalación jcount en su directorio local (el archivo de esquema se jcount.1 bajo el subdirectorio sch ) .

• Para Mentor seleccionar el icono Buscar Comp en el arquitecto de diseño y busque vía_de_instalación \ mentora \ tutorial \ jcount , a continuación, seleccione jcount . Al dibujar un esquema que representa un dispositivo CPLD, o cualquier sub - hoja en un diseño CPLD, usted no debe usar cualquier símbolo de cualquier otra biblioteca de la biblioteca Xilinx XC9000 . Por ejemplo , tenga cuidado de no utilizar símbolos de la biblioteca de orden interna Viewlogic . Es posible , sin embargo , crear sus propios símbolos personalizados que representan sub- hojas ( esquemas jerárquicos) o módulos de comportamiento , tal como se describe en el capítulo " Técnicas de entrada Diseño". Es importante que usted etiqueta de las redes que representan a los pins de entrada / salida de los dispositivos en su diseño. Estas son las redes de conexión entre el IPAD y IBUF símbolos y entre OBUF y orelleno símbolos. Estos nombres aparecen en los informes más aptos como sus nombres de los pines y se utilizan como los nombres de las señales de alto nivel durante la sincronización de simulación , después de la implementación del diseño.

9. Guarde su esquema cuando haya terminado. El comando Write Viewdraw realiza comprobaciones regla esquemática y escribe un archivo " wirelist " en el directorio wir ( wir/jcount.1 ) . Realizar Simulación Funcional ( Opcional) Xilinx bibliotecas de captura de esquemas contienen modelos de simulación permiten llevar a cabo la simulación funcional directamente de su esquema Guía esquemática Diseño CPLD Xilinx Sistema de Desarrollo de 1-8 . En la mayoría de las bibliotecas , los modelos para todos los símbolos registrados contienen una señal global llamada PRLD que , cuando es pulsado en alto, inicializa todos los flip -flops en el interior del modelo del símbolo. Recuerde a pulso la señal PRLD alto y conducir a todos sus señales de entrada de nivel superior ( alfileres) a niveles lógicos válidos antes de la publicación de sus vectores de simulación. Viewlogic Si utiliza Viewlogic , Xilinx proporciona un archivo de mandatos Viewsim para el diseño jcount que se puede encontrar en vía_de_instalación / ViewLog / tutorial / jcount / jcount.cmd .

Page 16: CPLD

FABRICANTES DE CPLD

- ALTERA

Altera Corporation es un fabricante líder de dispositivos lógicos programables.

Altera es uno de los pioneros de la lógica programable, siguiendo líderes notables anteriores como Signetics y MMI en la introducción de PLDs. Altera desarrolla algunas características que están orientadas hacia capacidad de sistemas en chips programables (SOPC). Algunos de los ejemplos más recientes incluyen memoria embebida, procesadores embebidos, ytransceptores de alta velocidad. El éxito en lanzamientos de productos de 130nm y 90nm son buenos casos de estudio. Los procesadores soft-core Nios II y Nios de Altera y los dispositivos HardCopy II y HardCopy están extendiendo el alcance de Altera en el mercado, y coloca a esta empresa en el mundo de los procesadores embebidos y ASICs estructuradas respectivamente. Entre sus principales competidores están: Xilinx, Lattice Semiconductor, Actel, Quicklogic y Atmel.

Altera ofrece también el software Quartus II, dirigido al diseño y simulación de circuitos lógicos. Aunque su software soporta extensivamente VHDL y Verilog como principales lenguajes, Altera es el desarrollador de lenguaje de descripción de hardwareconocido como AHDL.

Familia de dispositivos:

CPLDs

MAX 3000A: EPM3032A, EPM3064A, EPM3128A, EPM3256A, EPM3512A

MAX 7000: EPM7032B, EPM7064B, EPM7128B, EPM7256B, EPM7512B

MAX II: EPM240, EPM570, EPM1270, EPM2210

-ATMEL

Atmel es una compañía de semiconductores, fundada en 1984. Su línea de productos incluye microcontroladores (incluyendo derivados del 8051, el AT91SAM basados en ARM, y sus arquitecturas propias AVR y AVR32), dispositivos de radiofrecuencia, memorias EEPROM y Flash, ASICs, WiMAX, y muchas otras. También tiene capacidad de ofrecer soluciones del tipo system on chip (SoC).

Page 17: CPLD

Atmel sirve a los mercados de la electrónica de consumo, comunicaciones, computadores, redes, electrónica industrial, equipos médicos, automotriz, aeroespacial y militar. Es una industria líder en sistemas seguros, especialmente en el mercado de las tarjetas seguras.

Atmel posee cinco fábricas de semiconductores:

Fab5 en Colorado Springs, USA Fab7 en Rousset, Francia Fab9 en North Tyneside, Inglaterra Una fábrica en Heilbronn, Alemania Una fábrica en Grenoble, Francia

Entre sus principales competidores se encuentra STMicroelectronics, Texas Instruments, Freescale, Analog Devices y Microchip Technology.

- CYPRESS SEMICONDUCTOR

Son similares a los dispositivos AMD y Lattice en muchas maneras; el Cypress CPLD, llamado FLASH370, esta basado en tecnología FLASH EEPROM, y ofrece un desempeño en el retardo de velocidad de 8.5 a 15 ns de pin a pin, la desventaja es que no es programable en el sistema.

- XILINX

Xilinx es la mayor empresa en investigación y desarrollo de chips conocidos como field-programmable gate arrays (FPGAs).

En general existen 3 grandes tipos de dispositivos electrónicos: de memoria, procesadores y de lógica.

Los dispositivos de memoria almacenan información aleatoria (archivos, hojas de cálculo...);

Los procesadores ejecutan instrucciones de software para ejecutar una gran variedad de tareas (ejecutar un programa de proceso de datos o un videojuego)

Los dispositivos de lógica proveen funciones específicas (comunicación entre dispositivos y el resto de funciones que un sistema debe ejecutar). A su vez, existen 2 tipos de categorías de dispositivos lógicos: los fijos y los programables. Xilinx esta en el negocio de los dispositivos de lógica programable.

Xilinx desarrolla FPGAs y CPLDs que son usados en numerosas aplicaciones, como telecomunicaciones, automoción, productos de consumo, industria militar y otros campos. Las familias de dispositivos de Xilinx son: lógica de pegamento (CoolRunner y CoolRunner II), bajo coste (Spartan) y alto rendimiento (Virtex).

Page 18: CPLD

Las familias Virtex-II Pro, Virtex-4 y Virtex-5 son particularmente interesantes para los diseñadores de System on a chip (SoC) porque pueden incluir dos núcleos del IBM PowerPC405.

Xilinx también crea núcleos IP (IP Cores) en lenguajes HDL para permitir a los diseñadores reducir los tiempos de desarrollo. Estos núcleos van desde funciones simples comocontadores a sistemas complejos como microcontroladores, un ejemplo de esto último es el microprocesador Microblaze.

- AMD

Ofrece una familia de CPLD con 5 sub-familias llamadas Mach 1 a Mach 5. Cada dispositivo Macth, contiene bloques con múltiplos PAL; Match 1 Y 2 consiste en el modelo 22V16PALs, Match 3 y 4 consiste en el modelo 34V16PALs y el Match 5 ofrece modelos parecidos a los anteriores pero con mayor desempeño en velocidad. Todos los Match están basados en tecnología EEPROM. El rango de capacidad lógica están cercas de 2000 a 5000 compuertas.

-LATTICE SEMICONDUCTOR

Lattice ofrece un completo rango de CPLD; con dos líneas de productos principales: Lattice pLSI que consiste en tres familias de EEPROM de CPLD; y el ispLSI que son los mimos dispositivos pLSI, con la diferencia de los ispLSI son programables en el sistema. Los rangos de capacidades lógicas están cercas de 1200 a 4000 compuertas y el retardo de pin a pin es de 10 ns. El Lattice de la serie 3000 representa su desarrollo más grande con 5000 compuertas y un retardo de 10 a 15 ns.

Page 19: CPLD

Construcción de un CPLD

- Las vías están compuesta de 100 porciento metal de aluminio diluido, aquí se identificará como Metal 2, los contactos son 100 porciento metal de aluminio diluido, identificado como Metal 1.

- Como características especiales posee tecnología "FLASH FAST".

- Las compuertas en el canal N son del orden de 0.45 micra, y el canal P son del orden de 0.5 micra.

- El dispositivo está formado por una capa de nitruro de silicio sobre otra capa de dióxido de silicio.

- Posee dos capas de polisilicio.

- El PLOY 1 fue utilizada exclusivamente en compuertas flotantes, y POLY 2 (polisilicio y silicio de tusteno) fue utilizado para todas las compuertas estándar, en la matrix de lineas de programas y de palabra.

- La matrix de celdas programables son EEPROM (tecnología FAST FLASH), el Metal 2, será utilizado para las líneas de programa y de la palabra de dato.

- El Metal 1 distribuye la tierra GND y una línea de un bit.

- El dielétrico se encuentra entre las capas POLY es de ONO "óxido-nitruro-óxido". el color anaranjado es Nitruro de Silicio, el color azul es Metal 1 y 2, el color amarillo es Óxido, el color verde es polisilicio, color rojo difusión del canal P y N, y el color gris es el substrato P. Ver figura 19.

Page 20: CPLD

Si el dispositivo es borrable eléctricamente EEPROM, sus conexiones es a base de transistores MOS de puerta flotante, que contiene una puerta adicional embebida en el aislante entre la puerta normal (accesible desde el exterior) y el substrato. Esta puerta extra, sin conexión al exterior y completamente rodeada de material aislante, es la puerta flotante. los transistores MOS, inicialmente no tienen carga en la puerta flotante, de forma que actúan como transistores normales: en cada línea vertical se realiza la operación lógica Y; es necesario que todas las líneas horizontales estén bajas (a=b=c=d=L) para que las líneas verticales sean altas (x=y=z=H), y basta que una de las entradas sea baja (a=L, por ejemplo) para que su línea correspondiente sea alta, y por tanto los transistores cuyas puertas están conectadas a esa línea de entada pasan a conducción, y entonces las líneas verticales se hacen L. En otras palabras, los transistores hacen el punto de conexión entre las líneas verticales y horizontales.

Para desconectar un punto de conexión (un transistor), en la fase de programación se aplica una tensión relativamente elevada (15 a 20)V en la puerta del transistor a desconectar; esta tensión hace que, por un proceso físico conocido como efecto túnel, atraviesen electrones desde el substrato por la fina capa de aislante y queden almacenados en la puerta flotante.

En definitiva la introducción de electrones en la puerta flotante desconecta el transistor del circuito, ya que siempre estará cortado (estado off).

Page 22: CPLD

EJEMPLO DE CONSTRUCCIÓN DE UN CPLDPara algunas operaciones complicadas, se utilizan circuitos diseñados que solo sirve para realizar una función determinada.

EL término FPIC incluye a los CI’s no destinados a las aplicaciones lógicas. Son FPIC’s. Dentro de éstos están los que nos interesan, que son los CPLD´s.

La tarjeta de aplicación didáctica ‘TAD-XC9572’, está basada en el CPLD de la familia XC9500 de XILINX, y puede desarrollar diferentes funciones:

- Guiar a los profesores de ciclos en su labor docente.

- Iniciar a los estudiantes de formación profesional en el mundo de la tecnología programable.

- Ayudar a los estudiantes de Ingeniería a desarrollar sus proyectos.

- Facilitar a los profesionales el diseño de sus prototipos.

- Minimizar los problemas de aprendizaje, puesto que: El chip ya está montado y acompañado de una periferia de componentes que facilitarán su estudio

Page 23: CPLD
Page 24: CPLD

Ésta CPLD está compuesta por:

- Interruptor SPDT monopolar  para la selección de EJECUCIÓN o CONFIGURACIÓN del CPLD.

- Múltiple selección de la tensión Vccio ‘+5v’, ‘+3.3v’.

- Conector ATX para las alimentaciones externas de ‘+5v’ y ‘+3.3v’.

- Interruptor de arranque de la F.A. ATX.

- Regleta para las alimentaciones externas de ‘+5v’ y ‘+3.3v’

- 2 LED’s indicadores de las distintas tensiones de alimentación.

- 4 Conectores a las Funciones de Bloques I/O. Desde el FB1 hasta el FB4, con un total de 52 pines I/O.

- 2 Conectores a Vcc (+5v) y otros 2 a GND para facilitar las conexiones a los puertos I/O.

- 1 Conector triple para las entradas de reloj ‘GCLKx’.

- Oscilador externo, a cristal, con 25 frecuencias de trabajo, desde un patrón ‘X’ hasta ‘X/16777216’.

- LED indicador de la frecuencia de 1Hz.

- Pulsador de GSR (Set / Reset).

- Pulsador de GTS (Trhee State).

- 4 Circuitos antirrebote, con sus respectivos interruptores de entrada de nivel y conectores de salida.

- 1 Barra de 10 LED’s.

- 2 Display’s de cátodo común.

Page 25: CPLD

- 1 Teclado matricial de 4x4.

- LCD, conectado al FB2, con regulador de contraste.

RECUERDA QUE…

Para realizar el estudio de los dispositivos lógicos programables, de una manera eficaz, existe una serie de conceptos básicos que deberemos manejar correctamente, tales como:

- Skew: Es la diferencia entre el tiempo de llegada más largo al más corto en un circuito. Normalmente en las líneas de reloj.

-- Glitch: Es un cambio que no quieres, no altera la salida pero crea un

consumo por no tener en cuenta los retardos.

- Slew Rate: Es el velocidad de cambio de salida.

- Dutty cicle: Relación de porcentaje que la señal se mantiene en uno o en cero.

- Delay Time: Tiempo de retardo.

- Setup Time: Estabilizar las entradas antes del flanco de subida para que no se creen indeterminaciones,

                                                                                             - Hold Time: Estabilizar las entradas después del flanco.

- Metastabilidad: Cuando hay un cambio de un estado a otro y sigue estabilizado.

- Formato Edif: Es el listado universal que entienden todos los CAD´s.

Page 26: CPLD

CONCLUSIONES

- Un CPLD es un chip que puede emular el comportamiento de miles de puertas lógicas interconectadas entre sí y junto con algunos bits de estado, registros o flip-flops y cuenta con bastantes pines de entrada y salida, de forma que puedes implementar un circuito combinacional con algo de memoria (estados) bastante complejo (de ahí la C de complex)  Además es reprogramable, de forma que se puede configurar una y otra vez la función que emula el chip.

- Un CPLD es un dispositivo electrónico, que permite implementar sistemas más eficaces, porque utilizan menos espacio, mejoran la fiabilidad del diseño, y reducen costos.

- La mayoría de los CPLDs usan una de dos configuraciones para esta matriz: interconexión mediante bloques o interconexión mediante multiplexores.

- El tamaño de los CPLD permite implementar ecuaciones lógicas o diseños más complicados. la programación de estos dispositivos es generalmente en lenguajes de descripción de hardware

- CPLDS contiene el equivalente de varios PALs/ GALs conectados por interconexiones programables.

- CPLDs pueden reemplazar miles o cientos de miles compuertas lógicas.

- El tiempo de E/S del CPLD es predecible debido a su simple estructura de interconexiones..

Page 27: CPLD

BIBLIOGRAFÍA:

- http://electronicaintegrada.blogspot.com/2008/02/cpld- verilog.html

- http://rinconelectronicosjd2.blogspot.com/2013/01/cplds-y- recuerda-que.html

- http://dea.unsj.edu.ar/sisdig2/CPLDs.pdf

- http://clubensayos.com/Tecnolog%C3%ADa/DISPOSITIVOS- LOGICOS-PROGRAMABLES/792070.html

- http://www.monografias.com/trabajos-pdf3/curso-fpga- programacion-arreglos-compuertas/curso-fpga-programacion-arreglos-compuertas.pdf

- http://www.eetasia.com/ARTICLES/1999DEC/ 1999DEC22_ICD_PL_EDA_AN.PDF?SOURCES=DOWNLOAD

- http://emagcas.webs.ull.es/index_archivos/apuntes_sed/ Arquitectura_FPGA.pdf

- http://miguelrodriguezlopez.wordpress.com/2012/12/06/ cpldsfamilia-y-entorno-de-trabajo/