What are FPGA and CPLD?
A FPGA or Field Programmable Gate Array is an integrated circuit designed to be configured after manufacturing, hence it is called field programmable. FPGAs contain programmable logic components termed as “logic blocks”, and a hierarchy of reconfigurable interconnects that allow the blocks to be “wired together”. This logic blocks can be configured to perform complex combinational functions or merely simple logic gates. In most FPGAs, the logic blocks also include memory elements. The FPGA has this definite advantage that it can be programmed or updated by the user at site for which the recurring cost remains insignificant in reference to an ASIC design. The ASIC designs also have a unit price tag in the higher side. Therefore FPGAs offer various advantages to numerous applications.
The full form of CPLD is Complex Programmable Logic Device. It is a programmable logic device. It has the architectural features of both PAL and FPGA but less complex than FPGA. Macro cell is the building block of CPLD, which contains logic implementing disjunctive normal form expressions and more specialized logic operations.
The difference between FPGA and CPLD
The primary differences between CPLD and FPGA are architectural. A CPLD has a restrictive structure which results in less flexibility. The FPGA architecture is dominated by interconnect which makes them not only far more flexible but also far more complex to design.
Most FPGAs have higher-level functions like adders, multipliers and embedded memories, also logic blocks, which implement decoders or mathematical functions. This is not the case with CPLDs.
The major difference between the architecture of FPGA and CPLD device is that FPGAs are internally based on Look-up tables (LUTs) while CPLDs form the logic functions with sea-of-gates.
The difference between FPGA and Microcontroller.
A microcontroller is computing system. Microcontroller has lots of hierarchical rules and commands over its input and output. It has its own processing unit. Microprocessor can perform loops, timings, conditioned branching, and calculations like a small PC under program control. Microprocessors are used where the operation is relatively complex but processing speed relatively less than FPGA. FPGA is only an array of gate that can be connected as the user wishes. FPGA is no computing system. FPGA are used for relatively simpler operations but higher processing speed in comparison to microcontrollers.
The applications of FPGA in Embedded System.
The part played by FPGA in context of embedded system is getting more crucial every day. This is due to the reason that capability of FPGA is on the rise and now it has powerful FPGA design software as well. The digital video application domain is the main consumer for FPGA systems and is instrumental in increasing its market share as well as forcing development in FPGA for bigger spectrum of applications. In current years FPGA is finding its application for fast signal processing. FPGA is an embedded platform with soft processors. This makes it possible to design FPGA based system on design applications. The decreasing price and increasing size and capability combined with an easier designing software tools is positioning FPGA in the embedded system context to take up a crucial role.
People who love an Embedded System must ever written a program to run in the microcontroller.Today I will suggest some good embedded development board for people who interesting in ARM7/ARM9. These development board is rather high performance an all of them are 32-bit platform, of course they are not too expensive for you to buy them!
For a long time I have developed ARM7 embedded system , I think the ARM7 LPC2478/LPC2378 from NXP is a good one to study and the development board I recommand is as below
The above link may be changed or deleted, so I recommend you to search for the arm7 from the seller name “esky-sh” instead because this seller is selling ARM7 development board.
1. http://tinyurl.com/losvak (this board can develop with uClinux as well as C for ARM)
About the ARM9 development board , I found them a lot on ebay and almost of them used the Samsung S3C2440 as the main MPU (microcontroller processing unit) as below.
but I also recommend this seller ->>
that is esky-sh
Another interesting one is the product from www.tincantools.com. The development board from Tin Can Tools was developed as the separated embedded module so It will be easy for integrate the other embedded module to it because it come with prototyping board!!!
Of course, you can find this interesting board from www.tincantools.com