written 2.5 years ago by |
Solution:
All Programmable Logic Devices:
Many types of programmable logic are available, ranging from small devices that can replace a few fixed-function devices to complex high-density devices that can replace thousands of fixed-function devices.
Two major categories of user-programmable logic:
PLD (programmable logic device).
FPGA (field-programmable gate array).
(1) PLD (programmable logic device):
Two major categories of user-PLD (programmable logic device):
Simple Programmable Logic Device (SPLD).
Complex Programmable Logic Device (CPLD).
Simple Programmable Logic Device (SPLD):
The SPLD was the original PLD and is still available for small-scale applications.
Generally, an SPLD can replace up to ten fixed-function ICs and their interconnections, depending on the type of functions and the specific SPLD.
Most SPLDs are in one of two categories: PAL and GAL. A PAL (programmable array logic) is a device that can be programmed one time.
It consists of a programmable array of AND gates and a fixed array of OR gates, as shown in Figure (a). A GAL (generic array logic) is a device that is basically a PAL that can be reprogrammed many times.
It consists of a reprogrammable array of AND gates and a fixed array of OR gates with programmable outputs, as shown in Figure (b).
Complex Programmable Logic Device (CPLD):
As technology progressed and the amount of circuitry that could be put on a chip (chip density) increased, manufacturers were able to put more than one SPLD on a single chip and the CPLD was born.
Essentially, the CPLD is a device containing multiple SPLDs and can replace many fixed-function ICs.
Figure shows a basic CPLD block diagram with four logic array blocks (LABs) and a programmable interconnection array (PIA).
Depending on the specific CPLD, there can be from two to sixty-four LABs. Each logic array block is roughly equivalent to one SPLD.
Generally, CPLDs can be used to implement any of the logic functions discussed earlier, for example, decoders, encoders, multiplexers, demultiplexers, and adders.
They are available in a variety of configurations, typically ranging from 44 to 160 pin packages. Examples of CPLD packages are shown in Figure.
(2) Field-Programmable Gate Array (FPGA):
An FPGA is generally more complex and has a much higher density than a CPLD, although their applications can sometimes overlap.
As mentioned, the SPLD and the CPLD are closely related because the CPLD basically contains a number of SPLDs.
The FPGA, however, has a different internal structure (architecture), as illustrated in Figure. The three basic elements in an FPGA are the logic block, the programmable interconnections, and the input/output (I/O) blocks.
The logic blocks in an FPGA are not as complex as the logic array blocks (LABs) in a CPLD, but generally there are many more of them. When the logic blocks are relatively simple, the FPGA architecture is called fine-grained.
When the logic blocks are larger and more complex, the architecture is called coarse-grained.
The I/O blocks are on the outer edges of the structure and provide individually selectable input, output, or bidirectional access to the outside world.
The distributed programmable interconnection matrix provides for interconnection of the logic blocks and connection to inputs and outputs.
Large FPGAs can have tens of thousands of logic blocks in addition to memory and other resources. A typical FPGA ball-grid array package is shown in Figure. These types of packages can have over 1000 input and output pins.