カテゴリー
category_es

CPLDs

¿Qué es un CPLD?

Un CPLD es un dispositivo lógico reprogramable con una estructura de circuito relativamente compleja.

Abreviatura de “dispositivo lógico programable complejo”, los CPLDs han permitido que el desarrollo de productos sea más fluido y menos costoso que nunca.

Aplicaciones de los CPLDs

Los CPLDs se utilizan ampliamente en equipos industriales y de consumo, por ejemplo en cuadros de control.

  • Cámaras digitales y máquinas multifunción
  • Smartphones
  • Equipos de control y navegación para vehículos
  • Consolas de videojuegos

Los CPLDs se utilizan en circuitos de control, sobre todo en la gestión de circuitos de alimentación. A menudo se encargan de funciones como la gestión del orden en que se aplica la alimentación a los circuitos y los circuitos de selección de tensión.

Principio del CPLDs

Un CPLD está formado por un bloque en el que se integran varios circuitos lógicos programables y una zona de cableado que conecta los distintos bloques. El bloque consta de tres macroceldas con estructuras de puerta AND-OR, flip-flops de tipo D para mantener un bit de información como 0/1, y pines de E/S para entrada y salida.

La macrocélula introduce señales digitales desde el pin de entrada y las envía al pin de salida en un circuito lógico programado por el usuario. Los datos primarios internos se almacenan en flip-flops.

El área de cableado es la conexión entre bloques y los datos de salida a través de uno o más bloques.

Más Información sobre los CPLDs

1. Diferencia entre CPLDs y FPGAs

Un dispositivo lógico similar a un CPLD es un FPGA, que utiliza memoria volátil y, por lo tanto, pierde los datos del circuito cuando se quita la alimentación.

En cambio, los CPLDs utilizan memoria no volátil, como EEPROM o memoria flash, por lo que los datos del circuito se conservan. También difieren en términos de escala.

Las FPGA tienen decenas de miles de puertas, mientras que las CPLDs sólo tienen unos pocos miles. Por tanto, la CPLDs se utiliza para proporcionar datos de diseño a la FPGA cuando ésta se enciende, mientras que la FPGA se encarga de los circuitos lógicos a gran escala.

Además, las FPGA tienen dificultades para predecir los tiempos de retardo, ya que éstos varían en función de dónde estén situados los bloques lógicos. En cambio, los CPLDs son fáciles de predecir porque el número de macroceldas por las que hay que pasar es fijo.

2. Historia de los CPLDs

Los CPLDs se desarrollaron hace unos 30 años para sustituir a los dispositivos lógicos TTL y CMOS. En aquella época, los circuitos se construían combinando CIs lógicos de propósito general con sólo funciones NOT y AND en una placa.

La serie 7400 de Texas Instruments (TI) es muy conocida, pero se dice que los ingenieros de la época casi habían memorizado más de unos cientos de dispositivos. El problema era que la complejidad de los circuitos requería docenas o cientos de circuitos integrados lógicos de propósito general, lo que daba lugar a placas de enorme tamaño.

Los avances en la miniaturización de los transistores han permitido realizar miles o decenas de miles de IC lógicos de propósito general en unos pocos LSI, acelerando así el desarrollo de los CPLDs.

3. El  Proceso de Desarrollo de los CPLDs

El proceso de desarrollo del diseño de un CPLDs puede dividirse en las siguientes etapas: diseño lógico, síntesis lógica, colocación y ruta, verificación de temporización y programación.

  • Diseño Lógico
    Diseño de circuitos utilizando lenguajes de descripción de hardware como Verilog y VHDL, también conocido como diseño RTL.
  • Síntesis Lógica
    Convierte un circuito expresado en un lenguaje de descripción de hardware en un circuito de puertas (netlist) que puede implementarse en un CPLD. La descripción del circuito se interpreta y convierte en expresiones lógicas como NOT y AND. En este momento también se lleva a cabo la optimización para aumentar la velocidad del circuito y reducir el área del chip.
  • Colocación y Encaminamiento
    Determina cómo se organiza el contenido del circuito de puertas (netlist) dentro del CPLD. Se calcula el tiempo que tardan en estabilizarse las salidas de las secciones del circuito combinacional y se ajusta para garantizar que no haya demasiada diferencia en la temporización de salida entre las señales.
  • Verificación de la Temporización
    Definir los tiempos de retardo de los elementos dentro del CPLD y simularlos.
  • Programación
    Basándose en el diseño final, los datos generados a partir de las herramientas de desarrollo se introducen en el CPLD.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です