# Programmable Logic Array

Programmable Logic Array(PLA) is a fixed architecture logic device with programmable AND gates followed by programmable OR gates.

PLA is basically a type of programmable logic device used to build reconfigurable digital circuit. PLDs have undefined function at the time of manufacturing but they are programmed before made into use. PLA is a combination of memory and logic.

**Comparison with other Programmable Logic Devices:**

- PLA has programmable AND gate array and programmable OR gate array.
- PAL has programmable AND gate array but fixed OR gate array.
- ROM has fixed AND gate array but programmable OR gate array.

PLA is similar to a ROM in concept; however it does not provide full decoding of variables and does not generate all minterms as in the ROM. Though its name consist of word “programmable”, it does not require any type of programming like in C and C++.

**Basic block diagram for PLA:**

Following Truth table will be helpful in understanding function on no of inputs-

F1 = AB’C’ + AB’C + ABC’ + ABC

on simplifying we get : F1 = AB’ + AC

F2 = A’BC + AB’C + ABC

on simplifying we get: F2 = BC + AC

**For realization of above function following circuit diagram will be used.**

PLA is used for implementation of various combinational circuits using buffer, AND gate and OR gate. In PLA, all the minterms are not realized but only required minterms are implemented. As PLA has programmable AND gate array and programmable OR gate array, it provides more flexibility but disadvantage is, it is not easy to use.

**Applications:**

- PLA is used to provide control over datapath.
- PLA is used as a counter.
- PLA is used as a decoders.
- PLA is used as a BUS interface in programmed I/O.

Don’t stop now and take your learning to the next level. Learn all the important concepts of Data Structures and Algorithms with the help of the most trusted course: **DSA Self Paced**. Become industry ready at a student-friendly price.

## Recommended Posts:

- Half Subtractor in Digital Logic
- Half Adder in Digital Logic
- Counters in Digital Logic
- Synchronous Sequential Circuits in Digital Logic
- Multiplexers in Digital Logic
- Full Adder in Digital Logic
- Full Subtractor in Digital Logic
- Introduction of Logic Gates
- Binary Decoder in Digital Logic
- Encoder in Digital Logic
- Functional Completeness in Digital Logic
- Ripple Counter in Digital Logic
- BCD Adder in Digital Logic
- Magnitude Comparator in Digital Logic
- Shift Registers in Digital Logic
- Programming Array Logic
- Consensus Theorem in Digital Logic
- n-bit Johnson Counter in Digital Logic
- Encoders and Decoders in Digital Logic
- Variable Entrant Map (VEM) in Digital Logic

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.