Programmable Array Logic (PAL)



In the previous chapter, we explained Programmable Logic Array (PLA) which is a first programmable logic device (PLD). This chapter will deal with another type of programmable logic device called Programmable Array Logic (PAL).

The primary difference between PLA and PAL is that in a PLA device, both AND array and OR array are programmable, whereas in the case of PAL, the OR array is fixed while the AND array is programmable. A programmable array logic (PAL) also consists of arrays of AND and OR gates.

The most significant advantage that the PAL has is that it is very easy to program, as it contains only a programmable AND gate array, although it is not as flexible as the PLA.

What is a PAL?

In the field of digital electronics, there are several different types of programmable logic devices or PLDs. The Programmable Array Logic (PAL) is also a type of PLD used to design and implement a variety of custom logic functions. These programmable array logic devices allow digital designers to develop complex logic structures with high flexibility and efficiency.

Construction-wise, a PAL device consists of an array of programmable AND gates connected to a fixed array of OR gates. This array structure helps to implement various logic functions by interconnecting the input lines, AND gates and OR gates.

Block Diagram of PAL

Similar to PLA, the Programmable Array Logic (PAL) is also a type of fixed architecture logic device having an array of programmable AND gates and an array of fixed OR gates as shown in the following figure −

Block Diagram of PA

From this block diagram, it can be seen that a PAL consists of the following three main components −

  • Input Buffers
  • AND Gate Array
  • OR Gate Array

These components are connected together through a programmed connection indicated by "X". In practice, these programmed connections can be made through EPROM cells or other programming technologies.

Combinational Logic Design Using PAL Devices

We can design combinational logic circuits using Programmable Array Logic (PAL) devices. While designing combinational logic using PAL, it is important to note that the Boolean expression in the sum products form must be simplified to fit into each section of the PAL.

Because the array of OR gates is fixed, the number of product terms fed to each OR gate cannot be changed. If there is a situation when the number of product terms are more, then the Boolean function must be implemented for that section.

Let us understand the combinational logic design using PAL devices with the help of examples.

Example

Consider a combinational logic circuit which has 3 inputs and 2 outputs. The logic functions for the outputs are given below. Implement this circuit using PAL.

$$\mathrm{X(A,B,C) \: = \: \sum \: m(1,2,4,6)}$$

$$\mathrm{Y(A,B,C) \: = \: \sum \: m(0,1,3,6,7)}$$

Solution

Obtaining the Boolean expressions for the given logic functions,

Combinational Logic Design Using PAL Devices

From these K-maps, we get,

$$\mathrm{X \: = \: A\overline{C} \: + \: B\overline{C} \: + \: \overline{A} \: \overline{B} C}$$

$$\mathrm{Y \: = \: \overline{A} \:\overline{B} \: + \: BC \: + \: AB}$$

Now, prepare the PAL program table for these output functions, which is given below −

Product Terms AND Gate Inputs
A B C
1 $\mathrm{A \: \overline{B}}$ 1 - 0
2 $\mathrm{B \: \overline{C}}$ - 1 0
3 $\mathrm{\overline{A} \: \overline{B} \: C}$ 0 0 1
4 $\mathrm{\overline{A} \: \overline{B}}$ 0 0 -
5 $\mathrm{B \: C}$ - 1 1
6 $\mathrm{A \: B}$ 1 1 -

Now, let's implement the PAL logic circuit as per this table. This circuit diagram is shown in the following figure −

PAL Logic Circuit Diagram

This is how we can implement a logic function using Programmable Array Logic (PAL).

Advantages of PAL

In the field of digital electronics, Programmable Array Logic (PAL) is widely used in combinational and sequential circuit designing due to the several advantages it offers.

  • PAL devices provide greater flexibility in design and implementation of custom logic functions, as it can be programmed by making interconnections between the input lines and the AND gates so that it can meet the requirements of a specific application.
  • PAL devices also provide less expensive ways of implementing complex logic functions. This is because PALs eliminate the requirement of custom fabrication processes due to its ability to program.
  • PALs also help to minimize the time required for developing and launching the electronic products.
  • Due to their high integration density, PALs allow for implementing multiple logic functions within a single device. Consequently, they help in developing compact and efficient designs.

Disadvantages of PAL

However, Programmable Array Logics (PALs) have several advantages as given above, but they also have some disadvantages as listed below −

  • PAL devices have some limitations in terms of complexity in the implementation of logic functions. This is because, a PAL contains a certain number of input lines, AND gates, and OR gates. Thus, if we need to implement a complex logic function, then we can require multiple PALs.
  • PAL devices have a fixed architecture which contains an array of fixed OR gates and an array of programmable AND gates. Therefore, these devices cannot be used to implement certain logic functions.
  • Since PALs have a finite number of input and output lines. This results in a limit in terms of the I/O connectivity of the electronic device.
  • It is very complex and time-consuming process to program a PAL device. It also requires some specialized tools and expertise.

Applications of PAL

Programmable Array Logics (PALs) are extensively used in a variety of applications in the field of digital electronics. Some common applications of PALs are listed below −

  • PALs are used in embedded systems for implementing control logics, providing interfacing between different components, sensors, and other subsystems, and performing various signal processing tasks like filtering, modulation, demodulation, signal conditioning, etc.
  • In communication systems, PALs are employed for implementing encoding and decoding algorithms, protocol processing, error detection and correction, multiplexing and demultiplexing, etc.
  • PALs are also used in the field of automotive electronics for implementing control logics for managing engine functions, fuel injection, emission control system, anti-lock braking system, audio system, navigation, and driver assistance system.
  • In industrial automation and robotics, the PALs play an important role, as they help to develop logic functions for controlling and monitoring industrial processes, sensors, and other components.
  • PALs are also used in consumer electronics like washing machines, microwave ovens, home automation systems, etc. to implement their control functions.

Conclusion

A PAL is a type of programmable logic device used to implement combinational and sequential logics and is used as a versatile device across a wide range of fields.

Due to its greater flexibility, easy programmability, and reliability, PAL has become an important tool in the field of digital electronics.

Advertisements