CPLD (dispositivo lógico programable complejo): explicado

Noticias

HogarHogar / Noticias / CPLD (dispositivo lógico programable complejo): explicado

Aug 05, 2023

CPLD (dispositivo lógico programable complejo): explicado

CPLD (dispositivo lógico programable complejo) publicado se compone de unidades matriciales de interconexión programables alrededor del centro, cuya estructura lógica LMC es más compleja y tiene una E/S compleja.

Por

Publicado

CPLD (dispositivo lógico programable complejo) se compone de unidades matriciales de interconexión programables alrededor del centro, de las cuales la estructura lógica LMC es más compleja y tiene una estructura de interconexión de unidades de E/S compleja. Los usuarios pueden generar estructuras de circuitos especiales según sus necesidades para completar determinadas funciones. Debido a que dentro del CPLD se utilizan líneas metálicas de longitud fija para interconectar cada bloque lógico, el circuito lógico diseñado tiene previsibilidad temporal, evitando el inconveniente de una predicción temporal incompleta de la estructura de interconexión segmentada. En la década de 1990, los CPLD se desarrollaron más rápidamente, no sólo con las características de borrado eléctrico sino también con funciones avanzadas como el escaneo de bordes y la programabilidad en línea. Los CPLD más utilizados de Xilinx y CPLD de Altera.

Historia del desarrollo de CPLD

En la década de 1970 nació el primer dispositivo lógico programable: el PLD. Su estructura de salida es una unidad macro lógica programable porque el diseño de su estructura de hardware se puede completar mediante software (equivalente a diseñar manualmente una estructura interior local después de construir la casa), por lo que su diseño es más flexible que los circuitos digitales de hardware puro, pero son demasiado La estructura simple también les permite implementar solo circuitos más pequeños. Para compensar el defecto de que el PLD sólo puede diseñar circuitos a pequeña escala, a mediados de la década de 1980 se introdujo un complejo dispositivo lógico programable: el CPLD. En la actualidad, la aplicación se ha ampliado a redes, instrumentación, electrónica automotriz, máquinas herramienta CNC, medición aeroespacial, equipos de control, etc.

Estructura básica del CPLD

CPLD es la abreviatura de dispositivos lógicos programables complejos y FPGA es la abreviatura de matriz de puertas programables en campo. Las funciones de los dos son básicamente las mismas, y la programación y otros procesos son básicamente los mismos (los archivos de programación son diferentes, pero el software los genera automáticamente), pero el principio de implementación interna y la estructura del chip son ligeramente diferentes. .

Unidad lógica programable

La función es la misma que la del puerto de E/S básico de FPGA, pero el alcance de aplicación de CPLD es relativamente limitado, el rendimiento y la complejidad de E/S son diferentes de los de FPGA y los estándares de E/S admitidos son menores. y la frecuencia es menor.

Unidad lógica básica

La unidad lógica básica en CPLD es la unidad macro. La llamada macrocélula se compone de un AND, o matrices más flip-flops, en las que la matriz "Y-O" completa la función lógica combinacional y los flip-flops se utilizan para completar la lógica secuencial. Otro concepto importante relacionado con la unidad lógica básica de CPLD es el término de producto. El llamado término de producto es la salida de la matriz AND en la macrocelda y su número indica la capacidad de CPLD. La matriz de términos de producto es en realidad una matriz "Y-O". Cada intersección es un fusible programable. Si está activado, implementa la lógica "Y". Generalmente hay una matriz "O" después de la matriz "Y", que se utiliza para completar la relación "o" en la expresión lógica más pequeña.

Grupo de enrutamiento, matriz de enrutamiento

Los recursos de cableado en CPLD son mucho más simples que los de FPGA y los recursos de cableado son relativamente limitados. Generalmente, se utiliza una estructura de grupo de cableado centralizado. El llamado grupo de cableado es esencialmente una matriz de conmutación, y la conexión entre los elementos de entrada y salida de diferentes macrocélulas se puede completar uniendo nodos. Debido a la falta de recursos de interconexión dentro del dispositivo CPLD, en algunos casos se encontrarán algunas dificultades cuando se enrute el dispositivo. Debido a que la estructura del grupo de cableado de CPLD es fija, el retraso desde el pin de entrada al pin de salida de CPLD es fijo, lo que se denomina retraso de pin a pin, expresado como Tpd. El retraso de Tpd refleja la frecuencia más alta que los dispositivos CPLD pueden alcanzar y también muestra claramente el grado de velocidad del dispositivo CPLD.

Ejemplos de estructura básica de CPLD

Dispositivo EPM7128S

