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


10

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


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.


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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.