Jump to content

Complex programmable logic device

From Wikipedia, the free encyclopedia
(Redirected fromCPLD)
AnAlteraMAX 7000-series CPLD with 2500 gates.
Dieof anAlteraEPM7032EEPROM-based Complex Programmable Logic Device (CPLD). Die size 3446x2252 μm. Technology node 1 μm.

Acomplex programmable logic device(CPLD) is aprogrammable logic devicewith complexity between that ofPALsandFPGAs,and architectural features of both. The main building block of the CPLD is amacrocell,which contains logic implementingdisjunctive normal formexpressions and more specialized logic operations.

Features

[edit]

Some of the CPLD features are in common withPALs:

  • Non-volatile configuration memory. Unlike many FPGAs, an external configurationROMis not required, and the CPLD can function immediately on system start-up.
  • For many legacy CPLD devices, routing constrains most logic blocks to have input and output signals connected to external pins, reducing opportunities for internal state storage and deeply layered logic. This is usually not a factor for larger CPLDs and newer CPLD product families.

Other features are in common withFPGAs:

  • Large number of gates available. CPLDs typically have the equivalent of thousands to tens of thousands oflogic gates,allowing implementation of moderately complicated data processing devices. PALs typically have a few hundred gate equivalents at most, while FPGAs typically range from tens of thousands to several million.
  • Some provisions for logic more flexible thansum-of-productexpressions, including complicated feedback paths between macro cells, and specialized logic for implementing various commonly used functions, such asintegerarithmetic.

The most noticeable difference between a large CPLD and a small FPGA is the presence of on-chip non-volatile memory in the CPLD, which allows CPLDs to be used for "boot loader"functions, before handing over control to other devices not having their own permanent program storage. A good example is where a CPLD is used to load configuration data for an FPGA from non-volatile memory.[1]

Distinctions

[edit]

CPLDs were an evolutionary step from even smaller devices that preceded them:PLAs(first shipped bySignetics) andPALs.These in turn were preceded bystandard logicproducts, which offered no programmability and were used to build logic functions by physically wiring several standard logic chips (or hundreds of them) together (usually with wiring on a printed circuit board or boards, but sometimes, especially for prototyping, usingwire wrapwiring).

The main distinction between FPGA and CPLD device architectures is that CPLDs are internally based on a collection of PLDs accompanied by a programmable interconnection structure, while FPGAs uselogic blocks.

See also

[edit]

References

[edit]
  1. ^"Complex Programmable Logic Device".blogspot. May 2008.Retrieved2013-11-17.