CPLD vs FPGA
CPLDs (dispositivo lógico programável complexo) e FPGAs (arranjo de portas programável em campo) são dois dispositivos lógicos que começam a desfocar devido às melhorias na tecnologia e à introdução de recursos de um no outro. A principal diferença entre FPGAs e CPLDs é a complexidade ou o número de portas lógicas contidas em cada uma. Embora os números reais possam variar bastante entre modelos diferentes, os CPLDs contêm de alguns milhares de portas a dezenas de milhares. Em comparação, os FPGAs têm dezenas de milhares a alguns milhões. Devido à enorme diferença no número de portas, é fácil dizer que você pode construir uma lógica mais complexa com FPGAs do que com CPLDs.
Uma grande vantagem de ter um número extremamente alto de portas é a capacidade de ter funções de alto nível incorporadas ao chip. Em vez de criar você mesmo, alguns FPGAs já possuem somadores, multiplicadores e muitos outros operadores para as tarefas mais comuns. O programador pode então se concentrar no objetivo real do design e não precisa se preocupar com a implementação de tais funções..
Há também uma enorme diferença entre os dois quando se trata de sua arquitetura. Os FPGAs usam LUTs (tabelas de consulta) enquanto um CPLD usa uma soma mais simples de produtos (também chamada de mar de portas). O uso de LUTs é vantajoso, pois proporciona uma economia significativa no tempo de processamento, pois o chip não precisaria passar pelo processo de recalcular a soma de produtos, como fazem as CPLDs. As LUTs também fornecem uma interconexão mais flexível entre os módulos FPGA internos do que o CPLD é capaz de.
A última grande diferença entre os dois é a memória não volátil. LUTs são uma forma de memória, mas não persistem depois que a energia é removida. Os CPLDs possuem memória não volátil incorporada nos chips, permitindo que funcionem imediatamente sem a necessidade de ROM externa. Os CPLDs são usados até para atuar como um "carregador de inicialização" para FPGAs. Como já mencionado no começo deste artigo, a linha entre os recursos está começando a ficar borrada. Para eliminar a necessidade de "carregadores de inicialização", os fabricantes de FPGAs começaram a incorporar memória não volátil em seus chips FPGA; tornando esse recurso presente nos CPLDs e em alguns FPGAs.
Resumo:
1. Os FPGAs são mais complexos que os CPLDs.
2.Os FPGAs têm mais funções incorporadas de alto nível que os CPLDs.
3. Os FPGAs usam tabelas de consulta, enquanto os CPLDs usam uma soma de produtos.
4.CPLDs têm memória não volátil, enquanto FPGAs não.