Programmable Logic DevicesPublished on 24/2/2012 and last updated on Thursday 17th of May 2018 at 05:58:02 PM
Types of Programmable Logic Devices
Programmable Logic Array (PLA)This device comprises of programmable AND gate and OR gate arrays which are to be configured by the user to obtain the output.
Programmable Array Logic (PAL)PALs use an OR gate array with fixed logic while an AND gate array which can be programmed as per the requirement of the user. As a result, these devices express the output as a combination of inputs in sum-of-products form.
Generic Logic Array (GLA)These devices had their properties similar to those of PALs in addition to which they were electrically erasable and re-programmable. This important feature proved to be meritorious as it considerably eased the prototype design which in turn reduced the time to market.
Complex Programmable Logic Device (CPLD)CPLDs are denser than PALs and comprise of a large number of programmable logical elements. The interconnection between these macro cells is to be established by the user through the interconnecting network. Here sum-of-product establishing logical elements are combined together to form structures in order to reduce the number of input-output (IO) pins. This facilitates the implementation of more complex logic design with slightly worse propagation time when compared to that of PALs. These offer predictable timing characteristics making them most suitable for critical control applications with high performance. CPLDs are preferred to implement combinational logic based designs.
Field Programmable Gate Array (FPGA)FPGAs are based on gate array technology unlike the PROM technology of early PLDs. These devices comprise of configurable logic blocks (CLBs) along with an interconnection matrix running in-between. FPGAs work based upon the look-up tables (LUTs) and the flip-flops which form a part of CLB. The user has to program the CLBs to perform a certain logical function and then use the interconnection matrix to connect one or more logic blocks together. Further, they comprise of input-output (I/O) ports facilitating the design both from the point of programming as well as debugging.
These devices are capable of implementing state-machine based sequential designs along with the designs based on combinational logic. FPGAs are used to realize more complex designs when compared to CPLDs due to their high density. Moreover, FPGAs offer the customer the flexibility to design/re-design the logic even after being deployed in the work field which gives them the name field-programmable. However, FPGAs have larger propagation delays when compared to CPLDs. All of these PLDs are programmable using device programs which transfer the Boolean logic pattern onto the programmable device.