A diferença entre FPGA e CPLD
A diferença entre FPGA e CPLD
The two types of programmable logic chips are the Field Programmable Gate Array (FPGA) and the Complex Programmable Logic Device (CPLD). The former is a “fine-grain” device, whereas the latter is based on larger blocks. The two types have different strengths and weaknesses. While FPGAs are better for simple applications, CPLDs are ideal for complex algorithms.
CPLD is a programmable ASIC device
A CPLD is a programmable IC device that is composed of a macrocell. The macrocell contains AND arrays and flip-flops, which complete the combinational logic function. The AND array generates a product term, which is the output of the CPLD. The product term number is also an indication of the CPLD’s capacity. Similarly, an AND-OR array has a programmable fuse at each intersection.
CPLDs can be programmed using a hardware description language. These languages can be used to write and test software. For example, an engineer can write a hardware description language (HDL) for a CPLD, which can be read by a CPLD. The code is then downloaded into the chip. The CPLD chip is then tested to ensure that it is functional, and any bugs can be fixed by revising the schematic diagram or hardware description language. Eventually, the prototype can be sent to production.
CPLD is more suitable for algorithms
CPLDs are large-scale integrated circuits that can be designed to implement a large number of complex algorithms. They use a combination of CMOS EPROM and EEPROM programming technologies and are characterized by their high density and low power consumption. Their high-density architecture enables them to achieve extremely high speeds and high-density operation. CPLDs are also extremely complex, with a large number of internal components.
CPLDs are also faster and more predictable than FPGAs. Because they’re configured using electrically erasable programmable read-only memory (EEPROM), they can be configured on-chip when the system boots up, unlike FPGAs, which require an external non-volatile memory to feed the bitstream. This makes CPLDs more suitable for algorithms than FPGAs for many applications.
CPLD is more secure
There are some key differences between FPGAs and CPLDs. FPGAs are composed of programmable logic, whereas CPLDs use a more flexible structure. CPLDs have fewer programmable features, but they are still easier to program. CPLDs are often constructed as a single chip with a number of macrocells. Each macrocell has a corresponding output pin.
The first significant difference between the two types of chips is the way that clocks are generated. CPLDs can use a single external clock source or a number of unique clock generating chips. These clocks have defined phase relationships and can be used to improve chip programming performance. A CPLD can be programmed in several ways, and the design can be altered multiple times if necessary.
CPLDs also have a lower overall cost of ownership. This factor makes them less expensive to produce. CPLDs can be used for many different applications. For example, a CPLD may contain a lot of discrete components, but it can also contain multiple programmable logic elements. This increases flexibility.
O CPLD é mais barato
Um CPLD é mais económico do que um FPGA, embora os FPGAs tenham certas limitações. Devido ao tamanho mais pequeno dos CPLD, os circuitos não são tão determinísticos, o que pode complicar os cenários de temporização. No entanto, há uma série de vantagens associadas aos FPGAs, incluindo maior flexibilidade e segurança.
Os CPLD podem ser programados utilizando uma memória só de leitura programável apagável eletricamente, ao contrário dos FPGA, que dependem de uma memória estática de acesso aleatório. Consequentemente, os CPLD podem configurar-se a si próprios durante o arranque do sistema, ao passo que os FPGA têm de ser reconfigurados a partir de uma memória externa não volátil. Os CPLD são também mais eficientes do ponto de vista energético e térmico do que os FPGA.
Um CPLD é constituído por macrocélulas lógicas programáveis complexas que estão ligadas entre si por uma matriz de interligação. Esta matriz é reconfigurável e pode suportar projectos lógicos em grande escala e de alta velocidade. Uma utilização típica de um CPLD é como memória de configuração para FPGAs, como um carregador de arranque do sistema. Um CPLD tem uma memória não volátil, enquanto os FPGAs utilizam uma memória externa para carregar a configuração.
O CPLD é mais adequado para a lógica de temporização
O CPLD é um circuito integrado que pode efetuar múltiplas tarefas. A sua flexibilidade e programabilidade são reforçadas pela sua arquitetura Logic Doubling, que permite funções de duplo trinco por microcélula. Esta tecnologia permite um dispositivo mais pequeno com um amplo espaço para revisões. Os CPLD podem executar mais funções do que um CMOS tradicional, incluindo múltiplos feedbacks independentes, múltiplos recursos de encaminhamento e ativação de saída individual.
Os CPLD são mais flexíveis do que a lógica convencional, uma vez que não necessitam de memória de configuração externa. Ao contrário dos FPGAs, os CPLDs utilizam EEPROM, uma memória não volátil que retém a configuração mesmo quando o sistema é desligado.
Deixar uma resposta
Quer participar no debate?Não hesite em contribuir!