A Programmable Logic Array therefore, comprises of a PLA chip having a fixed wiring structure of AND gates followed by OR gates that can be programmed. PLA is a type of programmable logic device to construct a reconfigurable digital circuit on its architecture. It includes memory as well as logical operation which enable the user to instruct the device to perform certain operations of logic. As indicated by many authors, PLAs themselves are not configured with a specific function at the time of manufacturing and are configured before use.
What is Programmable Logic Array?
A Programmable Logic Array (PLA) is the implementation of the combinational logic circuits using a programmable type of a digital logic device. There is a programmable AND gate array with a programmable OR gate inputted thereafter, a feature that enables users to specify the required custom logic. PLAs tend to be more versatile due to their capability of being programmed to operate multiple logic functions and hence can be used in the designing of specific hardware solutions.
Comparison with other Programmable Logic Devices
- PLA has a programmable AND gate array and programmable OR gate array.
- PAL has a programmable AND gate array but a fixed OR gate array.
- ROM has a 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 consists of the word "programmable", it does not require any type of programming like in C and C++.
Features of Programmable Logic Array
- Programmable AND and OR Gates: PLA has two types of arrays, namely programmable AND gate array and programmable OR gate array so that the logic circuits can be designed in any way.
- Reconfigurability: As compared with other logic devices, the operation of PLAs is highly flexible and these devices may be easily programmed to perform any of the numerous logical functions.
- Partial Minterm Generation: It is also to be noted here that PLA does not provide the full decoding of variables like ROM but it functions only the necessary minterms.
- Combination of Memory and Logic: PLA has both the memory and the logic features hence making it suitable for various applications.
Basic Block Diagram for PLA

Following Truth table will be helpful in understanding function on no of inputs:
A | B | C | F1 | F2 |
---|
0 | 0 | 0 | 0 | 0 |
---|
0 | 0 | 1 | 0 | 0 |
---|
0 | 1 | 0 | 0 | 0 |
---|
0 | 1 | 1 | 1 | 0 |
---|
1 | 0 | 0 | 0 | 1 |
---|
1 | 0 | 1 | 1 | 1 |
---|
1 | 1 | 0 | 0 | 0 |
---|
1 | 1 | 1 | 1 | 1 |
---|
F1 = 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 the realization of the above function following circuit diagram will be used.

PLA is used for the implementation of various combinational circuits using a buffer, AND gate, and OR gate. In PLA, all the minterms are not realized but only required minterms are implemented. As PLA has a programmable AND gate array and a programmable OR gate array, it provides more flexibility but the disadvantage is, it is not easy to use.
The Operation of a PLA can be Summarized in Three Steps
1. Programming: The user defines the logic function to be implemented by the PLA by programming the input and output configurations into the device.
2. Product term generation: The inputs are applied to the AND gate array to produce a set of product terms.
3. Sum term generation: The product terms are then applied to the OR gate array to generate the final output.
PLAs are often used in digital systems as they are versatile and allow complex functions to be implemented easily. They are particularly useful for implementing Boolean expressions with many variables as the arrays of AND gates and OR gates can be configured to handle large numbers of inputs.
Applications of Programmable Logic Array
- PLA is used to provide control over datapath.
- PLA is used as a counter.
- PLA is used as a decoder.
- PLA is used as a BUS interface in programmed I/O.
Advantages of Programmable Logic Array
- Flexibility: Both the programmable AND gates and also the programmable OR gates offer the beneficial benefits of being used in a number of combinational circuits.
- Efficient Minterm Usage: It will only implement the necessary minterms thus making the design compact and more efficient.
- Reconfigurability: The PLAs can be reconfigured to perform different logic functions depending with the requirements of an application.
Disadvantages of Programmable Logic Array
- Complexity: PLAs are slightly different from other programmable logic devices due to their high flexibility that makes the usage of PLAs a little complicated.
- Cost: It has higher cost as compared to the least complex logic devices such as PALs but it offers programming and flexible control.
Conclusion
Programmable Logic Arrays (PLAs) are one of the typical categories of programmable devices, offering the possibility to construct variable digital systems. Being equipped with their programmable AND and OR gates, the functionality of PLAs is to implement several types of combinational logic functions are present. These are employed in many incidences like control over datapath, counters, decoder, and BUS interfaces. As it is evident, HDFSs have many advantages over other storage technologies; however, they are more complicated and costly, and are not as convenient as solutions with a relatively lower level of sophistication.
Similar Reads
Programming Array Logic
Programmable Array Logic (PAL) is a commonly used programmable logic device (PLD). It has programmable AND array and fixed OR array. Because only the AND array is programmable, it is easier to use but not flexible as compared to Programmable Logic Array (PLA). PAL's only limitation is number of AND
5 min read
array::operator[ ] in C++ STL
Array classes are generally more efficient, light-weight, and reliable than C-style arrays. The introduction of array class from C++11 has offered a better alternative for C-style arrays. array::operator[] This operator is used to reference the element present at position given inside the operator.
2 min read
Program to Implement Logic Gates
In a computer, most of the electronic circuits are made up logic gates. Logic gates are used to create a circuit that performs calculations, data storage or shows off object-oriented programming especially the power of inheritance. Logic gates can also be constructed using vacuum tubes, electromagne
8 min read
Array Multiplier in Digital Logic
An array multiplier is a digital combinational circuit used for multiplying two binary numbers by employing an array of full adders and half adders. This array is used for the nearly simultaneous addition of the various product terms involved. To form the various product terms, an array of AND gates
3 min read
Difference between Programmable Logic Array and Programming Array Logic
Programmable Logic Array (PLA) and Programming Array Logic (PAL) are the categories of programming logic devices. In PLA or Programmable Logic Array, there are massive functions can be implemented. Whereas in PAL or Programmable Array Logic, there is finite functions can be implemented. The distinct
5 min read
Perl | Arrays
In Perl, array is a special type of variable. The array is used to store the list of values and each object of the list is termed as an element. Elements can either be a number, string, or any type of scalar data including another variable. Example: @number = (50, 70, 46); @names = ("Geeks", "For",
6 min read
Program to make a histogram of an array
Given an array of integers, print histogram of array values. Examples:Input : 0 11 2 13 5 12 8 11 12 9Output : 13 | x 12 | x x x 11 | x x x x x 10 | x x x x x 9 | x x x x x x 8 | x x x x x x x 7 | x x x x x x x 6 | x x x x x x x 5 | x x x x x x x x 4 | x x x x x x x x 3 | x x x x x x x x 2 | x x x x
6 min read
Practice questions on Arrays
In this article, we will discuss some important concepts related to arrays and problems based on that. Before understanding this, you should have basic idea about Arrays.Type 1. Based on array declaration - These are few key points on array declaration: A single dimensional array can be declared as
6 min read
C# Arrays
An array is a group of like-typed variables that are referred to by a common name. And each data item is called an element of the array. The data types of the elements may be any valid data type like char, int, float, etc. and the elements are stored in a contiguous location. Length of the array spe
8 min read
4 Dimensional Array in C/C++
Prerequisite :Array in C/C++, More on array A four-dimensional (4D) array is an array of array of arrays of arrays or in other words 4D array is a array of 3D array. More dimensions in an array means more data be held, but also means greater difficulty in managing and understanding arrays. Declarati
3 min read