(1) Estructura básica del dispositivo EPM7128S

El dispositivo EPM7128S se compone principalmente de un bloque de matriz lógica LAB, una macrocélula, un bloque de control de E/S y una matriz de interconexión programable PIA.

En una estructura matricial de múltiples matrices, cada macrocelda tiene una matriz AND programable y una matriz OR fija, y un flip-flop configurable con un reloj programable de forma independiente; el reloj permite funciones claras y configuradas. Cada 16 macroceldas forman un grupo para formar un módulo de matriz lógica flexible LAB. Varios LAB están conectados a un bus global a través de una matriz de interconexión programable PIA. Cada LAB también está conectado al bloque de control de E/S correspondiente para proporcionar canales de entrada y salida directos.

(2) Estructura de macrocélula EPM7128S

Cada macrocelda del EPM7128S se puede configurar individualmente para funcionar en lógica combinacional o lógica secuencial. Una macrocélula se compone principalmente de una matriz lógica, una matriz de selección de artículos de producto y un registro programable. Los registros programables se pueden programar para omitir según las necesidades lógicas para realizar una lógica combinacional. Si se utiliza como registro, el software de desarrollo de dispositivo lógico programable correspondiente seleccionará un modo de trabajo de registro efectivo de acuerdo con los requisitos lógicos de diseño, para minimizar los recursos del dispositivo utilizados en el diseño.

Dispositivo XCR3064XL

(1) estructura del dispositivo XCR3064XL

La estructura de macroceldas del dispositivo XCR3064XL está compuesta por bloques funcionales y unidades de E/S conectadas por una matriz de interconexión de energía cero, y cada bloque lógico contiene 16 macroceldas.

Diagrama de arquitectura CPLD

Tome Xilinx CoolRunner-II como ejemplo aquí. La siguiente figura es laArquitectura CPLDdiagrama de Xilinx CoolRunner-II.

Ahora Easybom le explica el contenido de la imagen de arriba.

1. Este CPLD tiene algunos bloques de funciones que van desde el “Bloque de funciones 1” hasta el “Bloque de funciones n” (en el caso del CPLD CoolRunner-II, este rango de numeración es de 2 a 32)

2. 16 líneas de salida de cada bloque de funciones van al AIM (Matriz de interconexión avanzada), mientras que 40 líneas de señales ingresan desde el AIM al bloque de funciones.

3. Cada bloque de funciones tiene 16 MacroCells (MC1 a MC16).

4. Cada MacroCell puede acceder a 16 señales desde el bloque de E/S.

5. La estructura de MacroCell se muestra a continuación. Cada macrocelda contiene una suma producto de flip-flops y matrices PLA que los usuarios pueden utilizar para crear lógica combinatoria o secuencial. Entonces, ¡la cantidad máxima de activadores disponibles en CoolRunner-II CLPD (XC2C512) es 512! (Recuerde este número, lo comparamos con el número de flip-flops en la FPGA)

6. El AIM se puede programar para interconectar señales según sea necesario. Pero como vimos en el segundo punto anterior, la cantidad de señales por bloque de funciones es limitada.

Al igual que PLA (matriz lógica programable), la función lógica de CPLD en cada macrocelda se programa eléctricamente a través de la interfaz de programación del sistema (ISP) en JTAG. Una vez programadas, estas conexiones basadas en flash siguen siendo las mismas durante años. Esto brinda a los CPLD la ventaja única del trabajo “instantáneo”. Es decir, el CPLD comienza a funcionar tan pronto como se enciende porque el programa se graba a través de la memoria flash del ISP.

En resumen, podemos decir que en un CPLD hay varios cientos de bloques funcionales (o bloques lógicos), generalmente menos de 1000, a los que se puede acceder mediante una única interconexión de celda lógica grande.

¿Cómo utilizar CPLD?

CPLD es un circuito integrado digital en el que los usuarios construyen funciones lógicas según sus propias necesidades. El método de diseño básico es utilizar la plataforma de software de desarrollo integrada para generar el archivo de destino correspondiente mediante un diagrama esquemático, lenguaje de descripción de hardware, etc., y transferir el código al chip de destino a través del cable de descarga (“en el sistema” programación) para realizar el sistema digital diseñado.

