Ir al contenido

Diferencia entre revisiones de «CPLD»

De Wikipedia, la enciclopedia libre
Contenido eliminado Contenido añadido
CEM-bot (discusión · contribs.)
m Correcciones menores, (WP:CEM)
LePeupleALœil (discusión · contribs.)
m Reemplazos con Replacer: «pose un»
 
(No se muestran 46 ediciones intermedias de 39 usuarios)
Línea 1: Línea 1:
Un '''CPLD''' (''Complex Programmable Logic Device'') es un [[dispositivo electrónico]].
Un '''CPLD''' (del [[acrónimo]] [[idioma inglés|inglés]] '''Complex Programmable Logic Device''') es un [[dispositivo electrónico]].


Los CPLD extienden el concepto de un [[PLD]] a un mayor nivel de integración ya que permite implementar sistemas más eficaces, ya que utilizan menor 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. A continuación se explican brevemente las principales características de la arquitectura de un ''CPLD''.
Los CPLD extienden el concepto de un [[Lógica programada|PLD]] (del acrónimo inglés ''Programmable Logic Device'') a un mayor nivel de integración ya que permite implementar sistemas más eficaces, ya que utilizan menor 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. A continuación se explican brevemente las principales características de la arquitectura de un ''CPLD.''


==Arquitectura==
== Arquitectura ==
===Matriz de Interconexiones Programables===
=== Matriz de Interconexiones Programables ===
[[Archivo:Altera MAX 7128 2500 gate CPLD.jpg|thumb|200px|Procesador de un CPLD de la marca [[Altera]].]]
La matriz de interconexiones programables (PIM) permiten unir los pines de entrada/salida a las entradas del bloque lógico, o las salidas del bloque lógico a las entradas de otro bloque lógico o inclusive a las entradas del mismo. La mayoría de los ''CPLDs'' usan una de dos configuraciones para esta matriz: interconexión mediante bloques o interconexión mediante [[multiplexor]]es.
La matriz de interconexiones programables (PIM) permiten unir los pines de entrada/salida a las entradas del bloque lógico, o las salidas del bloque lógico a las entradas de otro bloque lógico o inclusive a las entradas del mismo. La mayoría de los ''CPLDs'' usan una de dos configuraciones para esta matriz: interconexión mediante bloques o interconexión mediante [[multiplexor]]es.


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 (dispositivo)| 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.
El primero se basa en una [[vector (informática)|matriz]] de filas y columnas con una celda programable de conexión en cada intersección. Al igual que en las [[GAL (dispositivo)|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 casa 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.
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===
=== Bloques Lógicos ===
Un bloque lógico es similar a un [[PLD]], cada uno pose un 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.
Un bloque lógico es similar a un [[PLD]], cada uno posee un 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===
=== Macroceldas ===
Las macroceldas de un ''CPLD'' son similares a las de un [[PLD]]. 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.
Las macroceldas de un ''CPLD'' son similares a las de un PLD. Estas también están provistas con [[registro (hardware)|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, solo 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===
=== 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 son pueden ser consideradas o no consideradas parte del bloque lógico.
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.


==Fabricantes de CPLD==
=== CPLD MAX 7000 ===
Su Arquitectura de un CPLD es la forma en que están organizados y a la disposición a los elementos internos del dispositivo. Son similares al diagrama de bloque de un CPLD genérico, Teniendo la estructura clásica PAL/GAL que nos permite generar las funciones suma de producto. Su densidad varía entre dos bloques LAB y 16 bloques LAB, dependiendo del dispositivo concreto de la serie que se vaya a utilizar.<ref name="Floyd Thomas_1">{{cita libro|autor=Floyd Thomas|isbn=9788483220856| |título=Fundamentos de sistemas digitales |editorial= PEARSON|año=2006|edición=9.ª|página=690}}</ref>
*[[Altera]]
*[[Atmel]]
*[[Cypress Semiconductor]]
*[[Lattice Semiconductor]]
*[[Xilinx]]


Un bloque LAB es similar a un SPLD y que el tamaño de los encapsulados varían entre 44 y 208 pines, cabe mencionar que utilizan una tecnología de proceso basada en EEPROM. Las versiones que se pueden programar dentro del sistema para ello se utilizan la interfaz estándar JTAG.<ref name="Floyd Thomas_1"/>
==Véase también==
*[[FPGA]]
*[[Lenguaje de descripción de hardware]]


== Fabricantes de CPLD ==
[[Categoría:Electrónica]]
* [[Altera]]
* [[Atmel]]
* [[Cypress Semiconductor]]
* [[Lattice Semiconductor]]
* [[Xilinx]]


== Véase también ==
[[de:Complex Programmable Logic Device]]
[[en:CPLD]]
* [[Gate array]]
[[fr:CPLD]]
* [[FPGA]]
* [[Lenguaje de descripción de hardware]]
[[it:CPLD]]

[[nl:Complex programmable logic device]]
== Referencias ==
[[sk:Complex programmable logic device]]
{{listaref}}

{{Control de autoridades}}
[[Categoría:Aceleración por hardware]]
[[Categoría:Electrónica digital]]
[[Categoría:Gate arrays]]

[[fr:Circuit logique programmable#CPLD]]

Revisión actual - 23:24 24 feb 2024

Un CPLD (del acrónimo inglés Complex Programmable Logic Device) es un dispositivo electrónico.

Los CPLD extienden 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, ya que utilizan menor 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. A continuación se explican brevemente las principales características de la arquitectura de un CPLD.

Arquitectura

[editar]

Matriz de Interconexiones Programables

[editar]
Procesador de un CPLD de la marca Altera.

La matriz de interconexiones programables (PIM) permiten unir los pines de entrada/salida a las entradas del bloque lógico, o las salidas del bloque lógico a las entradas de otro bloque lógico o inclusive a las entradas del mismo. 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

[editar]

Un bloque lógico es similar a un PLD, cada uno posee un 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

[editar]

Las macroceldas de un CPLD son similares a las de un PLD. 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, solo 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

[editar]

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.

CPLD MAX 7000

[editar]

Su Arquitectura de un CPLD es la forma en que están organizados y a la disposición a los elementos internos del dispositivo. Son similares al diagrama de bloque de un CPLD genérico, Teniendo la estructura clásica PAL/GAL que nos permite generar las funciones suma de producto. Su densidad varía entre dos bloques LAB y 16 bloques LAB, dependiendo del dispositivo concreto de la serie que se vaya a utilizar.[1]

Un bloque LAB es similar a un SPLD y que el tamaño de los encapsulados varían entre 44 y 208 pines, cabe mencionar que utilizan una tecnología de proceso basada en EEPROM. Las versiones que se pueden programar dentro del sistema para ello se utilizan la interfaz estándar JTAG.[1]

Fabricantes de CPLD

[editar]

Véase también

[editar]

Referencias

[editar]
  1. a b Floyd Thomas (2006). Fundamentos de sistemas digitales (9.ª edición). PEARSON. p. 690. ISBN 9788483220856.