饭局狼人杀网页版:Difference between CPLD and FPGA

来源:百度文库 编辑:中财网 时间:2024/04/28 02:38:59
Difference between CPLD and FPGA
FPGAs and CPLDs are both programmable logic. The main distinction between FPGA and CPLD device architectures is that FPGAs are internally based on Look-up tables (LUTs) while CPLDs form the logic functions with sea-of-gates (e.g. sum of products). The most noticeable difference between a large CPLD and a small FPGA is the presence of onchip non-volatile memory in the CPLD. This distinction is rapidly becoming less relevant, as several of the latest FPGA products also offer models with embedded configuration memory.The characteristic of non-volatility makes the CPLD the device of choice in modern digital designs to perform 'boot loader' functions before handing over control to other devices not having this capability. A good example is where a CPLD is used to load configuration data for an FPGA from non-volatile memory.

CPLD :1.A complex programmable logic device (CPLD) is a programmable logic device with complexity between that of PALs and FPGAs The building block of a CPLD is the macrocell.

2.CPLDs are easy-to-understand AND-OR structure, offer a single-chip solution with fast pin-topin delays, even for wide input functions.
3. Once programmed, the design can be locked and thus made secure.
4.The limited complexity (<500 flip-flops) means that most CPLDs are used for "glue logic" functions.
5.Non-volatile configuration memory. Unlike many FPGAs, an external configuration ROM isn't required, and the CPLD can function immediately on system start-up.
6.For many CPLD devices, routing constrains most logic blocks to have input and output signalsconnected to external pins, reducing opportunities for internal state storage and deeply layered logic.
7.CPLDs have several programmable PLDs which are interconnected via a programmable connections at the global interconnection matrix.
8.In the CPLD way of programming several complete logic functions at once on inividual PLDs and then bringing these PLDs together via programmable connections.
FPGA:1.Field programmable gate array.FPGA is similar to that of larger CPLDs.
2.FPGAs offer much higher complexity, up to 150,000 flip-flops, and their idle power consumption is reasonably low.
3.Since the configuration bitstream must be reloaded every time power is re-applied, design security is an issue, but the benefits and opportunities of dynamic reconfiguration, even in the end-user system, are an important advantage.
4.FPGAs offer more logic flexibility and more sophisticated system features than CPLDs: clock management, on-chip RAM, DSP functions, (multipliers), and even on-chip microprocessors and Multi-Gigabit Transceivers.
5. Use FPGAs for larger and more complex designs.
6. FPGAs typically have range of gates from tens of thousands to several million.
7.FPGAs on the other hand have individual logic blocks - each block can be programmed to implement a logic function such as AND, OR, NOT etc. These blocks are then connected via programmable switches to implement complete logic functions.
8..In the FPGA way of programming individual AND, OR, NOT logic functions and then putting them together to implement a complete logic function.

NOTE:In general CPLDs are good choice for wide combinational logic applications while FPGAs are more suitable for large state machine.(i.e. microprocessor)
                                                                                                                                                 ~pgPosted by pratyush at 2:51 PM Email ThisBlogThis!Share to TwitterShare to Facebook Labels: CPLD