Programmable Logic Devices (PLD)
Programmable Logic Devices (PLD)
PLD
The first three varieties are quite similar to each other:
They all have an input connection matrix, which connects the inputs of the device to an array of ANDgates. They all have an output connection matrix, which connect the outputs of the AND-gates to the inputs of OR-gates which drive the outputs of the device.
PLD
The differences between the first three categories are these:
1. In a ROM, the input connection matrix is hardwired. The user can modify the output connection matrix. In a PAL/GAL the output connection matrix is hardwired. The user can modify the input connection matrix. In a PLA the user can modify both the input connection matrix and the output connection matrix.
Buffer/inverter
OR - PLD Notation
PROM Notation
A 2n m PROM
(a) (b)
An example of using a PAL device to realize two Boolean functions. (a) Karnaugh maps. (b) Realization.
(a) Maps showing the multiple-output prime implicants. (b) Partial covering of the f1 and f2 maps. (c) Maps for the multiple-output minimal sum. (d) Realization using a 3 4 2 PLA.
Karnaugh maps for the functions f1(x,y,z) = m(1,2,3,7) and f2(x,y,z) = m(0,1,2,6)
Two realizations of f1(x,y,z) = m(1,2,3,7) and f2(x,y,z) = m(0,1,2,6). (a) Realization based on f1 and f 2 (b) Realization based on f1 and f 2
What is an FPGA?
Before the advent of programmable logic, custom logic circuits were built at the board level using standard components, or at the gate level in expensive application-specific (custom) integrated circuits. FPGA is an integrated circuit that contains many (64 to over 10,000) identical logic cells that can be viewed as standard components. Each logic cell can independently take on any one of a limited set of personalities. Individual cells are interconnected by a matrix of wires and programmable switches. A user's design is implemented by specifying the simple logic function for each cell and selectively closing the switches in the interconnect matrix. Array of logic cells and interconnect form a fabric of basic building blocks for logic circuits. Complex designs are created by combining these basic blocks to create the desired circuit
FPGA architecture
what does
Field Programmable means that the FPGA's function is defined by a user's program rather than by the manufacturer of the device. A typical integrated circuit performs a particular function defined at the time of manufacture. In contrast, the FPGA's function is defined by a program written by someone other than the device manufacturer. Depending on the particular device, the program is either 'burned' in permanently or semi-permanently as part of a board assembly process, or is loaded from an external memory each time the device is powered up. This user programmability gives the user access to complex integrated designs without the high engineering costs associated with application specific integrated circuits.
FPGA
FPGA applications:i. DSP ii. Software-defined radio iii. Aerospace iv. Defense system v. ASIC Prototyping vi. Medical Imaging vii. Computer vision viii. Speech Recognition ix. Cryptography x. Bioinformatic xi. And others.
CPLD
1. Complexity of CPLD is between FPGA and PLD. 2. CPLD featured in common PLD:i. Non-volatile configuration memory does not need an external configuration PROM. ii. Routing constraints. Not for large and deeply layered logic.
CPLD
3. CPLD featured in common FPGA:i. Large number of gates available. ii. Can include complicated feedback path.
4. CPLD application:i. Address coding ii. High performance control logic iii. Complex finite state machines
CPLD
5. CPLD architecture:-
LAB Logic Array Block / uses PALs PIA Programmable Interconnect Array