CSC417 Digital System Design

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:

  1. Programmable AND array (generates minterms).
  2. Programmable OR array (combines minterms to form sum-of-products (SOP)).
  3. Output stage (buffers or registers for sequential logic).
F1I1I2In
Simplified PLA architecture showing programmable AND/OR arrays generating SOP output.

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).
F1F2I1I2In
PAL architecture with fixed OR array (outputs can be combinational or registered).

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:

  1. Inputs: Sensor1, Sensor2, Timer.
  2. Outputs: Red, Yellow, Green.
  3. Logic:
    • If Sensor1 = 1 (car detected), set Green = 1 for Sensor1 lane.
    • Use registered outputs to store state for timing.
GreenRedPedestrianCarTimer
PAL implementation of a simplified traffic light controller.

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.
I/O BlocksExternal SignalsRouting MatricesInterconnectionsConfigurable Logic Blocks(CLBs)LUTs + Flip-FlopsMemory Blocks (BRAM)Storage
FPGA architecture hierarchy showing key components and their roles.

How FPGAs Work

  1. Design Entry: VHDL/Verilog code describes logic.
  2. Synthesis: Logic is converted to netlist (gates and connections).
  3. Place & Route: Netlist is mapped to CLBs and routing.
  4. 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

  1. Logic Design: Write Boolean equations or state diagrams.
  2. Minimization: Use Karnaugh maps or Quine-McCluskey to reduce terms.
  3. PLD Selection:
    • Use PLA for fully custom logic.
    • Use PAL for registered outputs.
    • Use FPGA for reconfigurable systems.
  4. Programming:
    • PLA/PAL: Use JEDEC files (fuse programming).
    • FPGA: Use VHDL/Verilog → synthesis tools (Xilinx Vivado, Intel Quartus).
  5. 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

  1. 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.
  2. 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.
  3. 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.
  4. 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

  1. Definitions & Differences:

    • Clearly distinguish PLA (fully programmable) vs. PAL (fixed OR array).
    • Explain FPGA reconfigurability vs. PLA/PAL one-time programming.
  2. Architecture Diagrams:

    • Draw AND/OR arrays for PLA/PAL.
    • Label CLBs, routing matrices, and I/O blocks for FPGAs.
  3. 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.
  4. Applications:

    • Link PLA/PAL to telecom/banking (eSewa, banks).
    • Link FPGAs to high-speed networks (Ncell, Google TPUs).
  5. 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…