Aquí, tome al respondedor como ejemplo para hablar sobre su proceso de diseño (decoración), es decir, el proceso de diseño del chip. La mayor parte del trabajo de CPLD se realiza en la computadora. Abra el software de desarrollo integrado (Max+pluxII de Altera Corporation) → dibuje el diagrama esquemático, escriba el lenguaje de descripción del hardware (VHDL, Verilog) → compile → proporcione la señal de excitación de entrada del circuito lógico, realice la simulación, verifique si el el resultado de la salida lógica es correcto → realice el bloqueo de entrada y salida del pin (se pueden configurar 64 pines de entrada y salida de 7128 según sea necesario) → genere código → transmita y almacene el código en el chip CPLD a través del cable de descarga. Se han extraído los pines del chip 7128. Conecte el tubo digital, el interruptor de respuesta, la luz indicadora y el timbre al tablero de partículas mediante cables y pruebe la alimentación. Cuando se presiona el interruptor de respuesta, la luz indicadora correspondiente debe estar encendida y la respuesta es correcta. En el futuro, después de que el árbitro sume puntos, verifique si el resultado de la pantalla digital es correcto. Si hay algún problema, puede volver a revisar el diagrama esquemático o el lenguaje de descripción del hardware para mejorar el diseño. Una vez completado el diseño, como la producción en masa, se pueden copiar directamente otros chips CPLD, es decir, se puede escribir el código. Si desea diseñar otros chips, como el diseño de semáforos, debe volver a dibujar el diagrama esquemático o escribir un lenguaje de descripción de hardware, repetir el proceso de trabajo anterior y completar el diseño. Este tipo de diseño de modificación equivale a redecorar la casa, y este tipo de decoración se puede realizar decenas de miles de veces para CPLD.

Diferencias entre CPLD y FPGA

1. Introducción a FPGA

FPGA (Field-Programmable Gate Array) es el producto de un mayor desarrollo sobre la base de PAL, GAL, CPLD y otros dispositivos programables. Surgió como un circuito semipersonalizado en el campo de los circuitos integrados de aplicaciones específicas (ASIC), que no solo resolvió las deficiencias del circuito personalizado sino que también superó las deficiencias del número limitado de circuitos de compuerta del dispositivo programable original.

Características de la FPGA

1) Al utilizar FPGA para diseñar un circuito ASIC (circuito integrado de aplicación específica), los usuarios pueden obtener chips adecuados sin necesidad de producir una película.

2) FPGA es uno de los dispositivos con el ciclo de diseño más corto, el menor costo de desarrollo y el menor riesgo en los circuitos ASIC.

3) FPGA adopta un proceso CMOS de alta velocidad con bajo consumo de energía y es compatible con niveles CMOS y TTL.

La FPGA la configura el programa almacenado en la RAM del chip para establecer su estado de funcionamiento. Por lo tanto, la RAM del chip debe programarse cuando esté en funcionamiento. Los usuarios pueden utilizar diferentes métodos de programación según los diferentes modos de configuración.

2. Introducción a la CPLD

CPLD (dispositivo lógico programable complejo) se compone de unidades matriciales de interconexión programables alrededor del centro, de las cuales la estructura lógica LMC es más compleja y tiene una estructura de interconexión de unidades de E/S compleja. Los usuarios pueden generar estructuras de circuitos especiales según sus necesidades para completar determinadas funciones. Debido a que dentro del CPLD se utilizan líneas metálicas de longitud fija para interconectar cada bloque lógico, el circuito lógico diseñado tiene previsibilidad temporal, evitando el inconveniente de una predicción temporal incompleta de la estructura de interconexión segmentada. En la década de 1990, los CPLD se desarrollaron más rápidamente, no sólo con las características de borrado eléctrico sino también con funciones avanzadas como el escaneo de bordes y la programabilidad en línea.CPLD de XilinxyOtros CPLDson de uso común.

Características del CPLD

Tiene las características de programación flexible, alta integración, ciclo corto de diseño y desarrollo, amplia gama de aplicaciones, herramientas de desarrollo avanzadas, bajos costos de diseño y fabricación, bajos requisitos de experiencia en hardware de los diseñadores, sin necesidad de probar productos estándar, gran confidencialidad y Precios populares. Se puede lograr un diseño de circuitos a gran escala, por lo que se usa ampliamente en la creación de prototipos y la fabricación de productos (generalmente menos de 10,000 piezas). Los dispositivos CPLD se pueden utilizar en casi todas las aplicaciones de circuitos integrados digitales de uso general pequeños y medianos. Los dispositivos CPLD se han convertido en una parte indispensable de los productos electrónicos y su diseño y aplicación se han convertido en una habilidad necesaria para los ingenieros electrónicos.

3. Las diferencias entre FPGA y CPLD

CPLD frente a FPGA

