FPGA vs CPLD
FPGAs e CPLDs são dois dos tipos bem conhecidos de chips lógicos digitais. Quando se trata da arquitetura interna, os dois chips são obviamente diferentes.
FPGA é a abreviação de Matriz de portas programável em campo, é um tipo de chip lógico programável. É um chip excelente, pois pode ser programado para executar praticamente qualquer tipo de função digital. A arquitetura do FPGA permite que o chip tenha uma capacidade lógica muito alta. É usado em projetos que exigem uma alta contagem de gateways e seus atrasos são bastante imprevisíveis devido à sua arquitetura. O FPGA é considerado 'refinado' porque contém muitos pequenos blocos lógicos que podem atingir até 100.000. É com chinelos, lógica de combinação e memória. Ele foi projetado para aplicações mais complexas.
Por outro lado, o CPLD (dispositivo lógico programável complexo) é projetado usando EEPROM (memória somente leitura programável apagável eletricamente). É mais adequado em projetos de pequenas contagens de portas. Por ser uma arquitetura menos complexa, os atrasos são muito previsíveis e não são voláteis.
O CPLD é frequentemente usado para aplicativos lógicos simples. Ele contém apenas alguns blocos de lógica e atinge até 100. Dito isto, as CPLDs são consideradas como dispositivos de tipo 'grão grosso'. Os CPLDs são baratos e também oferecem uma entrada muito mais rápida para a duração da saída, devido à sua arquitetura mais simples e de "grãos grossos".
Os FPGAs são mais baratos por porta, mas caros no que diz respeito ao pacote.
Trabalhar com FPGAs requer procedimentos especiais, pois é baseado em RAM. Para programar o dispositivo, você deve primeiro descrever a 'função lógica' com o uso do computador, desenhando um esquema ou simplesmente descrevendo a função em um arquivo de texto. A compilação da 'função lógica' geralmente requer um software. Ele cria um arquivo binário para ser baixado no FPGA e, em seguida, o chip se comporta exatamente como você instruiu na 'função lógica'.
A decisão sobre o que usar, seja FPGA ou CPLD, realmente dependeria dos objetivos do projeto.
Resumo:
1. O FPGA contém até 100.000 minúsculos blocos lógicos, enquanto o CPLD contém apenas alguns blocos lógicos que chegam a alguns milhares.
2. Em termos de arquitetura, os FPGAs são considerados dispositivos de 'granulação fina', enquanto os CPLDs são de 'granulação grossa'.
3. FPGAs são ótimos para aplicativos mais complexos, enquanto CPLDs são melhores para aplicativos mais simples.
4. Os FPGAs são compostos de pequenos blocos lógicos, enquanto os CPLDs são feitos de blocos maiores.
5. FPGA é um chip lógico digital baseado em RAM, enquanto o CPLD é baseado em EEPROM.
6. Normalmente, os FPGAs são mais caros, enquanto os CPLDs são muito mais baratos.
7. Atrasos são muito mais previsíveis em CPLDs do que em FPGAs.