Table of contents
1.
Introduction
2.
What is a Programmable Logic Array?
3.
Comparison with other Programmable Logic Devices 
4.
Features of Programmable Logic Array 
5.
Basic Block Diagram for PLA 
6.
Applications of Programmable Logic Array
7.
Disadvantages of Programmable Logic Array 
8.
Frequently Asked Questions 
8.1.
Can PLAs be reprogrammed multiple times? 
8.2.
Are PLAs suitable for implementing sequential logic functions?
8.3.
How do PLAs compare to microcontrollers or processors for logic implementation?
9.
Conclusion
Last Updated: Oct 15, 2024
Easy

Programmable Logic Array

Author Riya Singh
0 upvote
Career growth poll
Do you think IIT Guwahati certified course can help you in your career?

Introduction

Programmable Logic Arrays (PLAs) are digital devices that help implement combinational logic circuits by allowing users to program both AND & OR gates. These devices become very popular due to their flexibility & reconfigurability, which makes them suitable for various digital applications. 

Programmable Logic Array

In this article, we'll understand what a Programmable Logic Array is, how it works, & the features that make it unique. 

What is a Programmable Logic Array?

A Programmable Logic Array (PLA) is an integrated circuit used in digital electronics to implement custom combinational logic functions. It consists of a set of AND & OR gates that can be configured to perform specific logical operations. The PLA structure allows designers to create complex logic by programming which inputs go to which gates, & how they are combined to produce the desired output.

In simple terms, PLAs are like blank logic circuits that can be customized to meet the needs of a particular project. Unlike hard-wired logic circuits, PLAs offer the advantage of re-programmability, allowing changes or improvements to be made after the initial design phase.

PLAs are used in applications where flexibility is important, like in prototyping, where multiple configurations are tested to determine the most effective one. They are often used in combination with other types of programmable logic devices to meet more advanced requirements.

Comparison with other Programmable Logic Devices 

Programmable Logic Arrays (PLAs) are a kind of device used to create digital circuits, like building electronic designs with customizable building blocks. They are one type of other programmable logic devices (PLDs), like Programmable Array Logic (PAL) and Field Programmable Gate Arrays (FPGA). Each type has unique features that make them better suited for certain tasks or applications. Let’s see how they are different from each other : 

  • PLAs have both programmable AND & OR arrays, offering flexibility in implementing combinational logic functions.
     
  • PALs have a programmable AND array but a fixed OR array, providing less flexibility than PLAs but faster performance & smaller size.
     
  • FPGAs consist of an array of configurable logic blocks (CLBs) connected via programmable interconnects, offering the highest level of flexibility & logic density but with increased complexity & cost compared to PLAs & PALs.
     
  • PLAs are slower & consume more area than PALs but offer more flexibility in output logic configuration.
     
  • FPGAs provide the most flexibility & logic density but are more complex & expensive than PLAs & PALs.
     
  • PLAs are well-suited for implementing combinational logic functions of moderate complexity, while FPGAs can handle both combinational & sequential logic, including memory blocks & digital signal processing (DSP) units.
     
  • PLAs & PALs use fuses, antifuses, or special programmers for programming, while FPGAs utilize SRAM, antifuses, or flash memory for configuration.

Features of Programmable Logic Array 

PLAs has many important features that make them useful for implementing combinational logic functions like : 

  1. Programmability: PLAs allow users to program the interconnections between the AND & OR arrays, enabling the implementation of various logic functions.
     
  2. Flexibility: With both programmable AND & OR arrays, PLAs provide a high level of flexibility in designing combinational logic circuits.
     
  3. Simplicity: PLAs have a simple & regular structure, consisting of two programmable arrays, making them easier to understand & work with compared to more complex programmable devices.
     
  4. Multiple inputs & outputs: PLAs can handle multiple input variables & generate multiple output functions simultaneously.
     
  5. Sum-of-Products (SOP) realization: PLAs are well-suited for realizing logic functions in the sum-of-products (SOP) form, where the outputs are expressed as the logical OR of product terms.
     
  6. Fuse or antifuse technology: PLAs often use fuse or antifuse technology for programming the interconnections. Fuses can be blown to create open circuits, while antifuses can be programmed to create short circuits.
     
  7. Reprogrammability: Some PLAs offer the ability to reprogram the device multiple times, allowing for design changes & updates.
     
  8. Cascading capability: PLAs can be cascaded or connected in series to implement more complex logic functions that exceed the capacity of a single PLA.

