PLA vs ROM
ROM (Read Only Memory) and PLA (Programmable Logic Array) are used to implement logic functions. Both of them use the ‘Sum of Products’ logic configuration, which consists of a primary array of AND gates and a secondary array of OR gates. The OR function (Sum) is applied to outputs of AND (product) arrays.
ROM (Read Only Memory)
ROM is made of an AND gates array and OR gates array. AND array provides all the combinations of inputs, and OR array is used to select the necessary combinations. Therefore, AND array is always fixed. For example, in a three input (let say) system, AND array produces all the combinations (product terms) of ABC, ABC’, AB’C, AB’C’, A’BC, A’BC’, A’B’C, A’B’C’ where ’ implies the complement (NOT).
Then an OR gate can be used to select the necessary product terms to implement the given logic function. Any logic function of A, B, C can be implemented using those product terms.
f(A,B,C) = AB + BC = ABC + ABC’ + A’BC
Likewise an array of OR gates can implement an array of logic functions. Therefore ROM is used to store programs. Programming the ROM means configuring those OR array by selecting the necessary products.
PLA (Programmable Logic Array)
PLA too is made of two OR and AND arrays, but both the arrays are configurable unlike in ROM. This also provides a ‘Sum of Products’ term, but in a different way. Since terms for AND gates are also possible, it can give more product terms like AB, BC’, C etc. Therefore it is much easier to implement logic functions compared to ROM.
For example, AB + BC can be directly implemented by selecting A, B for one AND gate, B,C for another AND gate and making outputs of those AND gates to inputs of an OR gate.
What is the difference between ROM and PLA?
1. In PLA both AND and OR arrays are configurable unlike in ROM, whereas only the OR gates array is configurable.
2. PLA has the capability to take ‘don’t care terms’ (Boolean overlaps) into account in which ROMs are incapable.
3. ROM has all the combinations of product terms, and therefore, considered as the most general purpose combinational logic device in contrast to PLA, which doesn’t have all the combinations.