PLD stands for Programmable Logic Device. A Programmable Logic Device is an individual, programmable electronic chip which can be used as an element to build digital circuits that can be reconfigured. Programmable Logic Devices have programmable elements that can be modified and programmed using a special program even after the product left the manufacturing site. Compared to a PLD, a typical ASIC/chip consists of logic gates and has a fixed function that it has been designed and programmed to perform one functionality. Unlike these typical integrated circuits, Programmable Logic Devices can be reconfigured to perform various functions based on the requirements of the user.
Programmable logic devices contain multiple logic elements such as flip flops as well as AND and OR gates which can be configured by the user. The internal logic and connections may be modified by the user during the programming process which is done using a dedicated software application.
Programmable logic devices sometimes consist of a number of fuses which are intact in the original, unprogrammed PLD. when you are programming the logic device, and confirming the interconnections, you essentially blow out the fuses to make the connections permanent in a particular configuration as per your design.
In order to program a Programmable logic device, you need to make sure that you are using the right software and the right language to communicate with the technology. You will most likely be using a hardware description language, or HDL. If you are looking for a higher level language for complex devices, you can use the likes of VHDL or Verilog.
You would also need a device programmer in order to move the logic pattern that you have designed in the given hardware language onto the Programmable logic device.
There are several different types of Programmable Logic Devices, each of which has various programmable features. They are as follows:
In a typical Programmable Read Only Memory, or PROM, the input is fed into a fixed AND array which acts as the decoder, and then is processed through a programmable OR array before giving the output.
A Programmable Array Logic, or PAL device comprises of a programmable AND array and then fixed OR array in that sequence. As such, the output of these devices would be the combination of the inputs in the form of sum of products. These devices usually have an array of transistor cells.
A PLA, or Programmable Logic Array, comprises of two programmable AND and OR arrays one after the other, sandwiched between the input and the outputs.
In a CPLD, or a Complex Programmable Logic Device, there is a set of blocks, each comprising of Programmable logic devices which are then connected by a global interconnection matrix. As a user, you have the ability to program the individual Programmable logic device blocks, as well as the interconnects that adjoin the various PLD blocks with each other. Read more about CPLDs here.
FPGAs typically consist of a programmable logic matrix, a programmable routing matrix, and programmable inputs/outputs. The programmable logic structure is basically a two dimensional array of logic blocks which can be configured by the user. The programmable routes are the routing channels and connection or switch boxes that connect the various blocks and pins together in the circuit. Ultimately, you can also configure the I/O buffer pins and determine which pins on the chip function as the input pins, output pins, or the I/O pins. Read more about FPGAs here.
Programmable logic devices have enabled many users, designers, and manufacturers to come up with incredibly innovative and phenomenal technology that is centered around producing logic based solutions across a variety of applications. The reduced power consumption, lower cost amount, and integration of so many features that are simply not a possibility with most of the other alternatives, all make Programmable logic devices a much favored and preferred option for multiple users belonging to a number of different backgrounds and industries.