¿Cuál es la diferencia entre un CPLD y un FPGA?
Los CPLD generalmente solo se usan para reemplazar una cantidad relativamente pequeña de lógica discreta. Es decir, cosas como un montón de decodificadores de direcciones y circuitos de interfaz de bus. Los CPLD contienen muy poca memoria; Generalmente, el número de flip-flops es del mismo orden de magnitud que los pines de E/S (es decir, un CPLD de 32 macroceldas tiene ~30 pines y ~30 flip-flops). La lógica combinatoria en un CPLD se implementa en una matriz lógica programable, que generalmente no es útil a velocidades muy altas. Los CPLD también suelen estar basados en flash o tienen memoria flash interna, lo que simplifica los requisitos de diseño de la placa y mejora la protección contra la ingeniería inversa. Los CPLD tampoco están construidos con procesos lógicos de última generación.
Los FPGA están diseñados para computación de muy alto rendimiento e interfaces de gran ancho de banda. Internamente, utilizan una arquitectura muy diferente a la de los CPLD. Los FPGA tienen mucho más estado interno (registros y bloque de RAM) que pines de E/S. La lógica combinatoria se implementa en tablas de búsqueda de alta velocidad que pueden funcionar a varios cientos de MHz. Los LUT y otros componentes están interconectados con una red de enrutamiento de alto rendimiento. Los FPGA también contienen núcleos duros especializados que proporcionan implementaciones eficientes de varios componentes. Los bloques de RAM y los multiplicadores/segmentos DSP son muy comunes. Los FPGA también pueden contener MAC Ethernet, núcleos de procesadores duros, interfaces PCI Express y otros bloques especializados. Los transceptores de varios gigabits también son una característica común de los FPGA de gama alta que permiten la transferencia de datos hasta 50 Gbit/seg por par de pines. Los FPGA generalmente no contienen ninguna memoria no volátil, por lo que se requiere una memoria flash externa para cargar la configuración. El cifrado se puede implementar para mejorar la seguridad del diseño con una clave respaldada por batería almacenada en la FPGA.
Diferencias:
Capacidad: CPLD generalmente tiene menos capacidad de lógica. El CPLD más grande puede estar en un nivel similar al FPGA más pequeño en el mercado principal.
Almacenamiento de la imagen: CPLD puede iniciarse solo, mientras que la mayoría de los FPGA necesitan obtener el flujo de bits de configuración del almacenamiento no volátil porque están basados en SRAM. Esto afecta la seguridad del sistema.
Característica: CPLD solo proporciona puertas, o dicho, celdas lógicas, que pueden hacer todo tipo de algoritmos lógicos. Además, FPGA también incorporó muchos bloques duros como BlockRAM, DSP, TEMAC, PCIe, MGT, microprocesador, etc. para hacer un solo chip de FPGA capaz de construir un sistema integrado con todas las funciones.
MarkU
Cuajada
leon heller
sanjeev kumar
leon heller
ilkkachu