¿Cuál es la diferencia entre CPLD y un FPGA? [cerrado]

9

¿Cuál es la diferencia entre un CPLD y un FPGA?

    
pregunta Sanjeev Kumar

2 respuestas

5

Los CPLD generalmente solo se usan para reemplazar una cantidad relativamente pequeña de lógica discreta. Es decir, 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 interconexión de alto ancho de banda. Internamente, utilizan una arquitectura muy diferente a los CPLD. Los FPGA tienen mucho más estado interno (registros y RAM de bloque) que los 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. 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 diversos componentes. Bloque RAM y multiplicadores / DSP slices son muy comunes. Los FPGA también pueden contener Ethernet MAC, núcleos de procesador, interfaces PCI Express y otros bloques especializados. Los transcievers de múltiples 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 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. Se puede implementar el cifrado para mejorar la seguridad del diseño con una clave respaldada por batería almacenada en el FPGA.

    
respondido por el alex.forencich
10

Diferencias:

  1. Capacidad: CPLD generalmente tiene menos capacidad de lógica. El CPLD más grande puede estar en un nivel similar del FPGA más pequeño en el mercado general.

  2. Almacenamiento de la imagen: CPLD puede iniciarse solo, mientras que la mayoría de los FPGA necesitan recuperar la corriente de bits de la configuración del almacenamiento no volátil porque están basados en SRAM. Esto afecta la seguridad del sistema.

  3. 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 integró muchos bloques duros como BlockRAM, DSP, TEMAC, PCIe, MGT, microprocesador, etc. para hacer un solo chip de FPGA capaz de construir un sistema integrado completo.

respondido por el Yash

Lea otras preguntas en las etiquetas