Basic Block Diagram for PLA 

A basic block diagram of a PLA consists of three main components:

  1. Input buffer: The input buffer is responsible for receiving the input signals & distributing them to the programmable AND array. It ensures that the input signals have the proper voltage levels & drive strength.
     
  2. Programmable AND array: The programmable AND array is a matrix of AND gates that can be programmed to generate product terms. Each AND gate in the array has inputs connected to the input buffer & programmable connections to the input signals. By programming these connections, specific product terms can be generated based on the desired logic function.
     
  3. Programmable OR array: The programmable OR array is a matrix of OR gates that can be programmed to combine the product terms generated by the AND array. Each OR gate in the array has inputs connected to the outputs of the AND array & programmable connections to the product terms. By programming these connections, the desired output functions can be obtained.
Block Diagram for PLA

In addition to these main components, PLAs may have:

4. Output buffer: The output buffer receives the signals from the programmable OR array & provides the necessary drive strength & voltage levels for the output signals.
 

5. Feedback paths: Some PLAs may include feedback paths from the outputs back to the inputs, allowing for the implementation of sequential logic functions.

Applications of Programmable Logic Array

PLAs find applications in various areas of digital electronics & logic design. Some common applications include:

1. Combinational logic implementation: PLAs are primarily used to implement combinational logic functions. They can realize complex Boolean expressions, such as those involving multiple inputs & outputs, in a compact & efficient manner.
 

2. Decoders: PLAs can be used to design decoders, which are circuits that convert binary coded inputs into individual output lines. Decoders are commonly used in memory addressing & data demultiplexing applications.
 

3. Encoders: PLAs can also be used to design encoders, which are circuits that convert individual input lines into a binary coded output. Encoders are used in applications such as priority encoders & keyboard encoding.
 

4. Multiplexers & demultiplexers: PLAs can implement multiplexers, which select one of several input signals based on a control signal, & demultiplexers, which route a single input signal to one of several outputs based on a control signal.
 

5. Control logic: PLAs can be used to implement control logic in digital systems. They can generate control signals based on input conditions & state information, facilitating the sequencing & coordination of various system components.
 

6. Instruction decoders: In microprocessors & microcontrollers, PLAs can be used to decode instructions. The instruction decoder takes the binary instruction code as input & generates control signals to direct the operation of the processor.
 

7. Glue logic: PLAs can serve as glue logic, interfacing different components in a digital system. They can provide the necessary logic to adapt & connect components with different input/output requirements.
 

8. Finite state machines: While PLAs are primarily used for combinational logic, they can also be used to implement simple finite state machines (FSMs) by utilizing feedback paths & additional logic.

