Logo
All chapters
Volume II: Digital Logic  ›  Memory & Programmable Logic

Programmable Logic Array (PLA)

Both the AND array and the OR array are programmable — flexible SOP logic.

PrevRead-Only Memory
NextProgrammable Array Logic

Description

A PLA has a programmable AND array (to form any chosen product terms) feeding a programmable OR array (to sum them per output). Unlike a ROM, it does not generate all minterms — only the product terms you need — so it implements multi-output SOP functions compactly when terms can be shared.

  • AND array: choose which literals form each product term.
  • OR array: choose which product terms sum into each output.
  • Product terms can be shared across multiple outputs.
  • Size set by inputs, product terms, and outputs.
  • Outputs often have a programmable XOR for true/complement.
  • ROM: fixed AND (all 2^n minterms) + programmable OR.
  • PLA: programmable AND (only needed terms) + programmable OR.
  • PLA wins when far fewer than 2^n product terms are needed.
  • ROM wins when the function is dense/arbitrary.
  • PLA needs minimization to choose a good shared term set.

At a glance

What

A device with programmable AND and programmable OR arrays implementing SOP functions.

Why

It realizes multi-output logic with shared product terms, smaller than a ROM.

How

Program the AND array for needed product terms; program the OR array to sum them.

Where

Custom combinational logic, control decoding.

When

When functions share product terms and don't need all minterms.

Think of it like…

A PLA is a build-your-own sentence kit: you craft exactly the phrases (product terms) you need and combine them — instead of a ROM that pre-prints every possible sentence.

Both arrays programmable

  • AND array: choose which literals form each product term.
  • OR array: choose which product terms sum into each output.
  • Product terms can be shared across multiple outputs.
  • Size set by inputs, product terms, and outputs.
  • Outputs often have a programmable XOR for true/complement.

PLA vs ROM

  • ROM: fixed AND (all 2^n minterms) + programmable OR.
  • PLA: programmable AND (only needed terms) + programmable OR.
  • PLA wins when far fewer than 2^n product terms are needed.
  • ROM wins when the function is dense/arbitrary.
  • PLA needs minimization to choose a good shared term set.

Array programmability

DeviceAND arrayOR array
ROMfixedprogrammable
PLAprogrammableprogrammable
PALprogrammablefixed

Black-box view

InputsPLAblack boxSOP outputs

Inputs on the left → outputs on the right · particles show signal direction

Functional / block diagram

Inputs
Programmable AND
Programmable OR
Outputs

Functional blocks · arrows animate in the direction data flows

Real-world applications

Custom control logicAddress decodingMulti-output combinational blocks

The 5 Whys

  1. 1

    Why programmable AND? To make only the product terms you need.

  2. 2

    Why share terms? Multi-output logic reuses common products.

  3. 3

    Why not always PLA? Dense/arbitrary functions favor a ROM.

  4. 4

    Why minimize first? To pick the smallest shared term set.

  5. 5

    Root cause: two programmable arrays give compact, shared-term SOP logic.

Cheat sheet

Working principle

  • Program the AND array for needed product terms; program the OR array to sum them.
  • A device with programmable AND and programmable OR arrays implementing SOP functions.

Formulas & Boolean expressions

  • Output = OR of chosen product terms
  • Shared terms reduce array size
  • ROM: fixed AND (all 2^n minterms) + programmable OR.
  • PLA wins when far fewer than 2^n product terms are needed.

Key facts

  • AND array: choose which literals form each product term.
  • ROM: fixed AND (all 2^n minterms) + programmable OR.

Why it exists

  • Root cause: two programmable arrays give compact, shared-term SOP logic.
PrevRead-Only Memory
NextProgrammable Array Logic