Qual a diferença entre CPLD e FPGA? [fechadas]

10

Qual é a diferença entre um CPLD e um FPGA?

Sanjeev Kumar
fonte
1
O CPLD usa apenas termos do produto (e um DFF por pino de saída); O FPGA possui blocos configuráveis ​​internos de LUT, carry / shift, DFF, além de roteamento mais flexível, RAM de bloco e outros blocos especializados, como PLL ou MAC.
Marku
1
... e normalmente os CPLDs usam memória não volátil para armazenar sua configuração, enquanto o FPGA usa memória volátil (RAM), ou seja, os FPGAs precisam ser inicializados a cada vez após a inicialização.
Coalhada
6
Resposta prontamente disponível no Google - a pergunta deve ser encerrada.
Leon Heller
4
@ Leon Heller Eu não sei por que você quer chamar outra pessoa para fechar esta pergunta. Se você acha que essa pergunta deveria estar encerrada, você pode votar a favor do fechamento, mas é realmente horrível comentar que "a pergunta deve ser encerrada" e tentar chamar outra pessoa para acompanhá-lo. Se esta questão é susceptível de fechado, em seguida, primeiro você deve fechar o abaixo questão electronics.stackexchange.com/questions/1092/...
Sanjeev Kumar
1
@LeonHeller (et al), essa pergunta também surge como uma resposta para a pesquisa no Google. (Eu tenho-o como o segundo link, juntamente com outros que foram realmente útil.)
ilkkachu

Respostas:

5

CPLDs geralmente são usados ​​apenas para substituir uma quantidade relativamente pequena de lógica discreta. Ou seja, coisas como um monte de decodificadores de endereços e circuitos de interface de barramento. CPLDs contêm muito pouca memória; Em geral, o número de flip-flops é da mesma ordem de magnitude dos pinos de E / S (ou seja, um CPLD de 32 macrocélulas possui ~ 30 pinos e ~ 30 flip-flops). A lógica combinatória em um CPLD é implementada em uma matriz lógica programável, que geralmente não é útil em velocidades muito altas. As CPLDs também são geralmente baseadas em flash ou possuem memória flash interna, simplificando os requisitos de design da placa e melhorando a proteção contra engenharia reversa. CPLDs também não são construídos com processos lógicos "avançados".

Os FPGAs são projetados para computação de alto desempenho e interface de alta largura de banda. Internamente, eles usam uma arquitetura muito diferente das CPLDs. Os FPGAs têm muito mais estado interno (registradores e bloqueiam a RAM) do que os pinos de E / S. A lógica combinatória é implementada em tabelas de pesquisa de alta velocidade que podem executar várias centenas de MHz. Os LUTs e outros componentes estão interconectados com uma rede de roteamento de alto desempenho. Os FPGAs também contêm núcleos rígidos especializados que fornecem implementações eficientes de vários componentes. RAM de bloco e multiplicadores / fatias de DSP são muito comuns. Os FPGAs também podem conter MACs Ethernet, núcleos de processador rígido, interfaces PCI Express e outros blocos especializados. Os transceptores de vários gigabits também são um recurso comum dos FPGAs avançados que permitem a transferência de dados em até 50 Gbit / s por par de pinos. Os FPGAs geralmente não contêm memória não volátil, portanto, é necessária memória flash externa para carregar a configuração. A criptografia pode ser implementada para melhorar a segurança do projeto com uma chave suportada por bateria armazenada no FPGA.

alex.forencich
fonte
10

Diferenças:

  1. Capacidade - o CPLD geralmente possui menos capacidade de lógica. O maior CPLD pode estar em um nível semelhante ao menor FPGA no mercado convencional.

  2. Armazenamento da imagem - o CPLD pode inicializar sozinho, enquanto a maior parte do FPGA precisa buscar o fluxo de bits de configuração do armazenamento não volátil, porque eles são baseados em SRAM. Isso afeta a segurança do sistema.

  3. Recurso - O CPLD fornece apenas portas, ou células ditas, que podem executar todos os tipos de algoritmos lógicos. Além disso, o FPGA também incorporou muitos blocos rígidos, como BlockRAM, DSP, TEMAC, PCIe, MGT, microprocessador, etc, para criar um único chip de FPGA capaz de construir um sistema integrado de recursos completos.

Yash
fonte
3
Em relação ao item 3, vale ressaltar que, ao longo dos anos, à medida que os CPLDs se tornaram mais sofisticados, a linha entre CPLDs e FPGAs diminuiu. Por exemplo, os CPLDs modernos são grandes o suficiente para implementar um microcontrolador. É agora ao ponto onde algumas famílias de chips que foram historicamente comercializados como CPLDs estão agora a ser marcado como FPGAs (a família Altera Max, por exemplo)
David Gardner