Muitas pessoas, especialmente estudantes e iniciantes, ficam confusos quando se trata de escolher entre FPGA e CPLD, pois ambos são chips lógicos digitais bem conhecidos. No entanto, sua arquitetura interna difere em vários parâmetros.
FPGA vs CPLD
A diferença entre FPGA e CPLD é que FPGA (Field Programmable Gate Array) possui uma arquitetura complexa, considerada granulação fina, enquanto o CPLD (Complex Programming Logic Design) possui uma arquitetura mais simples, considerada granulação grossa.
FPGA é um chip lógico de programação com uma arquitetura complexa e de grão fino. É baseado em RAM. É volátil, o que significa que se a alimentação for desligada, haverá perda de dados. É comparativamente mais adequado para aplicações complexas. Ele também consome mais energia em comparação. Também é mais caro.
Por outro lado, o CPLD foi projetado com a ajuda da EEPROM e possui uma arquitetura simples e grosseira. É mais adequado para aplicações mais simples. Não é volátil, o que significa que se a alimentação for desligada, não perderá nenhum dado. Ele tende a consumir menos energia quando comparado ao FPGA.
Tabela de comparação entre FPGA e CPLD
Parâmetros de comparação | FPGA | CPLD |
Formulário completo | Matriz de portas programáveis em campo | Projeto Lógico de Programação Complexa |
Arquitetura | Grão fino | Grão grosso |
Densidade | Médio a alto | Baixo a médio |
Consumo de energia | Alto | Médio |
Custo | Caro | Barato |
Baseado em | RAM | EEPROM |
Volatilidade | Ele pode perder os dados se a alimentação for desconectada. | A desconexão da energia não causará nenhuma perda de dados. |
Proporção de chinelos | Mais | Menos |
Formulários | Melhor para aplicativos complexos | Melhor para aplicativos mais simples |
Desempenho | Um desempenho previsível que independe do posicionamento interno e do roteamento. | O desempenho depende do roteamento. |
O que é FPGA?
FGPA significa Field-Programmable Gate Array, que é um chip lógico programável. Ele pode ser programado para realizar diferentes tipos de funções digitais. É um circuito integrado especialmente projetado para ser configurado por clientes ou projetistas após o processo de fabricação.
Ele fornece uma grande quantidade de recursos lógicos e elementos de armazenamento que podem ajudar na criação de sistemas complexos. Sua arquitetura é considerada refinada. Isso permite que os chips tenham uma capacidade lógica superior.
É composto de até 100.000 pequenos blocos lógicos e também consiste em uma combinação de lógica, flip-flops e memória. É mais caro, mas pode ser mais acessível se for comprado por portão.
É baseado em RAM, o que significa que requer alguns procedimentos especiais. Para programar um dispositivo, você deve primeiro descrever a 'função lógica' usando um computador. Isso resulta na criação de um arquivo binário que pode ser baixado no FPGA.
FPGAs usam uma ROM externa para carregar dados de configuração e definir a malha antes que comece a funcionar. Isso significa que haverá um atraso de tempo após você iniciá-lo e antes de começar a funcionar.
Não é tão fácil prever atrasos nesta programação. Ele também consome mais energia. Também é comparativamente menos seguro. Seu desempenho depende do roteamento que foi implementado para um determinado aplicativo.
FPGAs tendem a usar armazenamento de configuração baseado em SRAM. Isso significa que é volátil. Os dados armazenados na memória podem ser perdidos se a alimentação for desligada.
O que é CPLD?
CPLD significa Complex Programmable Logic Device. É um circuito integrado que pode ser usado para implementar sistemas digitais. Ele é projetado com a ajuda de uma memória somente leitura programável apagável eletricamente, mais comumente conhecida como EEPROM.
Sua arquitetura é menos complexa, o que o torna mais adequado para aplicações lógicas simples. Ele tem apenas alguns blocos lógicos, chegando a 100. Eles são tipos de dispositivos de granulação grossa.
Eles são não voláteis, o que significa que seus dados não serão perdidos se a energia for desconectada. Eles são mais baratos que os FPGAs e oferecem uma duração de entrada para saída mais rápida. Isso se deve à sua arquitetura simples.
Os CPLDs começam assim que você os liga. Os atrasos são previsíveis e a análise do tempo é mais fácil de fazer. Isso ocorre porque são mais simples e o número de interconexões é menor. Eles também têm um menor consumo de energia.
Eles são considerados mais seguros por causa de seu armazenamento de design, que é integrado na memória não volátil. Seu desempenho é previsível e independente de posicionamento e roteamento internos. É adequado para projetos de densidade baixa a média.
Só pode ser reprogramado um número limitado de vezes. Ele fornece recursos lógicos mínimos. Eles são mais adequados em projetos de contagem de portas pequenas.
Principais diferenças entre FPGA e CPLD
Conclusão
FPGA e CPLD são chips lógicos digitais excelentes e populares. Eles foram desenvolvidos para atingir a densidade e velocidade do circuito, que pode ser semelhante ao ASIC, mas tem um tempo de resposta mais curto. O FPGA fornece recursos lógicos extensos, enquanto o CPLD é simples e contém um número menor de interconexões.
FPGA é mais adequado para aplicações complexas, pois tem um grão fino e arquitetura complexa, enquanto CPLD é mais adequado para aplicações mais simples, pois tem uma arquitetura de grão simples e grosso.
Referências
- https://ieeexplore.ieee.org/abstract/document/500200
- https://books.google.co.in/books?hl=pt-BR&lr=&id=vggmNXdzayYC&oi=fnd&pg=PP1&dq=fpga+and+cpld&ots=s7HjirG-ea&sig=15OMJOILY2a0Z0–fBnq551-KPk&redesc=vcq551-KPk&redi 20e% 20cpld & f = false