Complex programmable logic device

Short description: Type of electronic component

An Altera MAX 7000-series CPLD with 2500 gates.

Die of an Altera EPM7032 EEPROM-based Complex Programmable Logic Device (CPLD). Die size 3446x2252 µm. Technology node 1 µm.

A complex programmable logic device (CPLD) is a programmable logic device with complexity between that of PALs and FPGAs, and architectural features of both. The main building block of the CPLD is a macrocell, which contains logic implementing disjunctive normal form expressions and more specialized logic operations.

## Contents

* 1 Features
* 2 Distinctions
* 3 See also
* 4 External links
* 5 References

## Features

Some of the CPLD features are in common with PALs:

* Non-volatile configuration memory. Unlike many FPGAs, an external configuration ROM isn't 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 with FPGAs:

* Large number of gates available. CPLDs typically have the equivalent of thousands to tens of thousands of logic 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 than sum-of-product expressions, including complicated feedback paths between macro cells, and specialized logic for implementing various commonly used functions, such as integer arithmetic.

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

CPLDs were an evolutionary step from even smaller devices that preceded them, PLAs (first shipped by Signetics), and PALs. These in turn were preceded by standard logic products, that 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, using wire wrap wiring).

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 use logic blocks.

## See also

* Language:
* VHSIC Hardware Description Language (VHDL)
* Verilog Hardware Description Language
* Standard Test and Programming Language (JAM/STAPL)
* Manufacturers:
* Altera (Now Intel)
* Cypress Semiconductor
* Lattice Semiconductor
* Microchip Technology (formerly Actel)
* Xilinx (Now AMD)
* Technology:
* Application-specific integrated circuit (ASIC)
* Erasable programmable logic device (EPLD)
* Simple programmable logic device (SPLD)
* Macrocell array
* Programmable array logic (PAL)
* Programmable logic array (PLA)
* Programmable logic device (PLD)
* Generic array logic (GAL)
* Programmable electrically erasable logic (PEEL)
* Field-programmable gate array (FPGA)

## External links

## References

1. ↑ "Complex Programmable Logic Device". blogspot.com. May 2008. http://only-vlsi.blogspot.com/2008/05/complex-programmable-logic-device.html.

* v
* t
* e

Programmable logic

Concepts|

* ASIC
* SoC
* FPGA
* Logic block
* CPLD
* EPLD
* PLA
* PAL
* GAL
* PSoC
* Reconfigurable computing
* Xputer
* Soft microprocessor
* Circuit underutilization
* High-level synthesis
* Hardware acceleration

Languages|

* Verilog
* A
* AMS
* VHDL
* AMS
* VITAL
* SystemVerilog
* DPI
* SystemC
* AHDL
* Handel-C
* PSL
* UPF
* PALASM
* ABEL
* CUPL
* OpenVera
* C to HDL
* Flow to HDL
* MyHDL
* JHDL
* ELLA

Companies|

* Accellera
* Actel
* Achronix
* AMD
* Aldec
* Atmel
* Cadence
* Cypress
* Duolog
* Forte
* Intel
* Altera
* Lattice
* National
* Mentor Graphics
* Microsemi
* Signetics
* Synopsys
* Magma
* Virage Logic
* Texas Instruments
* Tabula
* Xilinx

Products|

| Hardware|

* iCE
* Stratix
* Virtex

|

Software|

* Intel Quartus Prime
* Xilinx ISE
* Xilinx Vivado
* ModelSim
* VTR
* Simulators

IP|

| Proprietary|

* ARC
* ARM Cortex-M
* LEON
* LatticeMico8
* MicroBlaze
* PicoBlaze
* Nios
* Nios II

|

Open-source|

* JOP
* LatticeMico32
* OpenCores
* OpenRISC
* 1200
* RISC-V
* Zet

* v
* t
* e

Digital electronics

Components|

* Combinational logic
* Sequential logic
* Integrated circuit (IC)
* Logic gate

Theory|

* Digital signal
* Boolean algebra
* Logic synthesis
* Logic in computer science
* Computer architecture
* Digital signal
* Digital signal processing
* Circuit minimization
* Switching circuit theory

Design|

* Logic synthesis
* Place and route
* Placement
* Routing
* Register-transfer level
* Hardware description language
* High-level synthesis
* Formal equivalence checking
* Synchronous logic
* Asynchronous logic
* Finite-state machine
* Hierarchical state machine

Applications|

* Computer hardware
* Hardware acceleration
* Digital audio
* radio
* Digital photography
* Digital telephone
* Digital video
* cinema
* television
* Electronic literature

Design issues|

* Metastability
* Runt pulse

* v
* t
* e

Hardware acceleration

Theory|

* Universal Turing machine
* Parallel computing
* Distributed computing

Applications|

* GPU
* GPGPU
* DirectX
* Audio
* Digital signal processing
* Hardware random number generation
* Artificial intelligence
* Cryptography
* TLS
* Machine vision
* Custom hardware attack
* scrypt
* Networking

Implementations|

* High-level synthesis
* C to HDL
* FPGA
* ASIC
* CPLD
* System on Chip
* Network on Chip

Architectures|

* Data flow
* Transport triggered
* Multicore
* Manycore
* Heterogeneous
* In-memory computing
* Systolic array
* Neuromorphic

Related|

* Programmable logic
* Processor
* design
* chronology
* Digital electronics
* Virtualization
* Hardware emulation
* Logic synthesis
* Embedded systems

fr:Circuit logique programmable#CPLD

0.00

(0 votes)

Original source: https://en.wikipedia.org/wiki/Complex programmable logic device. Read more

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Complex_programmable_logic_device&oldid=3002900"
*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template