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 [Link] 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 [Link] .
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 / [Link] .
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
Fig
ura # 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.
.
BIBLIOGRAFÍA:
- [Link]
[Link]
- [Link]
[Link]
- [Link]
- [Link]
LOGICOS-PROGRAMABLES/[Link]
- [Link]
programacion-arreglos-compuertas/curso-fpga-programacion-
[Link]
- [Link]
1999DEC22_ICD_PL_EDA_AN.PDF?SOURCES=DOWNLOAD
- [Link]
Arquitectura_FPGA.pdf
- [Link]
cpldsfamilia-y-entorno-de-trabajo/