Related Concepts: 5.01 Arithmetic Circuits, Multipliers & Comparators | 5.02 Code Converters & Data Routing Implementations | 5.05 Application-Specific Word Problems

5.04 Programmable Logic Devices (ROM & PLA)

PLD Classifications

Programmable Logic Devices (PLDs) replace custom SSI logic networks with dense arrays of AND and OR gates connected via programmable fuses.

  • ROM: Fixed AND array (decoder) + Programmable OR array.
  • PAL: Programmable AND array + Fixed OR array.
  • PLA: Programmable AND array + Programmable OR array {maximum term-sharing flexibility}.
graph LR
    subgraph PLA Architecture
        Inputs[Inputs A B C] --> Buffers[Input Buffers / Inverters]
        Buffers --> ProgAND[Programmable AND Array: k Product Terms]
        ProgAND --> ProgOR[Programmable OR Array: m Outputs]
        ProgOR --> ProgInv[Programmable Output Inverters XOR/Fuses]
        ProgInv --> FinalOutputs[Outputs F1 F2]
    end

0. Distinguishing ROM, PAL and PLA

Exam Theory Question (PYQ 2024, 2025 — 06 marks)

Question (verbatim): Distinguish the operation of ROM and PLA.

FeatureROMPALPLA
AND arrayFixed — a full decoder generating all mintermsProgrammableProgrammable
OR arrayProgrammableFixedProgrammable
Product terms availableAll , whether needed or notLimited, fixed per outputChosen by the designer ( terms)
Term sharing between outputsNot applicable (every minterm exists)Not possible — each OR is dedicatedYes — one product term can feed several outputs
Simplification needed?No — plug the truth table in directlyYesYes, and both and should be tried
Silicon efficiencyPoor for sparse functions ( rows always present)MediumBest — only the needed terms are built
Typical useLook-up tables, code conversion, function tablesSimple glue logicMulti-output logic with shared terms

The one-sentence answer

“A ROM has a fixed AND array (a decoder producing every minterm) with a programmable OR array, whereas a PLA has both arrays programmable — so a PLA builds only the product terms actually needed and can share them across outputs.” Follow with the term-sharing consequence and you have the full 6 marks.


1. ROM Design: 3-Bit Input Square Generator

Five appearances, 8 to 13 marks

2015, 2017, 2020, 2021 and 2025 — identical wording each time.

Major PYQ Problem (PYQ 2015, 2020 — 12 marks; 2017 — 13 marks; 2021 — 08 marks; 2025 — 10 marks)

Question (verbatim): Design a combinational circuit using a ROM. The circuit accepts a 3-bit number and generates an output binary number equal to the square of the input number.

Solution & Optimization:

  • Inputs: 3 bits (, Max ).
  • Outputs: Max bits ().

Truth Table:

DecimalInputs ()Outputs ()
0 0 00 0 0 0 0 0
0 0 10 0 0 0 0 1
0 1 00 0 0 1 0 0
0 1 10 0 1 0 0 1
1 0 00 1 0 0 0 0
1 0 10 1 1 0 0 1
1 1 01 0 0 1 0 0
1 1 11 1 0 0 0 1

Circuit Hardware Optimization:

  • Notice directly {no ROM needed}.
  • Notice permanently {hardwired to Ground}.
  • ROM Size Required: to generate .

2. PLA Design: Shared Product Terms

Major PYQ Problem (PYQ 2015 — 12 marks; 2023 — 10 marks; 2024, 2025 — 11 marks)

Question (verbatim): A combinational circuit is defined by the functions: and . Implement the circuit with a PLA having three inputs, four product terms, and two outputs.

Why you must simplify both and

The constraint “four product terms” is the whole puzzle. Simplifying the two functions in their true form gives:

  • — three terms
  • — three terms

That is six distinct product terms, with nothing shared — it does not fit. So try the complements as well and look for overlap:

  • (no better)

Taking in complement form and in true form:

Now and are shared, and the total distinct terms are exactly four: . The PLA’s programmable output inverter restores from .

Solution:

The 4 distinct AND terms are: .

PLA Program Table:

Product TermInputs ()Outputs ()
1. - 0 01 1
2. 0 - 01 1
3. 0 0 -1 -
4. 1 1 1- 1
Output Mode:C T

Reading the table: a - in the input columns means that variable is absent from the product term; a 1 in an output column means that term feeds that output’s OR gate. The bottom row records whether each output is taken in Complement or True form.

Where PLA marks are lost

  • Not trying the complements. If your term count exceeds the budget, simplify and too and look for shared terms across the four candidate forms. The stated product-term limit is a hint that a complement is needed.
  • Forgetting the output-mode row. The C/T line is not decoration — without it the circuit computes , not . It is usually worth marks on its own.
  • Leaving the program table unlabelled. Draw the AND array, the OR array and the output inverters, and mark the programmed crosspoints. A bare list of equations does not demonstrate a PLA implementation.

Past Year Questions (PYQs)

Question (as asked)YearsMarksSolved in
Design a combinational circuit using a ROM that accepts a 3-bit number and generates its square2015, 2020 (12), 2017 (13), 2021 (8), 2025 (10)8–13§1
Implement , with a PLA having three inputs, four product terms, two outputs2015 (12), 2023 (10), 2024, 2025 (11)10–12§2
Distinguish the operation of ROM and PLA2024, 20256§0
Draw the block diagram of PLA20185§Abstract diagram
Define the following terms: … (iv) Decoder, (v) PLA2017part of 10§Abstract, §0

Pattern to notice: ROM and PLA together appear in every paper from 2015 to 2025, worth 15–20 marks combined when both show up. They are also the two most formulaic design questions in the course:

  • ROM — write the truth table, note that no simplification is required, state the ROM size. There is no K-map step at all.
  • PLA — simplify all four forms (, , , ), pick the combination that shares the most terms, then draw the program table with the C/T column.

Both questions reuse the same two functions year after year. Work §1 and §2 once each and the marks are effectively banked.