What is a Programmable Array Logic
Programmable array logic (PAL) is a large scale integrated programmable logic device that is used for the synthesis of combinational as well as sequential logic. A PAL consists of a programmable AND gate array followed by a fixed OR gate array. This means that the PAL can be programmed to generate the required product terms in the AND gate array but the outputs of the AND gate array are connected in a fixed manner to the different OR gates of the OR gate array. Thus there is no need to find any common product terms between the different output logic functions and all the output functions are synthesized in their minimum sum of product forms.
Because of this one step programming in a PAL, it is very easy to automate the whole design process in case of these chips. This has made PAL the most popular LSI based solution for implementation of digital logic.
The size of a PAL is specified in terms of the following parameters:-
Number of Inputs Number of Outputs Number of inputs to each OR gate Total number of Product terms
Because of the high popularity of these chips, many new features now come in-built in these LSI chips. Some of these features are:-
Active low outputs Active high outputs EX-OR/EX-NOR outputs Programmable Input/output Registered Outputs
The programmable Input/output function can allow the user to use a pin either as input or output pin depending upon the desire requirement. This is used by introducing a tri-state buffer in to the design and by using an enable signal to control the function of the pin.
The registered output function is another powerful feature of a PAL chip. In this function, the output is fed in to an inbuilt flip-flop and the output of the flip-flop is available to the user while the complimentary output of the flip-flop is fed back implicitly in to the chip as input to the AND gate array. This allows these outputs to be used as state machine variables and thus allows the synthesis of both the combinational and sequential part of a digital state machine in a single chip. Usually a PAL has some outputs as pure combinational outputs while some are registered in nature.