Digital System DesignUnit 613 min read
PLDs: PLA, PAL, FPGAs – Architecture, Design & Applications
Unit 6 of Digital System Design explores Programmable Logic Devices (PLDs), covering PLA (Programmable Logic Array), PAL (Programmable Array Logic), and FPGAs (Field-Programmable Gate Arrays)—their architecture, design techniques, and real-world applications in digital systems, including minimization, state encoding, a
TAKEAWAYS:
- PLA and PAL are mask-programmable PLDs with fixed AND/OR arrays, while FPGAs are reconfigurable with logic blocks and interconnects.
- PLA has fully programmable AND and OR arrays, while PAL has a fixed OR array and programmable AND array.
- FPGAs use CLBs (Configurable Logic Blocks), routing matrices, and memory blocks for flexible logic implementation.
- Applications: PLA/PAL in telecom switches, FPGAs in high-speed networking (Ncell routers), and AI accelerators (Google TPUs).
- Design flow: Logic minimization → PLD programming → Verification (simulation, synthesis).
- Exam focus: Compare PLA vs. PAL, FPGA architecture, and state encoding for FSMs in PLDs.
1. Introduction to Programmable Logic Devices (PLDs)
PLDs are integrated circuits designed to implement custom digital logic without hardwiring. They replace discrete logic gates or SSIs/MSIs (Small/Medium-Scale Integration) by providing programmable arrays of logic gates. PLDs are classified into:
- Mask-programmable (one-time programmable, e.g., PLA, PAL).
- Field-programmable (reconfigurable, e.g., FPGAs, CPLDs).
Why Use PLDs?
- Cost-effective for low-to-medium volume production.
- Faster prototyping than ASICs (Application-Specific ICs).
- Flexibility to update logic without redesigning hardware.
2. PLA (Programmable Logic Array)
Definition & Architecture
A PLA consists of:
- Programmable AND array (generates minterms).
- Programmable OR array (combines minterms to form sum-of-products (SOP)).
- Output stage (buffers or registers for sequential logic).
How PLA Works
- AND array: Each input line can be connected or disconnected to generate product terms.
- OR array: Each product term can be included or excluded in the final output.
- Example: Implementing (XOR gate).
Advantages & Disadvantages
| Advantages | Disadvantages |
|---|---|
| Fully programmable AND/OR | Higher power consumption |
| Suitable for complex logic | Slower than FPGAs for large designs |
| Used in telecom switches | Limited reconfigurability |
Real-World Example: eSewa Payment Gateway
- PLA/PAL chips are used in hardware security modules (HSMs) to validate OTP (One-Time Password) logic.
- The AND/OR arrays encode cryptographic functions (e.g., SHA-256 hashing) for transaction verification.
- Why PLA? Fixed logic for high-speed validation without software delays.
3. PAL (Programmable Array Logic)
Definition & Architecture
A PAL is similar to PLA but with:
- Fixed OR array (only programmable AND array).
- Outputs can be combinational or registered (for sequential logic).
Types of PALs
| Type | Description | Example Use Case |
|---|---|---|
| PAL16L8 | 16 inputs, 8 outputs (combinational) | NTC traffic light controllers |
| PAL20L10 | 20 inputs, 10 outputs (registered) | Bank ATM transaction logic |
| Complex PAL | Multiple output macrocells | Pathao ride-matching algorithms |
Worked Example: Traffic Light Controller (NTC)
Problem: Design a PAL to control traffic lights with 3 states (Red, Yellow, Green) based on sensor inputs (car presence). Solution:
- Inputs:
Sensor1,Sensor2,Timer. - Outputs:
Red,Yellow,Green. - Logic:
- If
Sensor1 = 1(car detected), setGreen = 1forSensor1lane. - Use registered outputs to store state for timing.
- If
PAL Programming:
- AND array: Generate minterms like
Sensor1·Timer. - OR array: Combine to produce
Green = Sensor1·Timer + Sensor2·¬Timer.
4. FPGA (Field-Programmable Gate Array)
Definition & Architecture
An FPGA is a reconfigurable PLD with:
- Configurable Logic Blocks (CLBs): Contain LUTs (Look-Up Tables) and flip-flops.
- Routing matrices: Interconnect CLBs.
- I/O blocks: Interface with external signals.
- Memory blocks (BRAM): For storage.
How FPGAs Work
- Design Entry: VHDL/Verilog code describes logic.
- Synthesis: Logic is converted to netlist (gates and connections).
- Place & Route: Netlist is mapped to CLBs and routing.
- Configuration: FPGA is programmed via JTAG or configuration memory.
Advantages & Disadvantages
| Advantages | Disadvantages |
|---|---|
| Reconfigurable (update logic in field) | Higher cost than PLA/PAL |
| High performance (parallel processing) | Higher power consumption |
| Used in AI/ML accelerators (Google TPUs) | Steeper learning curve |
Real-World Example: Ncell 5G Base Stations
- FPGAs are used for real-time signal processing in 5G modems.
- Why FPGA?
- Reconfigurable to adapt to new modulation schemes (e.g., 5G NR).
- Parallel processing for beamforming (directing signals to users).
- Low-latency routing for voice/data traffic.
Worked Example: Daraz Order Queue System (Simplified)
- Problem: Model a priority queue for orders using an FPGA.
- Solution:
- Use CLBs to implement a priority encoder.
- Flip-flops store order IDs.
- LUTs determine priority based on order time and customer tier.
5. Comparison: PLA vs. PAL vs. FPGA
| Feature | PLA | PAL | FPGA |
|---|---|---|---|
| Programmability | Fully programmable AND/OR | Programmable AND, fixed OR | Fully reconfigurable |
| Speed | Moderate | Faster than PLA | Very fast (parallel processing) |
| Flexibility | Low (one-time programmable) | Medium (registered outputs) | High (reprogrammable) |
| Complexity | High (complex logic) | Medium (macrocells) | Very high (CLBs, routing) |
| Power | High | Medium | High (but configurable) |
| Cost | Low (for fixed logic) | Medium | High (but reusable) |
| Example Use | Telecom switches (NTC) | ATM machines (banks) | AI chips (Google TPUs), 5G modems |
6. Design Flow for PLDs
- Logic Design: Write Boolean equations or state diagrams.
- Minimization: Use Karnaugh maps or Quine-McCluskey to reduce terms.
- PLD Selection:
- Use PLA for fully custom logic.
- Use PAL for registered outputs.
- Use FPGA for reconfigurable systems.
- Programming:
- PLA/PAL: Use JEDEC files (fuse programming).
- FPGA: Use VHDL/Verilog → synthesis tools (Xilinx Vivado, Intel Quartus).
- Verification:
- Simulation (ModelSim, ISim).
- Prototyping (FPGA development boards).
Example: WhatsApp Message Encryption (Simplified)
- PLA/PAL could encode AES (Advanced Encryption Standard) for low-power devices.
- FPGA is used in data centers for real-time encryption/decryption of messages.
- Why FPGA?
- Parallel AES cores for high throughput.
- Reconfigurable to update encryption standards.
7. Fault Detection in PLDs
PLDs can have programming errors or hardware faults. Common techniques:
- Built-in Self-Test (BIST): Tests logic after programming.
- Redundancy: Duplicate critical paths in FPGAs.
- Configuration Verification: Checksums for FPGA bitstreams.
Example: Kathmandu Traffic Light Failure
- PLA/PAL in traffic controllers may fail due to power surges.
- Solution: Use watchdog timers (implemented in FPGA) to reset logic if stuck.
In the Real World
eSewa & Khalti (Nepal)
- PLA/PAL chips are used in hardware security modules (HSMs) to validate OTP logic for payments.
- How? The AND/OR arrays encode cryptographic hashing (e.g., SHA-256) to verify user inputs before processing transactions.
Ncell 5G Network
- FPGAs handle real-time signal processing in 5G base stations.
- How? The CLBs implement OFDM (Orthogonal Frequency-Division Multiplexing) for high-speed data transmission, while BRAM stores user profiles for dynamic routing.
Daraz & Pathao (Logistics)
- FPGAs optimize order routing in delivery systems.
- How? A priority encoder (CLB-based) selects the nearest delivery agent based on GPS data and traffic conditions, reducing delivery time.
Nepal Stock Exchange (NEPSE)
- PALs are used in trading terminals to validate buy/sell orders in microseconds.
- How? The registered outputs store order queues, and the fixed OR array ensures FIFO (First-In-First-Out) processing to prevent fraud.
Exam Tip
What Examiners Look For
Definitions & Differences:
- Clearly distinguish PLA (fully programmable) vs. PAL (fixed OR array).
- Explain FPGA reconfigurability vs. PLA/PAL one-time programming.
Architecture Diagrams:
- Draw AND/OR arrays for PLA/PAL.
- Label CLBs, routing matrices, and I/O blocks for FPGAs.
Worked Examples:
- PLA/PAL: Implement a traffic light controller or simple FSM.
- FPGA: Describe how a priority encoder or AES core is mapped to CLBs.
Applications:
- Link PLA/PAL to telecom/banking (eSewa, banks).
- Link FPGAs to high-speed networks (Ncell, Google TPUs).
Common Pitfalls:
- Don’t confuse PLA and PAL (PAL has fixed OR array!).
- Don’t forget registered outputs in PALs for sequential logic.
- FPGAs are not ASICs—they have configurable delays and power overhead.
Model Answer Structure for Exam Questions
Question: "List out the differences between PAL and PLA." Answer:
| Feature | PLA | PAL |
|---|---|---|
| AND Array | Programmable | Programmable |
| OR Array | Programmable | Fixed |
| Flexibility | High (fully custom) | Medium (macrocells) |
| Speed | Slower (complex routing) | Faster (fixed OR) |
| Use Case | Complex logic (telecom) | Registered outputs (ATMs) |
Question: "Write short notes on FPGA." Answer: An FPGA (Field-Programmable Gate Array) is a reconfigurable PLD consisting of:
- CLBs (Configurable Logic Blocks): Contain LUTs and flip-flops.
- Routing matrices: Interconnect CLBs dynamically.
- I/O blocks: Interface with external signals. Applications: Used in 5G modems (Ncell), AI accelerators (Google TPUs), and real-time signal processing. Advantages: Reprogrammable, high performance; Disadvantages: Higher cost, power consumption.
Final Checklist Before Exam
✅ Can you draw the architecture of PLA, PAL, and FPGA? ✅ Can you compare PLA vs. PAL vs. FPGA in a table? ✅ Can you implement a simple logic function (e.g., XOR) in PLA/PAL? ✅ Can you explain how FPGAs are used in Ncell 5G or eSewa HSMs? ✅ Do you know the design flow (minimization → programming → verification)?
Based on the TU BSc CSIT syllabus for Digital System Design (CSC417), unit 6.
Discussion
Loading…