Sie sind auf Seite 1von 27

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


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

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.

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.
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 esquema
de la Fig3 mostrada nos referimos a cada block como PAL like block
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
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.

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.

. 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

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.

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


.

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

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

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

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.

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.

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).
Figura # 19: Construcción de un CPLD

Figura # 20: Línea de Productos


EJEMPLO DE CONSTRUCCIÓN DE UN CPLD
Para 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
É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.


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


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

1
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_E
DA_AN.PDF?SOURCES=DOWNLOAD

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

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

Das könnte Ihnen auch gefallen