Here is a comprehensive study guide designed to help you master the concepts from your
lecture on Programmable Logic Devices (PLDs).
1. Introduction to Logic Devices
Digital logic devices are generally split into two main categories: Fixed Logic Devices and
Programmable Logic Devices.
Fixed Logic Devices
● Fixed logic systems have circuits with permanent configurations.
● Their instructions are designed to perform only a fixed set of operations repeatedly.
● Once these devices are manufactured and programmed, their logic cannot be altered.
● A major drawback is that a single manufacturing mistake, such as uploading the wrong
code, means the entire system must be discarded and redesigned.
● An example of a Fixed Logic Device is an Application Specific Integrated Circuit (ASIC).
Programmable Logic Devices (PLDs)
● A PLD is a digital integrated circuit that users can program to perform specific logical
functions.
● They allow you to implement custom logic circuits without having to design and fabricate
new hardware from scratch.
● Advantages of PLDs: They require less board space, are faster, and have lower power
requirements. They also result in less costly assembly processes and higher reliability
because having fewer integrated circuits and connections makes troubleshooting easier.
Furthermore, design software is available to help program them.
2. Simple Programmable Logic Devices (SPLDs)
SPLDs are basic devices used for implementing simple combinational logic circuits. They are
meant for small-scale designs and let users configure internal logic gate connections, though
they are not suited for complex systems. Users typically program the device's configuration
once during the design phase.
The Four Types of SPLDs:
1. Programmable Logic Array (PLA): Consists of a programmable array of AND gates
followed by a programmable array of OR gates. This allows full customization of both the
AND and OR planes, granting great flexibility to implement any Boolean function.
2. Programmable Array Logic (PAL): Features a programmable AND gate array but a fixed
OR gate array. This makes them less flexible than PLAs but easier to program and lower in
cost. They are well-suited for smaller circuits like address decoders or simple state
machines.
3. Generic Array Logic (GAL): Think of a GAL as a reprogrammable PAL. Because they can
be erased and reprogrammed, they are highly versatile and ideal for prototypes or
designs that require frequent updates.
4. Programmable Read-Only Memory (PROM): This is a type of memory that can be
programmed once. Architecturally, it has a fixed AND array and a programmable OR
array. It provides non-volatile storage and is often used to store firmware or fixed data
configurations.
3. Complex Programmable Logic Devices (CPLDs)
CPLDs are an advanced step up from SPLDs.
● They are built using multiple programmable logic blocks that are connected via an
interconnection matrix.
● This architecture allows them to handle medium-scale designs and more complex logic
functions than SPLDs.
● A key feature is that they are non-volatile, meaning they retain their configuration even
after the power is removed.
4. Field-Programmable Gate Arrays (FPGAs)
FPGAs are the most flexible and powerful PLDs.
● Architecture: They contain thousands to millions of Configurable Logic Blocks (CLBs)
connected by a programmable routing matrix or interconnects.
● Capabilities: They can implement incredibly complex logic, boast massive capacity
(millions of gates), and can be reprogrammed multiple times after deployment.
● Performance: FPGAs feature parallel processing capabilities, allowing them to run many
logic operations simultaneously, which is perfect for high-performance computing.
5. Comparing the Devices
Here is a quick breakdown of how these technologies compare based on the lecture:
● Density/Capacity: SPLDs have low capacity (a few hundred gates), CPLDs have low to
medium capacity (500–12,000 gates), and FPGAs have medium to very high capacity (up
to 5,000,000 gates).
● Speed & Timing: SPLDs are fast for simple operations, and CPLDs are fast and
deterministic due to simpler architecture. Both have predictable timing. FPGAs have
unpredictable timing and can be slower for some operations than CPLDs, but they make
up for it with parallel processing.
● Power Consumption: SPLDs consume the least power, CPLDs consume more, and
FPGAs consume the most power.
● Cost: SPLDs are low cost, CPLDs are moderate, and FPGAs are high cost due to their
complexity.
6. FPGAs vs. Microcontrollers & Microprocessors
Microcontroller (MCU) vs. FPGA:
● Structure: An MCU is like a simple computer on a single chip, complete with memory
and timers. It executes fixed instructions. An FPGA acts more like a net of switches with
no hardwired logic blocks, allowing the user to determine the logic.
● Limitations: MCUs are time-limited because clock frequencies have real physical limits.
FPGAs are space-limited; to do more work, you must add more circuits or buy a bigger
FPGA.
● Development: With MCUs, you can buy task-specific packages and program them
quickly. FPGAs take longer to program because you must write the code from scratch
using a low-level language called Hardware Description Language (HDL).
The Modern Solution (System-on-Chip): The lines between microprocessors and FPGAs are
blurring as manufacturers combine both into a single package, known as a System-on-Chip
(SoC). In these systems, the microprocessor handles general tasks while custom FPGA blocks
handle specific, unique, or mathematically heavy tasks. Examples include the Xilinx Zynq-7000
and the Altera Arria V, which embed ARM processors directly into the FPGA fabric.
7. Real-World Applications of FPGAs
Because of their high computational throughput and parallel processing, FPGAs are used
across many demanding fields:
● Emerging Tech: Artificial intelligence (AI), machine learning, and cryptography.
● Computing: High-performance computation, such as Microsoft using FPGAs to
accelerate its Bing search engine and Azure cloud workloads.
● Automotive: Advanced driver-assistance systems (ADAS) for real-time processing of
radar, cameras, and LIDAR sensors.
● Telecommunications: Base stations, routers, and switches for real-time data processing
and complex protocols.
● Aerospace and Defense: High-reliability systems like satellites, avionics, and defense
communication.
● Other Uses: Medical imaging, audio/video processing, and ASIC hardware prototyping.
Would you like me to quiz you on any specific section of this guide to help test your new
knowledge?