1. CPLD es más adecuado para completar varios algoritmos y lógica combinacional, y FPGA es más adecuado para completar lógica secuencial. En otras palabras, los FPGA son más adecuados para estructuras ricas en flip-flops, mientras que los CPLD son más adecuados para estructuras ricas en productos y limitadas por flip-flops.

2. La estructura de cableado continuo de CPLD determina que su retraso de tiempo sea uniforme y predecible, mientras que la estructura de cableado segmentado de FPGA determina la imprevisibilidad de su retraso.

3. FPGA tiene mayor flexibilidad que CPLD en la programación. Los CPLD se programan modificando la función lógica con circuitos fijos interconectados, mientras que los FPGA se programan principalmente cambiando el cableado de las interconexiones; Los FPGA se pueden programar bajo puertas lógicas, mientras que los CPLD se programan bajo bloques lógicos.

4. El nivel de integración de FPGA es más alto que el de CPLD y tiene una estructura de cableado e implementación lógica más complejas.

5. CPLD es más cómodo de usar que FPGA. La programación de CPLD adopta la tecnología E2PROM o FAST FLASH, no se requiere chip de memoria externa y es fácil de usar. La información de programación de la FPGA debe almacenarse en la memoria externa y el método de uso es complicado.

6. CPLD es más rápido que FPGA y tiene mayor previsibilidad temporal. Esto se debe a que FPGA es programación a nivel de puerta y se utiliza interconexión distribuida entre CLB, mientras que CPLD es programación a nivel de bloque lógico y la interconexión entre sus bloques lógicos está agrupada.

7. En el método de programación, CPLD se basa principalmente en la programación de memoria E2PROM o FLASH, y los tiempos de programación pueden llegar a 10.000 veces. La ventaja es que la información de programación no se pierde cuando se apaga el sistema. CPLD se puede dividir en dos categorías: programación en el programador y programación en el sistema. La mayoría de los FPGA se basan en la programación SRAM y la información de programación se pierde cuando se apaga el sistema. Cada vez que se enciende el sistema, los datos de programación deben reescribirse en la SRAM desde fuera del dispositivo. La ventaja es que se puede programar cualquier cantidad de veces y se puede programar rápidamente sobre la marcha, lo que permite una configuración dinámica a nivel de placa y sistema.

8. CPLD tiene buena confidencialidad, mientras que FPGA tiene mala confidencialidad.

9. En circunstancias normales, el consumo de energía de CPLD es mayor que el de FPGA, y cuanto mayor es la integración, más obvio es.

A medida que aumenta la densidad de dispositivos lógicos programables complejos (CPLD), los diseñadores de dispositivos digitales tienen la flexibilidad y facilidad de diseños a gran escala, y los productos pueden ingresar al mercado rápidamente. Muchos diseñadores han descubierto que los CPLD tienen las ventajas de un uso fácil, sincronización predecible y alta velocidad; sin embargo, en el pasado, debido a las limitaciones de la densidad de CPLD, tuvieron que recurrir a FPGA y ASIC. Los diseñadores ahora pueden aprovechar los beneficios de los CPLD con densidades de hasta cientos de miles de puertas.

Contacto con los mediosNombre de empresa:FÁCIL BOM, INC.Persona de contacto:Jack SmithCorreo electrónico:Enviar correo electrónicoTeléfono:(718) 737-2822DIRECCIÓN:506 2nd Ave STE 1600Ciudad:seattleEstado:WashingtonPaís:Estados UnidosSitio web:https://www.easybom.com/

El expresidente estadounidense Donald Trump dijo el domingo que solicitará que un juez diferente supervise su histórico juicio penal.

Las encuestas muestran que las campañas de financiación colectiva del ex comediante para el ejército lo han convertido en una de las figuras públicas más confiables del país.

El estudio fue realizado por la empresa nacional de alquiler de furgones ReliableSkip.com, que analizó varios factores antropogénicos para cada ciudad del Reino Unido, incluido el porcentaje de...

El buque de asalto anfibio USS Bataan, fotografiado en el puerto de Nueva York en mayo de 2022 - Copyright AFP/Archivo Angela Weiss Más de 3.000 militares estadounidenses...

Historia del desarrollo de CPLDEstructura básica del CPLDUnidad lógica programableUnidad lógica básicaGrupo de enrutamiento, matriz de enrutamientoEjemplos de estructura básica de CPLDArquitectura CPLD¿Cómo utilizar CPLD?Diferencias entre CPLD y FPGACPLD de XilinxOtros CPLDCPLD frente a FPGANombre de empresa:Persona de contacto:Correo electrónico:Teléfono:DIRECCIÓN:Ciudad:Estado:País:Sitio web: