Comparación del sistema, todos * * *Disfrute:
Aunque FPGA y CPLD son dispositivos ASIC programables, tienen muchas características comunes, pero debido a que CPLD y The Las diferencias estructurales de FPGA tienen sus propias características:
①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, FPGA es más adecuado para estructuras con flip-flops ricos, mientras que CPLD es más adecuado para estructuras con flip-flops limitados y términos de productos ricos.
②②La estructura de cableado continuo de CPLD determina la uniformidad y previsibilidad de su retardo de tiempo, mientras que la estructura de cableado segmentado de FPGA determina su imprevisibilidad.
③ FPGA es más flexible en programación que CPLD. CPLD se programa modificando las funciones lógicas de los circuitos de interconexión fijos, y FPGA se programa principalmente cambiando el cableado de las interconexiones. FPGA se puede programar bajo puertas lógicas, mientras que CPLD se puede programar bajo bloques lógicos.
④④FPGA está más integrado que CPLD y tiene una estructura de cableado e implementación lógica más compleja.
⑤CPLD es más conveniente de usar que FPGA. La programación CPLD utiliza tecnología E2PROM o FASTFLASH, que no requiere chips de memoria externos y es simple y fácil de usar. Sin embargo, la información de programación de FPGA debe almacenarse en una memoria externa y su uso es complicado.
⑥CPLD es más rápido que FPGA y tiene más previsibilidad temporal. Esto se debe a que FPGA es programación a nivel de puerta y se utilizan interconexiones distribuidas entre CLB, mientras que CPLD es programación a nivel de bloque lógico y las interconexiones entre bloques lógicos están agrupadas.
⑦ En términos de método de programación, CPLD se basa principalmente en memoria E2PROM o FLASH, y el número de tiempos de programación puede 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 programan en función de SRAM y la información de programación se pierde cuando se apaga el sistema. Los datos de programación deben reescribirse en la SRAM desde fuera del dispositivo cada vez que se aplica energía. Su ventaja es que se puede programar en cualquier momento y se puede programar rápidamente en el trabajo, logrando así una configuración dinámica a nivel de placa y a nivel de sistema.
8 ⑧CPLD tiene buena seguridad, pero FPGA tiene mala seguridad.
⑨ En términos generales, el consumo de energía de CPLD es mayor que el de FPGA, y cuanto mayor es el nivel de integración, más obvio es.
Con la creciente densidad de dispositivos lógicos programables complejos (CPLD), los diseñadores de dispositivos digitales pueden diseñar de manera flexible y conveniente dispositivos a gran escala, y los productos pueden ingresar al mercado rápidamente. Muchos diseñadores han sentido las ventajas de CPLD, como la facilidad de uso, la sincronización predecible y la alta velocidad. Pero en el pasado, debido a las limitaciones en la densidad de CPLD, tuvieron que recurrir a FPGA y ASIC. Ahora, los diseñadores pueden aprovechar los beneficios de los CPLD con cientos de miles de densidades de puertas.
La estructura CPLD utiliza de 1 a 16 términos de producto en una única ruta lógica, lo que permite predecir la rapidez con la que se ejecutarán diseños grandes y complejos. Por lo tanto, el funcionamiento del diseño original es predecible y fiable, y el diseño puede modificarse fácilmente. CPLD es de naturaleza flexible, simple en cuanto a sincronización y tiene un excelente rendimiento de enrutamiento. El usuario puede cambiar el diseño manteniendo la distribución de pines sin cambios. En comparación con FPGA, CPLD tiene más E/S y un tamaño más pequeño.
Los sistemas de comunicación actuales utilizan muchos estándares y el equipo debe configurarse de acuerdo con las necesidades del cliente para admitir diferentes estándares. CPLD permite que los dispositivos se adapten en consecuencia para admitir múltiples protocolos y cambiar su funcionalidad a medida que evolucionan los estándares y protocolos. Esto brinda una gran comodidad a los diseñadores de sistemas porque pueden diseñar el hardware antes de que el estándar esté completamente maduro y luego modificar el código para cumplir con los requisitos del estándar final. Las características de velocidad y latencia de CPLD son mejores que las de las soluciones de software puro y su costo NRE es menor que el de ASIC, por lo que es más flexible y los productos pueden ingresar al mercado más rápido.
Las ventajas de la solución programable CPLD son las siguientes:
●Ricos recursos lógicos y de memoria (la RAM del Cypress Delta39K200 supera los 480 Kb).
●Modelo de sincronización flexible con recursos de enrutamiento redundantes
●La salida de pin se puede cambiar de manera flexible.
●Después de instalarlo en el sistema, se puede reprogramar.
Bajo número de E/S
●Lógica de control de memoria integrada con rendimiento garantizado
●Proporciona CPLD de un solo chip y soluciones PHY programables.
Debido a estas ventajas, el costo del modelado del diseño es bajo, el diseño se puede agregar o la salida del pin se puede cambiar en cualquier etapa del proceso de diseño y se puede iniciar rápidamente.
Estructura CPLD
CPLD es un dispositivo lógico programable con una estructura de grano grueso. Tiene ricos recursos lógicos (es decir, una alta proporción de puertas lógicas a registros) y recursos de enrutamiento altamente flexibles. El enrutamiento de CPLD está conectado entre sí, mientras que el enrutamiento de FPGA está separado. La FPGA puede ser más flexible, pero incluye muchos puentes, por lo que es más lenta que la CPLD.
Los CPLD están dispuestos en un grupo y conectados mediante canales de cableado horizontales y verticales. Estos canales de enrutamiento envían señales o reciben señales de los pines del dispositivo y conectan grupos lógicos dentro del CPLD.
CPLD se denomina de grano grueso porque los grupos lógicos son más grandes en comparación con el número de rutas. El grupo lógico de CPLD es mucho más grande que la unidad básica de FPGA, por lo que FPGA es un módulo de función CPLD de grano fino
La unidad más básica de CPLD es la macrocélula. Una macrocélula contiene un registro (que utiliza hasta 16 términos de producto como entrada) y otras funciones útiles.
Debido a que cada macrocelda utiliza 16 términos de producto, los diseñadores pueden implementar muchas lógicas combinacionales sin agregar rutas adicionales. Esta es también la razón por la que CPLD se considera "rico en lógica".
Las macrocélulas están dispuestas en forma de módulos lógicos (LB), y cada módulo lógico está compuesto por 16 macrocélulas. La macrocélula realiza una operación AND y luego una operación OR para implementar la lógica combinacional.
Cada grupo lógico tiene 8 módulos lógicos y todos los grupos lógicos están conectados a la misma matriz de interconexión programable.
Cada clúster también incluye dos módulos de memoria de clúster lógico de puerto único y un módulo de memoria de canal multipuerto. El primero tiene 8.192b de memoria por módulo, mientras que el segundo contiene 4.096b de memoria de comunicaciones dedicada, que puede configurarse como puerto único, multipuerto o FIFO, con lógica de control dedicada.
¿Cuáles son los beneficios de CPLD?
El número de E/S es grande.
Una de las ventajas de los CPLD es que pueden proporcionar recuentos de E/S más altos para una densidad de dispositivo determinada, a veces hasta 70.
Modelo de series de tiempo simple
CPLD es superior a otras estructuras programables porque tiene un modelo de series de tiempo simple y predecible. Este modelo simple de series de tiempo se atribuye principalmente a la naturaleza de grano grueso de CPLD.
CPLD puede proporcionar una amplia gama de estados iguales dentro de un tiempo determinado, independientemente del enrutamiento. Esta capacidad es clave para el éxito del diseño, ya que acelera no solo el trabajo de diseño inicial sino también el proceso de depuración del diseño.
Ventajas de las estructuras CPLD de grano grueso
CPLD es una estructura de grano grueso, lo que significa que la ruta hacia y desde el dispositivo pasa por menos interruptores y el retraso es correspondientemente menor. Por lo tanto, los CPLD pueden operar a frecuencias más altas y funcionar mejor que los FPGA equivalentes.
Otra ventaja de CPLD es su rápida compilación de software, ya que su estructura fácil de cablear facilita la realización de las tareas de diseño.
Ventajas de la estructura FPGA de grano fino
FPGA es una estructura de grano fino, lo que significa que hay un retraso de grano fino entre cada unidad. Si se empaqueta una pequeña cantidad de lógica, los FPGA pueden ser bastante rápidos.
Sin embargo, a medida que aumenta la densidad del diseño y las señales pasan a través de muchos conmutadores, los retrasos en el enrutamiento aumentan rápidamente, lo que afecta el rendimiento general. La estructura de grano grueso de CPLD puede adaptarse bien a los cambios en este diseño.
Pasadores de salida flexibles
La estructura de grano grueso y las características de sincronización de CPLD son predecibles, por lo que los diseñadores aún pueden cambiar los pines de salida más adelante en el proceso de diseño mientras la sincronización se mantiene constante.
¿Por qué los CPLD y FPGA requieren diferentes habilidades de diseño lógico?
FPGA es un dispositivo de grano fino y su unidad básica y estructura de cableado son más pequeñas que CPLD. FPGA es "rico en registros" (es decir, la proporción de registros y puertas lógicas es alta), mientras que CPLD es todo lo contrario, "rico en lógica".
Muchos diseñadores prefieren CPLD por su simplicidad y velocidad. Los CPLD son más adecuados para aplicaciones con uso intensivo de lógica, como la máquina de estados y la lógica del decodificador de direcciones. FPGA es más adecuado para diseños con uso intensivo de registros, como CPU y DSP.
Nuevos paquetes CPLD
Los CPLD están disponibles en una variedad de densidades y tipos de paquetes, incluidas soluciones de arranque automático de un solo chip. La solución de arranque automático integra memoria flash y CPLD en un solo paquete, eliminando la necesidad de una unidad de arranque externa, reduciendo así la complejidad del diseño y ahorrando espacio en la placa. Para un tamaño de paquete determinado, existe una mayor densidad de dispositivos * * * para disfrutar del pinout. Esto brinda a los diseñadores la conveniencia de "ampliar" un diseño sin tener que cambiar la configuración de pines en la placa.
Consumo de energía de CPLD
En comparación con FPGA de la misma densidad, CPLD tiene un menor consumo de energía en espera.
CPLD FPGA (corriente en espera (cuando Vcc es 1,8 V))
50K 300μA 200mA
100K 600μA 200mA
200k 1,25 mA Los CPLD de 300 mA
son especialmente adecuados para aplicaciones alimentadas por batería que requieren un bajo consumo de energía y baja temperatura, como dispositivos portátiles.
Muchos diseñadores están familiarizados con los PLD tradicionales y les gusta la flexibilidad y facilidad de uso inherentes a esta estructura. CPLD proporciona una buena opción para los diseñadores de ASIC y FPGA, permitiéndoles implementar sus diseños con una estructura más simple y conveniente. Los CPLD ahora alcanzan densidades de cientos de miles de puertas y pueden proporcionar el alto rendimiento que requieren los diseños de comunicaciones actuales. Los diseños de más de 500.000 puertas todavía requieren ASIC y FPGA, pero para diseños pequeños, los CPLD son una alternativa rentable.
FPGA adopta el nuevo concepto de matriz de celdas lógicas (LCA), que incluye bloque lógico configurable (CLB), bloque de entrada y salida (IOB) e interconexión. Las características básicas de FPGA son:
1) Al utilizar FPGA para diseñar circuitos ASIC, los usuarios pueden obtener un chip compartido sin producción. ——2) FPGA se puede utilizar como muestra piloto para otros circuitos ASIC totalmente personalizados o semipersonalizados.
3) Hay muchos flip-flops y E/S en FPGA.