Advantages of Programmable Logic Array 

  1. Flexibility: PLAs provide a high degree of flexibility in designing logic functions. With programmable AND & OR arrays, designers can easily implement a wide range of combinational logic circuits without the need for individual logic gates.
     
  2. Ease of design: PLAs have a regular & structured architecture, which simplifies the design process. Designers can express the desired logic functions in terms of Boolean expressions or truth tables & directly map them onto the PLA's programmable arrays.
     
  3. Reduced complexity: PLAs can replace multiple individual logic gates & simplify complex logic circuits. By using a PLA, designers can reduce the overall complexity of the system, leading to improved reliability & reduced debugging efforts.
     
  4. Cost-effective: For implementing complex combinational logic functions, PLAs can be more cost-effective compared to using discrete logic gates or custom integrated circuits. PLAs provide a good balance between flexibility & cost, especially for low-to-medium production volumes.
     
  5. Faster time-to-market: PLAs allow for faster design & prototyping cycles. With the ability to program & reprogram PLAs, designers can quickly modify & iterate on their designs without the need for expensive & time-consuming fabrication processes.
     
  6. Scalability: PLAs can be cascaded or connected in series to implement larger & more complex logic functions. This scalability allows designers to handle increasing design requirements without significant changes to the underlying hardware.
     
  7. Power efficiency: PLAs can offer power efficiency advantages over discrete logic implementations. By reducing the number of individual components & optimizing the logic design, PLAs can help minimize power consumption in digital circuits.

Disadvantages of Programmable Logic Array 

  1. Speed: PLAs are generally slower compared to fixed-function logic circuits or custom integrated circuits. The programmable nature of PLAs introduces additional delays due to the presence of programmable interconnects & the need for signal propagation through multiple logic levels.
     
  2. Size: PLAs can be larger in terms of silicon area compared to dedicated logic circuits. The programmable arrays & interconnects require additional space on the chip, which can be a concern for applications with stringent size constraints.
     
  3. Power consumption: Although PLAs can offer power efficiency advantages over discrete logic implementations, they may consume more power compared to custom integrated circuits optimized for a specific function. The additional circuitry required for programmability & the presence of unused logic elements can contribute to increased power consumption.
     
  4. Limited complexity: PLAs are best suited for implementing combinational logic functions of moderate complexity. As the complexity of the logic function increases, the size & delay of the PLA may become prohibitive. For highly complex logic functions or those requiring sequential logic, other programmable devices like FPGAs or custom ASICs may be more appropriate.
     
  5. Programming overhead: Implementing logic functions using PLAs requires programming the device, which involves specifying the connections in the AND & OR arrays. This programming overhead can add to the development time & effort, especially for designs with frequent changes or updates.
     
  6. Cost: While PLAs can be cost-effective for low-to-medium production volumes, they may not be the most economical choice for high-volume production. In such cases, custom integrated circuits or dedicated logic solutions may offer better cost efficiency.
     
  7. Limited availability: The availability of PLAs has decreased over time, as more advanced programmable devices like FPGAs & CPLDs have gained popularity. This limited availability can impact the long-term support & sourcing options for PLA-based designs.

Frequently Asked Questions 

Can PLAs be reprogrammed multiple times? 

Some PLAs offer reprogrammability, allowing designers to modify the logic functions by reprogramming the device. However, the reprogrammability options may vary depending on the specific PLA and the programming technology used, such as fuses, antifuses, or EEPROM.

Are PLAs suitable for implementing sequential logic functions?

PLAs are primarily designed for implementing combinational logic functions. While it is possible to implement simple sequential logic functions using PLAs by incorporating feedback paths and additional logic, PLAs are not the most efficient choice for complex sequential circuits. In such cases, other programmable devices like FPGAs or CPLDs are more suitable.

How do PLAs compare to microcontrollers or processors for logic implementation?

PLAs are specialized devices optimized for implementing combinational logic functions. They offer faster performance and lower power consumption compared to using microcontrollers or processors for the same task. However, microcontrollers and processors provide more flexibility and can handle a wider range of tasks, including sequential logic, data processing, and control functions.

Conclusion

In this article, we have talked about the Programmable Logic Arrays (PLAs) and their role in digital electronics. PLAs offer a flexible and efficient solution for implementing combinational logic functions by providing programmable AND and OR arrays. We have discussed the basic structure, features, and applications of PLAs, highlighting their advantages like flexibility, ease of design, and cost-effectiveness for low-to-medium production volumes.

You can also check out our other blogs on Code360.

Live masterclass