Programmable Array Logic

💡
Key learnings:
  • Programmable Array Logic Definition: Programmable Array Logic (PAL) is a type of Programmable Logic Device (PLD) used to implement specific logical functions.
  • Structure and Components: PALs have an AND gate array followed by an OR gate array, with only the AND gate array being programmable.
  • Programming Mechanism: Inputs are connected to the AND gates through a programmable matrix, allowing users to set specific connections.
  • Logic Function Realization: The outputs from the AND gates are fed to fixed OR gates, resulting in logic functions in sum-of-products form.
  • Programming Languages Used: PALs can be programmed using languages like PALASM, CUPL, and ABEL.

Programmable Array Logic (PAL) is defined as a type of Programmable Logic Device (PLD) used to implement specific logical functions. PALs consist of an AND gate array followed by an OR gate array. Only the AND gates array is programmable, while the OR gate array has fixed logic. Inputs are fed to the AND gates through fuses, which act as programmable links. This structure makes PALs less flexible than Programmable Logic Arrays (PLAs) but also less expensive.

programmable array logic
Figure 2 shows the internal structure of a PAL with m inputs and n outputs. Each input line passes through buffers or inverters. All inputs are connected to every AND gate in the PAL.

Further this connection matrix is programmable (red box in Figure 2) which lets the user to decide the connection between the input lines and the AND gates. This means that one has to connect each and every input line to either single or multiple AND gate(s), depending on the logic. This causes one to realize the logical ‘and’ functionality between the input lines. Further the outputs of the AND gate array are fed as inputs to the OR gates via hard-wired connections (shown by blue box in Figure 2), which are fixed and hence unalterable. Moreover it is to be noted that the output of every AND gate is not fed to every OR gate. For example, OR gate 1 (O1) is has multiple inputs including the outputs of AND gate 1 (A1), AND gate 2 (A2) and AND gate p (Ap).

OR gate n (On) has only two inputs from AND gates A1 and Ap. Because these connections are fixed, careful attention is needed to achieve the logical ‘or’ functionality of the outputs from the AND gate array.
programmable array logic
Finally, there are n output lines from the OR gate array, resulting in n outputs in sum-of-products (SOP) form. The PAL in Figure 2 is described as an m-input, p-product-term, n-output PAL. The number of inputs, AND gates, and OR gates in a PAL are independent, so a PAL could have 3 inputs, 8 AND gates, and 4 outputs (and thus 4 OR gates).

All PALs can be electrically programmed using bit files through device programmers. Further device feeders and gang programmers can be used in order to program more than one PAL. Common programming languages in use include PAL assembler (PALASM), Compiler for Universal Programmable Logic (CUPL) and Advanced Boolean Expression Language (ABEL).

Want To Learn Faster? 🎓
Get electrical articles delivered to your inbox every week.
No credit card required—it’s 100% free.

About Electrical4U

Electrical4U is dedicated to the teaching and sharing of all things related to electrical and electronics engineering.

Leave a Comment