
Programmable Logic Array (PLA)
Both the AND array and the OR array are programmable — flexible SOP 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
| Device | AND array | OR array |
|---|---|---|
| ROM | fixed | programmable |
| PLA | programmable | programmable |
| PAL | programmable | fixed |
Black-box view
Inputs on the left → outputs on the right · particles show signal direction
Functional / block diagram
Functional blocks · arrows animate in the direction data flows
Real-world applications
The 5 Whys
- 1
Why programmable AND? To make only the product terms you need.
- 2
Why share terms? Multi-output logic reuses common products.
- 3
Why not always PLA? Dense/arbitrary functions favor a ROM.
- 4
Why minimize first? To pick the smallest shared term set.
- 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.