¿Cuál es la diferencia entre un CPLD y un FPGA?
¿Cuál es la diferencia entre un CPLD y un FPGA?
Respuestas:
Los CPLD generalmente solo se usan para reemplazar una cantidad relativamente pequeña de lógica discreta. A saber, cosas como un grupo de decodificadores de direcciones y circuitos de interfaz de bus. Los CPLD contienen muy poca memoria; En general, 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 vanguardia'.
Los FPGA están diseñados para computación de muy alto rendimiento e interfaz de alto ancho de banda. Internamente, utilizan una arquitectura muy diferente a la de los CPLD. Los FPGA tienen mucho más estado interno (registros y RAM en bloque) que los pines de E / S. La lógica combinatoria se implementa en tablas de búsqueda de alta velocidad que pueden ejecutarse a varios cientos de MHz. Las 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. Bloquear RAM y multiplicadores / rebanadas DSP son muy comunes. Los FPGA también pueden contener MAC de Ethernet, núcleos de procesador rígidos, 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 a hasta 50 Gbit / seg por par de clavijas. 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 el 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 por sí mismo, 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 dichas celdas lógicas, que pueden hacer todo tipo de algoritmos lógicos. Además, FPGA también incluyó 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.