Difference Between FPGA and CPLD
With all the vast improvements in technology, a lot has been happening that most people won’t really care about. But for engineers and software developers, digital logic chips needs a lot of thorough consideration.
FPGAs and CPLDs are two of the well-known types of digital logic chips. When it comes to the internal architecture, the two chips are obviously different.
FPGA, short for Field-Programmable Gate Array, is a type of a programmable logic chip. It is great chip as it can be programmed to do almost any kind of digital function. FPGA’s architecture allows the chip to have a very high logic capacity. It is used in designs that require a high gate count and their delays are quite unpredictable because of its architecture. The FPGA is considered as ‘fine-grain’ because it contains a lot of tiny logic blocks that could reach up to 100,000. It is with flip-flops, combination logic, and memory. It is designed for more complex applications.
On the other hand, CPLD (Complex Programmable Logic Device) are designed using EEPROM. It is more suitable in small gate count designs and since it is has a less complex architecture, the delays are much predictable and it is non-volatile. CPLD is often used for simple logic applications. It contains only a few blocks of logic ‘“ but larger — that reaches up to 100. Having said that, CPLDs are considered as ‘coarse-grain’ type of devices. CPLDs offers a much faster input to output duration because of its simpler, ‘coarse grain’ architecture.
Perhaps, due to its much simpler architecture, the CPLDs are cheap. Although cheaper if purchased per gate, FPGAs are more expensive particularly if availed based on per package.
Working with FPGAs requires special procedures as it is RAM-based. To program the device, you have to first describe the ‘logic function’ with the use of computer, either by drawing a schematic or simply describing the function on a text file. Compilation of the ‘logic function’ is required usually with aid of software. It creates a binary file to be downloaded into the FPGA. In effect, the chip will behave just what you have instructed in the ‘logic function’.
Deciding on what to use, whether FPGA or CPLD, would really depend on the design goals.
1. FPGA contains up to 100,000 of tiny logic blocks while CPLD contains only a few blocks of logic that reaches up to a few thousands.
2. In terms of architecture, FPGAs are considered as ‘fine-grain’ devices while CPLDs are ‘coarse-grain’.
3. FPGAs are great for more complex applications while CPLDs are better for simpler ones.
4. FPGAs are made up of tiny logic blocks while CPLDs are made of larger blocks.
5. FPGA is a RAM-based digital logic chip while CPLD is EEPROM-based.
6. Normally, FPGAs are more expensive while CPLDs are much cheaper.
7. Delays are much more predictable in CPLDs than in FPGAs.
Search DifferenceBetween.net :
Email This Post : If you like this article or our site. Please spread the word. Share it with your friends/family.