These are devices that are used in electronic circuits to make reconfiguration of the same possible. The logical gates that are normally used perform a fixed function; however, the Programmable Logic Devices (PLD) do not perform any predefined task when manufactured and need to be programmed before they can be used.
Before the introduction of PLDs, ROM (Read Only Memories) was used. EPROM could be programmed using any standard hardware for that device and hence, did not require any other peripheral hardware. Another advantage of ROMs is that a particular binary code stored in it could be obtained on any of the n output lines available. Thus, they can be programmed in any way one wishes to. However, ROMs have some disadvantages when they are used as PLDs. They do not produce the outputs as quickly as other devices; they are not very dependable as far as asynchronous inputs are concerned; they require more power, etc.
The first PLD was the programmable logic array developed from ROAM (Read-Only Associative Memory) by modification of one of its metal layers and 17 inputs and 18 outputs.
Later another device was developed based on the PROM (Programmable Read-Only Memory) technology. This device made use of the UV erasure technology that had been introduced recently. One of the features of this device was that it implemented multi-level logical equations possible.
Next to come was the Programmable Associative Logic Array capable of masking certain inputs as and when required.
The programmable array logic is another type of PLD. These devices had a fixed array of OR gates and a programmable AND gate array. Thus, by making use of it, the implementation of every possible function is not possible. On the other hand, the architecture of these devices is simple.
These devices were further worked upon and improved, and thus, the Generic Array Logic (GAL) was formed. These devices were similar in functionality to the PALs but, could be erased and programmed again. They prove useful in debugging a particular program as they can be reprogrammed to suit one’s needs if some errors are found in the logic that has already been programmed.
To implement logical equations on a large scale, complex PLDs are used. They are capable of taking a large number of inputs and producing a large number of outputs. They can be programmed using the programmer used for PAL devices, but, the process becomes tedious and is usually avoided. Hence, it is usually programmed by soldering it to a circuit board and then, feeding the data into it by using a computer.
These devices prove to be very useful in the implementation of various circuits in digital signal processing. They can be used to apply various filters to the signal converted into the digital form.